Services
All operations require authentication.
List vRack ServicesProduction
Returns the vRack Services of the account, each with its requested and current configuration.
Query parameters
Filter resources on IAM tags
Headers
Pagination cursor
Pagination size
Response
Computed hash used to control concurrent modification requests. Here, it represents the current target specification value.
Date of the vRack Services delivery
Current configuration applied to the vRack Services
Asynchronous operations ongoing on the vRack Services
IAM resource metadata
Unique identifier
Reflects the readiness of the vRack Services. A new target specification request will be accepted only in READY status.
CREATINGDELETINGERRORREADYUPDATINGLast target specification of the vRack Services
Date of the Last vRack Services update
Reads your token from $OVH_TOKEN
$ curl https:/ / api.eu.ovhcloud.com/ v2/ vrackServices/ resource \
-H "authorization: Bearer $OVH_TOKEN"[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bandwidth": 0, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ null ], "infrastructurePeers": [ null ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "configurationStatus": { "reason": "MISSING_ALLOWED_PREFIX", "status": "DRAFT" }, "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "string", "infrastructureAsn": 0 }, "configurationStatus": { "reason": "MISSING_VRACK_ASSOCIATION", "status": "DRAFT" }, "region": "string", "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "remainingIps": 0, "reservedIps": 0, "serviceEndpoints": [ null ], "serviceEndpointsConfigurationStatus": { "reason": null, "status": null }, "subnetCidr": "192.0.2.0/24", "usedIps": 0 } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ], "vrackId": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "string", "resourceStatus": "CREATING", "targetSpec": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ null ], "infrastructurePeers": [ null ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "infrastructureAsn": 0 }, "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "serviceEndpoints": [ null ], "subnetCidr": "192.0.2.0/24" } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ] }, "updatedAt": "2024-01-01T12:00:00Z" }]
Get a vRack ServicesProduction
Returns the requested and current configuration of the vRack Services: region, associated vRack, subnets with their Service Endpoints, status and running tasks.
Path parameters
Vrack services ID
Response
Computed hash used to control concurrent modification requests. Here, it represents the current target specification value.
Date of the vRack Services delivery
Current configuration applied to the vRack Services
Asynchronous operations ongoing on the vRack Services
IAM resource metadata
Unique identifier
Reflects the readiness of the vRack Services. A new target specification request will be accepted only in READY status.
CREATINGDELETINGERRORREADYUPDATINGLast target specification of the vRack Services
Date of the Last vRack Services update
Example uses vrackServicesId = string
$ curl https:/ / api.eu.ovhcloud.com/ v2/ vrackServices/ resource/ {vrackServicesId} \
-H "authorization: Bearer $OVH_TOKEN"{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bandwidth": 0, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ "192.0.2.0" ], "infrastructurePeers": [ "192.0.2.0" ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "configurationStatus": { "reason": "MISSING_ALLOWED_PREFIX", "status": "DRAFT" }, "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "string", "infrastructureAsn": 0 }, "configurationStatus": { "reason": "MISSING_VRACK_ASSOCIATION", "status": "DRAFT" }, "region": "string", "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "remainingIps": 0, "reservedIps": 0, "serviceEndpoints": [ { "endpoints": null, "managedServiceURN": null } ], "serviceEndpointsConfigurationStatus": { "reason": "string", "status": "DRAFT" }, "subnetCidr": "192.0.2.0/24", "usedIps": 0 } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ], "vrackId": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "string", "resourceStatus": "CREATING", "targetSpec": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ "192.0.2.0" ], "infrastructurePeers": [ "192.0.2.0" ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "infrastructureAsn": 0 }, "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "serviceEndpoints": [ { "managedServiceURN": null } ], "subnetCidr": "192.0.2.0/24" } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ] }, "updatedAt": "2024-01-01T12:00:00Z"}
Update a vRack ServicesProduction
Replaces the target specification of the vRack Services, subnets and Service Endpoints, and applies it asynchronously.
It is the unique route handling any update on the vRack Services configuration. It works as following:
- You define a new target specification in the request payload,
- If this specification is validated, you get the resource with updated
targetSpecandchecksumvalues in return, - The request is processed by one or several asynchronous tasks that aims to reconciliate the
currentStatewith thetargetSpec
Asynchronous processing
- To follow this processing, the VrackServices resource can be polled with
GET /vrackServices/resource/{vrackServicesId}
As soon as itsresourceStatusis READY, the requested specification can be considered as applied to the vRack Services. - The
checksumhelps on detecting concurrency cases on update requests. If the polledchecksumvalue differs from the one returned in response of your initial request, it means that processing of your request is completed and another request is being processed. - In case of processing error (that is
resourceStatusin ERROR), the current vRack Services configuration is still active, but modification requests will be refused until the intervention of the support. - An overview on the asynchronous task(s) is available via the
currentTasksattribute.
More details on a task are provided by the routeGET /vrackServices/resource/{vrackServicesId}/task/{taskId}
Seamless configuration actions
The request can combine any of the following seamless actions (meaning there won't be any cut of the service while updating):
- create a Subnet
- delete a Subnet without any Service Endpoint
- update a Subnet:
- create one or several Service Endpoints
Note that a Subnet with several Service Endpoints can be created in the same payload
Not seamless configuration actions
The modification of the Subnet characteristics listed below will result in a service cut while processing the update as they are interpreted as the deletion of the existing Subnet and creation of a new Subnet with provided characteristics. The IPs that were given to the Managed Services will be reelected and may as a result change:
- modifications on the Subnet
ServiceRange - modifications on the Subnet
Vlan - modifications on the Subnet
CIDR
The embedded Service Endpoints will be also deleted and re-created which implies a flapping accessibility in the vRack for every related managed services.
Note that deleting a Subnet will also delete embedded Service Endpoints
The vrackId is a read-only attribute as the association vRack/vRackServices is handled by the vRack API
Path parameters
Vrack services ID
Request body (required)
Computed hash used to control concurrent modification requests. Here, it represents the target specification value the request is based on.
Requested target specification
Response
Computed hash used to control concurrent modification requests. Here, it represents the current target specification value.
Date of the vRack Services delivery
Current configuration applied to the vRack Services
Asynchronous operations ongoing on the vRack Services
Unique identifier
Reflects the readiness of the vRack Services. A new target specification request will be accepted only in READY status.
CREATINGDELETINGERRORREADYUPDATINGLast target specification of the vRack Services
Date of the Last vRack Services update
Example uses vrackServicesId = string
$ curl https:/ / api.eu.ovhcloud.com/ v2/ vrackServices/ resource/ {vrackServicesId} \
-H "authorization: Bearer $OVH_TOKEN"{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bandwidth": 0, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ "192.0.2.0" ], "infrastructurePeers": [ "192.0.2.0" ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "configurationStatus": { "reason": "MISSING_ALLOWED_PREFIX", "status": "DRAFT" }, "iam": { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "state": "EXPIRED", "tags": { "key": "string" }, "urn": "string" }, "id": "string", "infrastructureAsn": 0 }, "configurationStatus": { "reason": "MISSING_VRACK_ASSOCIATION", "status": "DRAFT" }, "region": "string", "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "remainingIps": 0, "reservedIps": 0, "serviceEndpoints": [ { "endpoints": null, "managedServiceURN": null } ], "serviceEndpointsConfigurationStatus": { "reason": "string", "status": "DRAFT" }, "subnetCidr": "192.0.2.0/24", "usedIps": 0 } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ], "vrackId": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "bgp": { "allowedPrefixes": { "ipv4": [ "192.0.2.0/24" ], "ipv6": [ "2001:41d0::/128" ] }, "bgpRange": [ { "cidr": "192.0.2.0/24", "clientPeers": [ "192.0.2.0" ], "infrastructurePeers": [ "192.0.2.0" ], "subnetCidr": "192.0.2.0/24" } ], "clientAsn": 0, "infrastructureAsn": 0 }, "services": { "serviceRange": [ { "cidr": "192.0.2.0/24", "serviceEndpoints": [ { "managedServiceURN": null } ], "subnetCidr": "192.0.2.0/24" } ] }, "subnets": [ { "az": "string", "cidr": "192.0.2.0/24", "displayName": "string", "vlan": 0 } ] }, "updatedAt": "2024-01-01T12:00:00Z"}