Skip to content

Configuration

All operations require authentication.

5 operationsv2/networkDefense/vac
Agent setup

List VAC policiesProduction

GET
/v2/networkDefense/vac/resource/{resourceName}/policy

Returns the list of policies within a VAC DDoS protection resource. Every policy applies a profile and a sensitivity level to target IP address prefixes, and carries the configuration requested and the one currently enforced.

Path parameters

resourceName
required
stringuuid

Resource name

Query parameters

iamTags
object

Filter resources on IAM tags

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200PolicyAsyncResourceWithIAM[]successful operation
checksum
read-only
string

Checksum of the current configuration, used to detect concurrent changes. Provide it on update to avoid overwriting another change.

createdAt
read-only
stringdate-time

Date and time the policy was created

currentState
read-only
PolicyState

Configuration currently being enforced. Null while the policy is still being created (CREATING).

errorMessage
read-only
string

Details of the last error, set when the status is ERROR

iam
read-only
ResourceMetadata

IAM resource metadata

id
read-only
stringuuid

Unique identifier of the policy

resourceStatus
read-only
ResourceStatusEnum

Current status of the policy

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PolicySpec

Configuration you requested. While a change is being applied (CREATING, UPDATING or ERROR) it differs from currentState. Once READY it mirrors currentState. Null while the policy is being deleted.

updatedAt
read-only
stringdate-time

Date and time the policy was last updated

Example uses resourceName = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/networkDefense/vac/resource/{resourceName}/policy \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "enabled": true, "name": "string", "profileId": "string", "profileVersion": 0, "sensitivity": "HIGH", "serviceId": "00000000-0000-0000-0000-000000000000", "targets": [ { "id": "00000000-0000-0000-0000-000000000000", "prefix": { "cidr": "192.0.2.0/24" }, "resolved": [ { "cidr": null, "status": null } ], "type": "PREFIX" } ] }, "errorMessage": "string", "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "enabled": true, "name": "string", "profileId": "string", "sensitivity": "HIGH", "targets": [ { "prefix": { "cidr": "192.0.2.0/24" } } ] }, "updatedAt": "2024-01-01T12:00:00Z" }]

Get a VAC policyProduction

GET
/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId}

Returns a policy with the configuration requested and the one currently enforced, including the status of every protected IP address prefix.

Path parameters

policyId
required
stringuuid

Policy ID

resourceName
required
stringuuid

Resource name

Response

200PolicyAsyncResourceWithIAMsuccessful operation
checksum
read-only
string

Checksum of the current configuration, used to detect concurrent changes. Provide it on update to avoid overwriting another change.

createdAt
read-only
stringdate-time

Date and time the policy was created

currentState
read-only
PolicyState

Configuration currently being enforced. Null while the policy is still being created (CREATING).

errorMessage
read-only
string

Details of the last error, set when the status is ERROR

iam
read-only
ResourceMetadata

IAM resource metadata

id
read-only
stringuuid

Unique identifier of the policy

resourceStatus
read-only
ResourceStatusEnum

Current status of the policy

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PolicySpec

Configuration you requested. While a change is being applied (CREATING, UPDATING or ERROR) it differs from currentState. Once READY it mirrors currentState. Null while the policy is being deleted.

updatedAt
read-only
stringdate-time

Date and time the policy was last updated

404objectError 404 response

Example uses policyId = 00000000-0000-0000-0000-000000000000, resourceName = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "enabled": true, "name": "string", "profileId": "string", "profileVersion": 0, "sensitivity": "HIGH", "serviceId": "00000000-0000-0000-0000-000000000000", "targets": [ { "id": "00000000-0000-0000-0000-000000000000", "prefix": { "cidr": "192.0.2.0/24" }, "resolved": [ { "cidr": "192.0.2.0/24", "status": "ACTIVE" } ], "type": "PREFIX" } ] }, "errorMessage": "string", "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "enabled": true, "name": "string", "profileId": "string", "sensitivity": "HIGH", "targets": [ { "prefix": { "cidr": "192.0.2.0/24" } } ] }, "updatedAt": "2024-01-01T12:00:00Z"}

Create a VAC policyProduction

POST
/v2/networkDefense/vac/resource/{resourceName}/policy

Creates a policy within a VAC DDoS protection resource, applying a profile and a sensitivity level to target IP address prefixes in order to tune detection and mitigation rules. Async call, follow resourceStatus for operation progress. A target whose prefix carries protection settings that were not set via a policy is refused, unless you send force=true to overwrite them.

Path parameters

resourceName
required
stringuuid

Resource name

Query parameters

force
boolean

Overwrite the protection settings that were not set via a policy on the targets this request adds. Without it, such a request is refused. The previous settings are lost: you cannot restore them yourself. The force flag is not stored in the policy spec.

Request body (required)

targetSpec
required
PolicySpecInput

Protection configuration to apply to the policy

Response

200PolicyAsyncResourcesuccessful operation
checksum
read-only
string

Checksum of the current configuration, used to detect concurrent changes. Provide it on update to avoid overwriting another change.

createdAt
read-only
stringdate-time

Date and time the policy was created

currentState
read-only
PolicyState

Configuration currently being enforced. Null while the policy is still being created (CREATING).

errorMessage
read-only
string

Details of the last error, set when the status is ERROR

id
read-only
stringuuid

Unique identifier of the policy

resourceStatus
read-only
ResourceStatusEnum

Current status of the policy

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PolicySpec

Configuration you requested. While a change is being applied (CREATING, UPDATING or ERROR) it differs from currentState. Once READY it mirrors currentState. Null while the policy is being deleted.

