Create VPC
Create a VPC for the org.
Org must have a Tenant entity. User must have authorization role with TENANT_ADMIN suffix.
When slaacEnabled is true, REST reads vpcSlaac from the latest successfully stored configuration inventory for the selected Site before persisting the VPC. Periodic Site inventory reports whether Core supports this feature, so the stored value can lag a Core rollout. False or missing vpcSlaac returns 412 before REST persistence or workflow dispatch. This flag reports Core support only; it does not verify DPU agent versions. When a new API server release is deployed, DPU agents roll forward, and instance network configuration may fail transiently until eligible agents converge. Core can also return 412 after dispatch for another create prerequisite. Failure to resolve the Site client or persist the VPC returns 500, rolls back the REST transaction, and does not request a remote create. An error returned while starting the workflow also returns 500 and may leave remote acceptance unknown. After the start request, an unavailable result returns 503, while a workflow wait timeout returns 500 and triggers an attempted workflow termination. Errors while starting or waiting for the workflow roll back the REST transaction, but do not guarantee that Core did not create the VPC; a later inventory reconciliation may recreate the REST record.
Safe recovery from an ambiguous create result requires supplying a stable id in the original request. After an ambiguous error while starting the workflow or after dispatch, callers should allow inventory reconciliation time, then retrieve that id. If the VPC is found, do not retry. If no record is found, reuse the same id for any retry; reusing the ID prevents a second Core VPC record, but the retry itself is not guaranteed to succeed and can return 409 if reconciliation completes concurrently.
Request body
Example request
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "spark-id-vpc",
"description": "Virtual network with user-specified VPC ID",
"siteId": "72771e6a-6f5e-4de4-a5b9-1266c4197811",
"networkVirtualizationType": "ETHERNET_VIRTUALIZER",
"vni": 12001
}Response
Created
Example response
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "spark-vpc",
"description": "Virtual network for machines executing Spark jobs",
"org": "xskkpgqpeakn",
"tenantId": "34f5c98e-f430-457b-a812-92637d0c6fd0",
"siteId": "72771e6a-6f5e-4de4-a5b9-1266c4197811",
"labels": {
"region": "us-west-1",
"env": "dev"
},
"controllerVpcId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"networkVirtualizationType": "ETHERNET_VIRTUALIZER",
"slaacEnabled": false,
"requestedVni": 12001,
"vni": 12001,
"networkSecurityGroupId": "c602eb90-3039-11f0-997a-b38d4fc8389e",
"networkSecurityGroupPropagationDetails": {
"objectId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"detailedStatus": "Partial",
"status": "Synchronizing",
"details": "",
"unpropagatedInstanceIds": [
"b1a5a05e-303c-11f0-b618-7f2e7f9b64ed"
],
"relatedInstanceIds": [
"b1a5a05e-303c-11f0-b618-7f2e7f9b64ed"
]
},
"nvLinkLogicalPartitionId": "dd887330-dbd3-45ce-b400-c42fc8e47315",
"status": "Pending",
"statusHistory": [
{
"status": "Pending",
"message": "Request received, pending processing",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}
],
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z"
}