Auto Conflict Policy

Overview

Use the Auto Conflict Policy API to create, retrieve, modify, or remove BIG-IQ import-deploy conflict resolution policy to resolve conflicts which arise when importing or re-importing changed AFM objects or changed LTM AddressList objects. You can specify the conflict resolution policy to be “USE_BIGIQ”, “USE_BIGIP” or “NONE”. The value “USE_BIGIQ” means the objects on the BIG-IQ will be used. The value “USE_BIGIP” means the objects on the BIG-IP will be used. If you specify “NONE”, and import conflicts exist, the BIG-IQ UI displays a conflicts dialog which must be resolved by the user manually. By using this API when importing or re-importing changed AFM objects or changed LTM AddressList objects, you can prevent the display of the conflicts dialog and resolve the conflicts with the specified policy automatically. You can also use this API to disable the deployment of AddressList objects through LTM.

REST Endpoint: /mgmt/cm/shared/import-deploy-settings

Requests

POST /mgmt/cm/shared/import-deploy-settings

You can send a POST request to the import-deploy-settings endpoint to create import-deploy conflict resolution policy.

Request Parameters

Name Type Required Description
name string True Identifies the kind of setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
value string True For an afmAutoConflictPolicy setting, the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For a disableAddressListDeploy setting, the possible values are “true” or “false”.

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
name string Identifies the kind of setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
uuid string A UUID which uniquely identifies the setting.
value string For an afmAutoConflictPolicy setting, the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For a disableAddressListDeploy setting, the possible values are “true” or “false”.
selfLink string The URL for this setting.

Permissions

Role Allow
Admin Yes

GET /mgmt/cm/shared/import-deploy-settings

You can send a GET request to the import-deploy-settings endpoint to retrieve all the import-deploy settings.

Request Parameters

None

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
Items object A collection of settings.
     name string Identifies the kind of setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
     uuid string The UUID which uniquely identifies the setting.
     value string For an afmAutoConflictPolicy setting, the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For a disableAddressListDeploy setting, the possible values are “true” or “false”.
     selfLink string The URL for this setting.

Permissions

Role Allow
Admin Yes

GET /mgmt/cm/shared/import-deploy-settings/<uuid>

You can send a GET request to the import-deploy-settings endpoint, with the <uuid> of the setting, to retrieve a specific setting.

Request Parameters

None

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
name string Identifies the setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
uuid string The UUID which uniquely identifies the setting.
value string The the value of the setting. For afmAutoConflictPolicy the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For disableAddressListDeploy the possible values are true or false.
selfLink string The URL for this setting.

Permissions

Role Allow
Admin Yes

PUT /mgmt/cm/shared/import-deploy-settings

You can send a PUT request to the import-deploy-settings endpoint to update a specified import-deploy setting.

Request Parameters

Name Type Required Description
name string True Identifies the kind of setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
uuid string True The UUID which uniquely identifies the setting.
value string True The the value of the setting. For an afmAutoConflictPolicy setting, the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For a disableAddressListDeploy setting, the possible values are “true” or “false”.

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
name string Identifies the setting. This value can be “afmAutoConflictPolicy” to indicate an Auto Conflict Policy setting. This value can be “disableAddressListDeploy” to indicate a disable Address List Deploy setting.
uuid string The UUID which uniquely identifies the setting.
value string The the value of the setting. For an afmAutoConflictPolicy setting, the possible values are “NONE”, “USE_BIGIQ”, or “USE_BIGIP”. For a disableAddressListDeploy setting, the possible values are “true” or “false”.
selfLink string The URL for this setting.

Permissions

Role Allow
Admin Yes

DELETE /mgmt/cm/shared/import-deploy-settings

You can send a DELETE request to the import-deploy-settings endpoint, with the <uuid> of the setting, to delete a specific record.

Request Parameters

Name Type Required Description
uuid string True The UUID which uniquely identifies the setting.

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
uuid string The UUID which uniquely identifies the setting.

Permissions

Role Allow
Admin Yes

Examples

POST to create an import-deploy conflict resolution policy

The following example sends a POST request to create an import-deploy conflict resolution policy.

POST https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/

The JSON in the body of the POST can look similar to the following example.

{
    "name": "afmAutoConflictPolicy",
    "value": "USE_BIGIQ"
}

Response

The response to the POST can look similar to the following.

HTTP/1.1 200 OK

{
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "name": "afmAutoConflictPolicy",
    "value": "USE_BIGIQ",
    "generation": 1,
    "lastUpdateMicros": 1587978251595665,
    "kind": "cm:shared:import-deploy-settings:importdeploysettingsstate",
    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings/d32a12db-0f6a-323f-956d-b69a754e0abc"
}

GET to list all import-deploy conflict resolution policy

The following example sends a GET request to retrieve a list of all settings.

GET https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/

Response

The JSON in the body of the response to the GET can look similar to the following.

HTTP/1.1 200 OK