updatedAt
read-only
stringdate-time

Date and time the policy was last updated

400objectError 400 response
403objectError 403 response
404objectError 404 response
409objectError 409 response

Example uses resourceName = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/networkDefense/vac/resource/{resourceName}/policy \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "enabled": true, "name": "string", "profileId": "string", "profileVersion": 0, "sensitivity": "HIGH", "serviceId": "00000000-0000-0000-0000-000000000000", "targets": [ { "id": "00000000-0000-0000-0000-000000000000", "prefix": { "cidr": "192.0.2.0/24" }, "resolved": [ { "cidr": "192.0.2.0/24", "status": "ACTIVE" } ], "type": "PREFIX" } ] }, "errorMessage": "string", "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "enabled": true, "name": "string", "profileId": "string", "sensitivity": "HIGH", "targets": [ { "prefix": { "cidr": "192.0.2.0/24" } } ] }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a VAC policyProduction

PUT
/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId}

Updates the name, enabled state, targets, profile and sensitivity level of a policy. The targets sent fully replace the previous ones: an omitted or empty list of targets removes every target from the policy. Removed target IPs reset their VAC DDoS protection settings to the default state. Send the checksum from the last read. A stale value is rejected. A new target whose prefix carries protection settings that were not set via a policy is refused, unless you send force=true to overwrite them.

Path parameters

policyId
required
stringuuid

Policy ID

resourceName
required
stringuuid

Resource name

Query parameters

force
boolean

Overwrite the protection settings that were not set via a policy on the targets this request adds. Without it, such a request is refused. The previous settings are lost: you cannot restore them yourself. The force flag is not stored in the policy spec.

Request body (required)

checksum
string

Checksum returned by the last read, used to detect concurrent changes. A stale value is rejected with HTTP 412.

targetSpec
required
PolicySpecInput

Protection configuration to apply to the policy

Response

200PolicyAsyncResourcesuccessful operation
checksum
read-only
string

Checksum of the current configuration, used to detect concurrent changes. Provide it on update to avoid overwriting another change.

createdAt
read-only
stringdate-time

Date and time the policy was created

currentState
read-only
PolicyState

Configuration currently being enforced. Null while the policy is still being created (CREATING).

errorMessage
read-only
string

Details of the last error, set when the status is ERROR

id
read-only
stringuuid

Unique identifier of the policy

resourceStatus
read-only
ResourceStatusEnum

Current status of the policy

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PolicySpec

Configuration you requested. While a change is being applied (CREATING, UPDATING or ERROR) it differs from currentState. Once READY it mirrors currentState. Null while the policy is being deleted.

updatedAt
read-only
stringdate-time

Date and time the policy was last updated

400objectError 400 response
403objectError 403 response
404objectError 404 response
409objectError 409 response
412objectError 412 response

Example uses policyId = 00000000-0000-0000-0000-000000000000, resourceName = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "enabled": true, "name": "string", "profileId": "string", "profileVersion": 0, "sensitivity": "HIGH", "serviceId": "00000000-0000-0000-0000-000000000000", "targets": [ { "id": "00000000-0000-0000-0000-000000000000", "prefix": { "cidr": "192.0.2.0/24" }, "resolved": [ { "cidr": "192.0.2.0/24", "status": "ACTIVE" } ], "type": "PREFIX" } ] }, "errorMessage": "string", "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "enabled": true, "name": "string", "profileId": "string", "sensitivity": "HIGH", "targets": [ { "prefix": { "cidr": "192.0.2.0/24" } } ] }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a VAC policyProduction

DELETE
/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId}

Deletes a policy from a VAC DDoS protection resource. All settings of linked target IP address prefixes return to their default states.

Path parameters

policyId
required
stringuuid

Policy ID

resourceName
required
stringuuid

Resource name

Response

200PolicyAsyncResourcesuccessful operation
checksum
read-only
string

Checksum of the current configuration, used to detect concurrent changes. Provide it on update to avoid overwriting another change.

createdAt
read-only
stringdate-time

Date and time the policy was created

currentState
read-only
PolicyState

Configuration currently being enforced. Null while the policy is still being created (CREATING).

errorMessage
read-only
string

Details of the last error, set when the status is ERROR

id
read-only
stringuuid

Unique identifier of the policy

resourceStatus
read-only
ResourceStatusEnum

Current status of the policy

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PolicySpec

Configuration you requested. While a change is being applied (CREATING, UPDATING or ERROR) it differs from currentState. Once READY it mirrors currentState. Null while the policy is being deleted.

updatedAt
read-only
stringdate-time

Date and time the policy was last updated

404objectError 404 response
409objectError 409 response

Example uses policyId = 00000000-0000-0000-0000-000000000000, resourceName = 00000000-0000-0000-0000-000000000000

$ curl https://api.eu.ovhcloud.com/v2/networkDefense/vac/resource/{resourceName}/policy/{policyId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "enabled": true, "name": "string", "profileId": "string", "profileVersion": 0, "sensitivity": "HIGH", "serviceId": "00000000-0000-0000-0000-000000000000", "targets": [ { "id": "00000000-0000-0000-0000-000000000000", "prefix": { "cidr": "192.0.2.0/24" }, "resolved": [ { "cidr": "192.0.2.0/24", "status": "ACTIVE" } ], "type": "PREFIX" } ] }, "errorMessage": "string", "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "enabled": true, "name": "string", "profileId": "string", "sensitivity": "HIGH", "targets": [ { "prefix": { "cidr": "192.0.2.0/24" } } ] }, "updatedAt": "2024-01-01T12:00:00Z"}