{
    "items": [{
                    "kind": "cm:shared:import-deploy-settings:importdeploysettingsstate",
                    "name": "afmAutoConflictPolicy",
                    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
                    "value": "USE_BIGIP",
                    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings/d32a12db-0f6a-323f-956d-b69a754e0abc",
                    "generation": 2,
                    "lastUpdateMicros": 1593503047521205
            },
            {
                    "kind": "cm:shared:import-deploy-settings:importdeploysettingsstate",
                    "name": "disableAddressListDeploy",
                    "uuid": "b5652a7a-a387-3a56-9a15-79fbb84591bd",
                    "value": "false",
                    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings/b5652a7a-a387-3a56-9a15-79fbb84591bd",
                    "generation": 1,
                    "lastUpdateMicros": 1593418508313832
            }
    ],
    "generation": 34,
    "kind": "cm:shared:import-deploy-settings:importdeploysettingscollectionstate",
    "lastUpdateMicros": 1593503052357673,
    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings"
}

GET to list a specific import-deploy conflict resolution policy

The following example sends a GET request to retrieve the setting identified by it identifier. In the following example the value of the uuid for the setting is “d32a12db-0f6a-323f-956d-b69a754e0abc”.

GET https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/"d32a12db-0f6a-323f-956d-b69a754e0abc"

Response

The JSON in the body of the response to the GET can look similar to the following.

HTTP/1.1 200 OK

{
    "kind": "cm:shared:import-deploy-settings:importdeploysettingsstate",
    "name": "afmAutoConflictPolicy",
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "value": "USE_BIGIQ",
    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings/d32a12db-0f6a-323f-956d-b69a754e0abc",
    "generation": 2,
    "lastUpdateMicros": 1593594970431003
}

PUT to modify an import-deploy conflict resolution policy

The following example sends a PUT request to modify an import-deploy conflict resolution policy.

PUT https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/

The JSON in the body of the PUT can look similar to the following example.

{
    "name": "afmAutoConflictPolicy",
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "value": "USE_BIGIP"
}

Response

The response to the PUT can look similar to the following.

HTTP/1.1 200 OK

{
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "name": "afmAutoConflictPolicy",
    "value": "USE_BIGIP",
    "generation": 3,
    "lastUpdateMicros": 1587981010020011,
    "kind": "cm:shared:import-deploy-settings:importdeploysettingsstate",
    "selfLink": "https://localhost/mgmt/cm/shared/import-deploy-settings/e02ac68d-6cc2-3639-adec-5b4755d55e8a"
}

PUT to modify an import-deploy conflict resolution policy (with non-admin error)

The user must be an admin to use the Auto Conflict Policy API. The following example demonstrates the response if a non-admin user attempts to send a PUT request to modify an import-deploy conflict resolution policy.

PUT https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/

The JSON in the body of the PUT can look similar to the following example.

{
    "name": "afmAutoConflictPolicy",
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "value": "NONE"
}

Response (with non-admin error)

If the request was sent by a non-admin user, the operation fails, and the JSON in the body of the response can provide some additional information about the error.

HTTP/1.1 403 Forbidden

{
    "code": 403,
    "message": "not authorized",
    "referer": "172.18.234.55",
    "restOperationId": 15532126,
    "errorStack": [],
    "kind": ":resterrorresponse"
}

PUT to modify an import-deploy conflict resolution policy (with invalid value error)

The user must provide one of the valid values for value to use the Auto Conflict Policy API. The following example demonstrates the response if an admin user attempts to send a PUT request with an invalid value for value.

PUT https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings/

The JSON in the body of the PUT can look similar to the following example. Note that “ABCD” is not a valid value.

{
    "name": "afmAutoConflictPolicy",
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "value": "ABCD"
}

Response (with invalid value error)

If the request is sent with an invalid value in the value field, the operation fails, and the JSON in the body of the response can provide some additional information about the error.

HTTP/1.1 400 Bad Request

{
    "code": 400,
    "message": "Setting value is Invalid :ABCD",
    "originalRequestBody": "{\"uuid\":\"d32a12db-0f6a-323f-956d-b69a754e0abc\",\"name\":\"afmAutoConflictPolicy\",\"value\":\"ABCD\",\"generation\":0,\"lastUpdateMicros\":1594232405644981,\"kind\":\"cm:shared:import-deploy-settings:importdeploysettingsstate\",\"selfLink\":\"https://localhost/mgmt/cm/shared/import-deploy-settings/d32a12db-0f6a-323f-956d-b69a754e0abc\"}",
    "referer": "172.18.232.46",
    "restOperationId": 16262782,
    "errorStack": [],
    "kind": ":resterrorresponse"
}

DELETE to delete an import-deploy conflict resolution policy

The following example sends a DELETE request to delete an import-deploy conflict resolution policy identified by it identifier. In the following example the value of the uuid for the setting is “d32a12db-0f6a-323f-956d-b69a754e0abc”.

DELETE https://<BIG-IQ>/mgmt/cm/shared/import-deploy-settings

The JSON in the body of the DELETE can look similar to the following example.

{
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc"
}

Response

HTTP/1.1 200 OK

The JSON in the body of the response represents the deleted import-deploy conflict resolution policy setting.

{
    "uuid": "d32a12db-0f6a-323f-956d-b69a754e0abc",
    "generation":0,
    "lastUpdateMicros":1587981387138860
}