Introduction
With the IBM Cloud® for VMware Cloud Foundation as a Service API, you can quickly and seamlessly integrate or migrate your on-premises VMware® workloads to IBM Cloud®. This is done by using the scalable, secure, and high-performance IBM Cloud infrastructure and the industry-leading VMware hybrid virtualization technology. You can easily deploy your VMware virtual environments and manage the infrastructure resources on IBM Cloud. At the same time, you can still use your familiar native VMware product console to manage the VMware workloads. For more information, see the VCF as a Service documentation.
By using the IBM Cloud for VMware Cloud Foundation as a Service REST API, you acknowledge that you have read and accepted the following third-party agreements:
Endpoint URLs
The API is available at:
https://api.{region}.vmware.cloud.ibm.com/v1
Not all regions support VCF as a Service. For more information, see IBM Cloud data center availability.
To successfully invoke an API, the endpoint URL must be qualified with a method and authentication credential through an IAM token in the request header.
Authentication
Authentication to the API is managed by IBM Cloud Identity and Access Management (IAM). To work with the API, you must add an IBM Cloud IAM access token in the API request authentication header:
-H 'Authorization: Bearer <IAM_TOKEN>'
To call each method, you'll need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see Managing IAM access for VCF as a Service.
You can build your API request by pairing a service endpoint with your authentication credentials. For example, if you list the Cloud Director site service instances for the us-south
region, use the following endpoint and API headers to retrieve instances in your service:
curl -X GET \
https://api.us-south.vmware.cloud.ibm.com/v1/director_sites \
-H "authorization: Bearer <access_token>"
Replace <access_token>
with your Cloud IAM token.
You can retrieve an IBM Cloud IAM access token by using the IBM Cloud CLI or by creating an API key and then exchanging the API key for an IBM Cloud IAM access token. For more information, see Generating an IBM Cloud IAM token by using an API key.
When you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in the following ways:
- Programmatically, by constructing an IAM authenticator instance and supplying your IAM API key.
- Externally, in configuration options that are then used by the SDK to construct an IAM authenticator at run time.
Provide external configuration options by either:
- Storing the configuration options in environment variables. When you initialize the service client, the SDK constructs the authenticator by reading the configuration properties directly from the environment variables.
- Saving the configuration options in a file. When you initialize the service client, the SDK constructs the authenticator by reading the configuration properties from the file that is specified by the
IBM_CREDENTIALS_FILE
environment variable.
In this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.
For more information, see the Authentication section in the IBM Cloud SDK Common documentation.
Outside of development and testing, never hardcode secrets (such as IAM API keys) into a client application.
Setting client options programmatically
Construct the service client programmatically, where {api_key}
is your hardcoded IAM API key:
import {
"github.com/IBM/go-sdk-core/v5/core"
"github.com/IBM/vmware-go-sdk/vmwarev1"
}
// Create an IAM authenticator.
authenticator := &core.IamAuthenticator{
ApiKey: "{api_key}",
}
// Construct an "options" struct for creating the service client.
options := &vmwarev1.VmwareV1Options{
Authenticator: authenticator, // required
URL: "https://api.us-south.vmware.cloud.ibm.com/v1", // optional
}
// Construct the service client.
vmwareService, err := vmwarev1.NewVmwareV1(options)
if err != nil {
panic(err)
}
Service operations can now be invoked by using the vmwareService
variable.
Setting client options through environment variables
Export environment variables to implement service client options, where {service_url}
is an endpoint URL for the service and {api_key}
is an IAM API key.
export VMWARE_URL={service_url}
export VMWARE_AUTH_TYPE=iam
export VMWARE_APIKEY={api_key}
export VMWARE_AUTH_URL=https://iam.cloud.ibm.com
Construct the service client by using external configuration. vmwarev1.NewVmwareV1UsingExternalConfig()
initializes the client with the environment variables and it uses them for subsequent authentication.
vmwareService, err := vmwarev1.NewVmwareV1UsingExternalConfig()
Setting client options through a credentials file
Store credentials in a file such as my-credentials.env
, where {service_url}
is an endpoint URL for the service and {api_key}
is an IAM API key.
VMWARE_URL={service_url}
VMWARE_AUTH_TYPE=iam
VMWARE_APIKEY={api_key}
VMWARE_AUTH_URL=https://iam.cloud.ibm.com
Export the name of the file with an environment variable, where {credential_file_path}
is the absolute path to your credentials file, such as "$HOME/secrets/vmware-credentials.env"
.
export IBM_CREDENTIALS_FILE={credential_file_path}
Construct the service client by using external configuration. vmwarev1.NewVmwareV1UsingExternalConfig()
initializes with the defined credential file, and it uses it for subsequent authentication.
vmwareService, err := vmwarev1.NewVmwareV1UsingExternalConfig()
Auditing
You can monitor API activity within your account by using the IBM Cloud Activity Tracker with LogDNA service. Whenever an API method is called, an event is generated that you can then track and audit from within Activity Tracker with LogDNA. The specific event type is listed for each individual method.
For more information about how to track VCF as a Service activities, see Auditing events for VCF as a Service.
Error handling
This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200
type response indicates success. A 400
type response indicates a failure. A 500
type response indicates an internal system error.
HTTP error code | Description | Recovery |
---|---|---|
200 |
Success | The request was successful. |
202 |
Success | The request was submitted successfully. |
400 |
Bad request | The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request. |
401 |
Unauthorized | You are not authorized to make this request because of missing or bad authentication token. |
403 |
Forbidden | The supplied authentication is not authorized to make this request. Contact the account owner to check your permissions. |
409 |
Conflict | The request cannot be completed because of a conflict with the current state of the target resource. |
500 |
Internal server error | Your request cannot be processed. Wait a few minutes and try again. If the error persists, contact IBM Support. |
When an API operation fails, detailed information about the failure is provided in the response. In addition, in every response there is a header named x-global-transaction-id
, which is a unique ID for the API operation. When contacting IBM Support on API operation failures, you can provide the x-global-transaction-id
for better debugging.
Methods
Create a Cloud Director site instance
Create an instance of a Cloud Director site with specified configurations. The Cloud Director site instance is the infrastructure and associated VMware software stack, which consists of VMware vCenter Server, VMware NSX-T, and VMware Cloud Director. VMware platform management and operations are performed with Cloud Director. The minimum initial order size is 2 hosts (2-Socket 32 Cores, 192 GB RAM) with 24 TB of 2.0 IOPS/GB storage.
POST /director_sites
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Create VMware Cloud Director site request body
{
"name": "WorkloadDomain_1",
"private_only": true,
"console_connection_type": "private",
"ip_allow_list": [
"1.1.1.1/24",
"2.2.2.2/24"
],
"resource_group": {
"id": "example_resource_group_id"
},
"services": [
{
"name": "veeam"
},
{
"name": "vcda"
}
],
"pvdcs": [
{
"name": "pvdc-1",
"data_center_name": "dal10",
"clusters": [
{
"name": "cluster_1",
"host_count": 3,
"file_shares": {
"STORAGE_POINT_TWO_FIVE_IOPS_GB": 0,
"STORAGE_TWO_IOPS_GB": 24000,
"STORAGE_FOUR_IOPS_GB": 24000,
"STORAGE_TEN_IOPS_GB": 8000
},
"host_profile": "BM_2S_20_CORES_192_GB"
}
]
}
]
}
Name of the Cloud Director site instance. Use a name that is unique to your region and meaningful. Names cannot be changed after initial creation.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
my_director_site
List of VMware resource pools to deploy on the instance.
Possible values: 1 ≤ number of items ≤ 16
The resource group to associate with the resource instance. If not specified, the default resource group in the account is used.
List of services to deploy on the instance.
Possible values: 1 ≤ number of items ≤ 25
Indicates whether the site is private only.
Type of console connection.
Allowable values: [
private
,public
]List of allowed IP addresses.
Possible values: 0 ≤ length ≤ 256
Examples:[ "1.1.1.1/24", "2.2.2.2/24" ]
curl -X POST 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "name": "my_director_site", "private_only": True, "console_connection_type": "private", "ip_allow_list": ['1.1.1.1/24', '2.2.2.2/24'], "resource_group": {"id": "some_resourcegroupid"}, "services": [ { "name": "veeam" }, { "name": "vcda" } ] "pvdcs": [ { "name": "pvdc-1", "data_center_name": "dal10", "clusters": [ { "name": "cluster_1", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ] } ] }'
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { fileSharesPrototypeModel := &vmwarev1.FileSharesPrototype{} clusterPrototypeModel := &vmwarev1.ClusterPrototype{ Name: core.StringPtr("cluster_1"), HostCount: core.Int64Ptr(int64(2)), HostProfile: core.StringPtr("BM_2S_20_CORES_192_GB"), FileShares: fileSharesPrototypeModel, } pvdcPrototypeModel := &vmwarev1.PVDCPrototype{ Name: core.StringPtr("pvdc-1"), DataCenterName: core.StringPtr("dal10"), Clusters: []vmwarev1.ClusterPrototype{*clusterPrototypeModel}, } createDirectorSitesOptions := vmwareService.NewCreateDirectorSitesOptions( "my_director_site", []vmwarev1.PVDCPrototype{*pvdcPrototypeModel}, ) createDirectorSitesOptions.SetAcceptLanguage("en-us") createDirectorSitesOptions.SetXGlobalTransactionID("transaction1") directorSite, response, err := vmwareService.CreateDirectorSites(createDirectorSitesOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSite, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A Cloud Director site resource. The Cloud Director site instance is the infrastructure and the associated VMware software stack, which consists of VMware vCenter Server, VMware NSX-T, and VMware Cloud Director.
A unique ID for the Cloud Director site in IBM Cloud.
The hyperlink of the Cloud Director site resource.
ID of the Cloud Director site.
The time that the Cloud Director site is ordered.
The name of Cloud Director site. The name of the Cloud Director site cannot be changed after creation.
The status of Cloud Director site.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]The resource group information to associate with the resource instance.
List of VMware resource pools to deploy on the instance.
Possible values: 1 ≤ number of items ≤ 10
Director site type.
Possible values: [
single_tenant
,multitenant
]Services on the Cloud Director site.
Possible values: number of items = 1
Type of director console connection.
Possible values: [
public
,private
]Status of director console connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]Director console IP allowlist.
Possible values: number of items = 1
The time that the Cloud Director site is provisioned and available to use.
RHEL activation key. This property is applicable when type is multitenant.
Possible values: 0 ≤ length ≤ 150
Status Code
OK
Bad Request
Unauthorized
{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid001", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001", "id": "directorsiteuuid001", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "name": "MyInstance", "status": "creating", "console_connection_type": "private", "console_connection_status": "creating", "ip_allow_list": [ "1.1.1.1/24" ], "type": "multitenant", "rhel_vm_activation_key": "xxxxxxxxxxxxxxxxxxx", "services": [ { "name": "veeam", "id": "ed5372b9-c67a-4b4d-a43f-3ac01a6e191e", "provisioned_at": "2022-12-06T20:06:59.137069+00:00", "ordered_at": "2022-12-06T20:06:59.137069+00:00", "status": "creating", "console_url": "https://sdirw.jp-tok.vmware.test.cloud.ibm.com:9443/vCloud/1" } ], "resource_group": { "name": "default", "id": "a_resource_group_id", "crn": "crn:v1:bluemix:public:resource-controller::a/accuntid::resource-group:resourcegroupid" }, "pvdcs": [ { "id": "pvdcuuid001", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001", "status": "creating", "data_center_name": "dal10", "clusters": [ { "id": "clusteruuid001", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001/clusters/clusteruuid001", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
List Cloud Director site instances
List all VMware Cloud Director site instances that the user can access in the cloud account.
GET /director_sites
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listDirectorSitesOptions := vmwareService.NewListDirectorSitesOptions() listDirectorSitesOptions.SetAcceptLanguage("en-us") listDirectorSitesOptions.SetXGlobalTransactionID("transaction1") directorSiteCollection, response, err := vmwareService.ListDirectorSites(listDirectorSitesOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSiteCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Return all Cloud Director site instances.
List of Cloud Director site instances.
Possible values: 0 ≤ number of items ≤ 256
Status Code
OK
Unauthorized
Not found
{ "director_sites": [ { "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid004", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid004", "id": "directorsiteuuid004", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "name": "MyInstance", "type": "multitenant", "rhel_vm_activation_key": "xxxxxxxxxxxxxxxxxxx", "console_connection_type": "private", "console_connection_status": "creating", "ip_allow_list": [ "1.1.1.1/24" ], "services": [ { "name": "veeam", "id": "ed5372b9-c67a-4b4d-a43f-3ac01a6e191e", "provisioned_at": "2022-12-06T20:06:59.137069+00:00", "ordered_at": "2022-12-06T20:06:59.137069+00:00", "status": "creating", "console_url": "https://sdirw.jp-tok.vmware.test.cloud.ibm.com:9443/vCloud/1" } ], "status": "ready_to_use", "resource_group": { "name": "default", "id": "b_resource_group_id", "crn": "crn:v1:bluemix:public:resource-controller::a/accuntid::resource-group:resourcegroupid" }, "pvdcs": [ { "id": "pvdcuuid005", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid004/pvdcs/pvdcuuid005", "data_center_name": "dal10", "status": "creating", "clusters": [ { "id": "clusteruuid007", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid004/pvdcs/pvdcuuid005/clusters/clusteruuid007", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Get a Cloud Director site instance
Get a Cloud Director site instance by specifying the instance ID.
GET /director_sites/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { getDirectorSiteOptions := vmwareService.NewGetDirectorSiteOptions( "site_id", ) getDirectorSiteOptions.SetAcceptLanguage("en-us") getDirectorSiteOptions.SetXGlobalTransactionID("transaction1") directorSite, response, err := vmwareService.GetDirectorSite(getDirectorSiteOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSite, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A Cloud Director site resource. The Cloud Director site instance is the infrastructure and the associated VMware software stack, which consists of VMware vCenter Server, VMware NSX-T, and VMware Cloud Director.
A unique ID for the Cloud Director site in IBM Cloud.
The hyperlink of the Cloud Director site resource.
ID of the Cloud Director site.
The time that the Cloud Director site is ordered.
The name of Cloud Director site. The name of the Cloud Director site cannot be changed after creation.
The status of Cloud Director site.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]The resource group information to associate with the resource instance.
List of VMware resource pools to deploy on the instance.
Possible values: 1 ≤ number of items ≤ 10
Director site type.
Possible values: [
single_tenant
,multitenant
]Services on the Cloud Director site.
Possible values: number of items = 1
Type of director console connection.
Possible values: [
public
,private
]Status of director console connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]Director console IP allowlist.
Possible values: number of items = 1
The time that the Cloud Director site is provisioned and available to use.
RHEL activation key. This property is applicable when type is multitenant.
Possible values: 0 ≤ length ≤ 150
Status Code
OK
Unauthorized
Not found
{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid001", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001", "id": "directorsiteuuid001", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "name": "MyInstance", "status": "creating", "console_connection_type": "private", "console_connection_status": "creating", "ip_allow_list": [ "1.1.1.1/24" ], "type": "multitenant", "rhel_vm_activation_key": "xxxxxxxxxxxxxxxxxxx", "services": [ { "name": "veeam", "id": "ed5372b9-c67a-4b4d-a43f-3ac01a6e191e", "provisioned_at": "2022-12-06T20:06:59.137069+00:00", "ordered_at": "2022-12-06T20:06:59.137069+00:00", "status": "creating", "console_url": "https://sdirw.jp-tok.vmware.test.cloud.ibm.com:9443/vCloud/1" } ], "resource_group": { "name": "default", "id": "a_resource_group_id", "crn": "crn:v1:bluemix:public:resource-controller::a/accuntid::resource-group:resourcegroupid" }, "pvdcs": [ { "id": "pvdcuuid001", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001", "status": "creating", "data_center_name": "dal10", "clusters": [ { "id": "clusteruuid001", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001/clusters/clusteruuid001", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Delete a Cloud Director site instance
Delete a Cloud Director site instance by specifying the instance ID.
DELETE /director_sites/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
curl -X DELETE 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { deleteDirectorSiteOptions := vmwareService.NewDeleteDirectorSiteOptions( "site_id", ) deleteDirectorSiteOptions.SetAcceptLanguage("en-us") deleteDirectorSiteOptions.SetXGlobalTransactionID("transaction1") directorSite, response, err := vmwareService.DeleteDirectorSite(deleteDirectorSiteOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSite, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A Cloud Director site resource. The Cloud Director site instance is the infrastructure and the associated VMware software stack, which consists of VMware vCenter Server, VMware NSX-T, and VMware Cloud Director.
A unique ID for the Cloud Director site in IBM Cloud.
The hyperlink of the Cloud Director site resource.
ID of the Cloud Director site.
The time that the Cloud Director site is ordered.
The name of Cloud Director site. The name of the Cloud Director site cannot be changed after creation.
The status of Cloud Director site.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]The resource group information to associate with the resource instance.
List of VMware resource pools to deploy on the instance.
Possible values: 1 ≤ number of items ≤ 10
Director site type.
Possible values: [
single_tenant
,multitenant
]Services on the Cloud Director site.
Possible values: number of items = 1
Type of director console connection.
Possible values: [
public
,private
]Status of director console connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]Director console IP allowlist.
Possible values: number of items = 1
The time that the Cloud Director site is provisioned and available to use.
RHEL activation key. This property is applicable when type is multitenant.
Possible values: 0 ≤ length ≤ 150
Status Code
OK
Bad Request
Not found
{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid001", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001", "id": "directorsiteuuid001", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "name": "MyInstance", "status": "creating", "console_connection_type": "private", "console_connection_status": "creating", "ip_allow_list": [ "1.1.1.1/24" ], "type": "multitenant", "rhel_vm_activation_key": "xxxxxxxxxxxxxxxxxxx", "services": [ { "name": "veeam", "id": "ed5372b9-c67a-4b4d-a43f-3ac01a6e191e", "provisioned_at": "2022-12-06T20:06:59.137069+00:00", "ordered_at": "2022-12-06T20:06:59.137069+00:00", "status": "creating", "console_url": "https://sdirw.jp-tok.vmware.test.cloud.ibm.com:9443/vCloud/1" } ], "resource_group": { "name": "default", "id": "a_resource_group_id", "crn": "crn:v1:bluemix:public:resource-controller::a/accuntid::resource-group:resourcegroupid" }, "pvdcs": [ { "id": "pvdcuuid001", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001", "status": "creating", "data_center_name": "dal10", "clusters": [ { "id": "clusteruuid001", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid001/pvdcs/pvdcuuid001/clusters/clusteruuid001", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Enable or disable Veeam on a Cloud Director site
Enable or disable Veeam on a Cloud Director site.
POST /director_sites/{site_id}/action/enable_veeam
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
Enable or Disable service request body
{
"enable": true
}
Indicates whether it is required to enable or disable a service.
Response
Enable Service response for accepted request
Request status.
Example:
The request has been accepted.
Status Code
Ok
Bad Request
Unauthorized_Error
{ "message": "The request has been accepted." }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Enable or disable VCDA on a Cloud Director site
Enable or disable VMware Cloud Director Availability (VCDA) on a Cloud Director site.
POST /director_sites/{site_id}/action/enable_vcda
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
Enable or Disable service request body
{
"enable": true
}
Indicates whether it is required to enable or disable a service.
Response
Enable Service response for accepted request
Request status.
Example:
The request has been accepted.
Status Code
Ok
Bad Request
Unauthorized_Error
{ "message": "The request has been accepted." }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Create a VCDA connection
Create a VMware Cloud Director Availability (VCDA) connection in the Cloud Director site identified by {site_id}.
POST /director_sites/{site_id}/vcda/connection_endpoints
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
Create VCDA connection request body
{
"name": "Providervdc_1",
"data_center_name": "dal10",
"type": "private",
"allow_list": [
"1.1.1.1"
]
}
Connection type.
Allowable values: [
private
,public
]Where to deploy the cluster.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
Example:
dal10
List of IP addresses allowed in the public connection.
Possible values: number of items = 1, 1 ≤ length ≤ 32, Value must match regular expression
^[0-9\.]+$
Examples:[ "1.1.1.1" ]
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { createDirectorSitesVcdaConnectionEndpointsOptions := vmwareService.NewCreateDirectorSitesVcdaConnectionEndpointsOptions( "site_id", "private", "dal10", ) createDirectorSitesVcdaConnectionEndpointsOptions.SetAcceptLanguage("en-us") createDirectorSitesVcdaConnectionEndpointsOptions.SetXGlobalTransactionID("transaction1") vcdaConnection, response, err := vmwareService.CreateDirectorSitesVcdaConnectionEndpoints(createDirectorSitesVcdaConnectionEndpointsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vcdaConnection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Created VCDA connection
ID of the VCDA connection on the Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Status of the VCDA connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]Connection type.
Possible values: [
private
,public
]Connection speed.
Possible values: [
speed_20g
]Where to deploy the cluster.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
List of IP addresses allowed in the public connection.
Possible values: number of items = 1
Status Code
Ok
Bad Request
Unauthorized_Error
{ "name": "Providervdc_1", "data_center_name": "dal10", "status": "ready_to_use", "id": "testx", "type": "private", "speed": "speed_20g", "allow_list": [ "1.1.1.1" ] }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Delete a VCDA connection
Delete a VMware Cloud Director Availability (VCDA) connection in the Cloud Director site identified by {site_id} and {vcda_connections_id}.
DELETE /director_sites/{site_id}/services/vcda/connection_endpoints/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the VCDA connections in the relationship Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Example:
vcda_connections_id
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { deleteDirectorSitesVcdaConnectionEndpointsOptions := vmwareService.NewDeleteDirectorSitesVcdaConnectionEndpointsOptions( "site_id", "vcda_connections_id", ) deleteDirectorSitesVcdaConnectionEndpointsOptions.SetAcceptLanguage("en-us") deleteDirectorSitesVcdaConnectionEndpointsOptions.SetXGlobalTransactionID("transaction1") vcdaConnection, response, err := vmwareService.DeleteDirectorSitesVcdaConnectionEndpoints(deleteDirectorSitesVcdaConnectionEndpointsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vcdaConnection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Created VCDA connection
ID of the VCDA connection on the Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Status of the VCDA connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]Connection type.
Possible values: [
private
,public
]Connection speed.
Possible values: [
speed_20g
]Where to deploy the cluster.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
List of IP addresses allowed in the public connection.
Possible values: number of items = 1
Status Code
Ok
Bad Request
Unauthorized_Error
{ "name": "Providervdc_1", "data_center_name": "dal10", "status": "ready_to_use", "id": "testx", "type": "private", "speed": "speed_20g", "allow_list": [ "1.1.1.1" ] }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Update VCDA connection allowlist
Update the allowlist for a private connection to a specific VCDA instance.
PATCH /director_sites/{site_id}/services/vcda/connection_endpoints/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the VCDA connections in the relationship Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Example:
vcda_connections_id
Data to update a private connection.
{
"allow_list": [
"1.1.1.1/24",
"2.2.2.2/24"
]
}
List of allowed IP addresses.
Possible values: 0 ≤ number of items ≤ 256
Examples:[ "1.1.1.1/24", "2.2.2.2/24" ]
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { updateDirectorSitesVcdaConnectionEndpointsOptions := vmwareService.NewUpdateDirectorSitesVcdaConnectionEndpointsOptions( "site_id", "vcda_connections_id", ) updateDirectorSitesVcdaConnectionEndpointsOptions.SetAcceptLanguage("en-us") updateDirectorSitesVcdaConnectionEndpointsOptions.SetXGlobalTransactionID("transaction1") updatedVcdaConnection, response, err := vmwareService.UpdateDirectorSitesVcdaConnectionEndpoints(updateDirectorSitesVcdaConnectionEndpointsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(updatedVcdaConnection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Update private connection
ID of the VCDA connection.
Example:
9165a9a4-cb70-4248-99ce-661106d89b83
Status of the VCDA connection after accepting the request.
Example:
updating
Status Code
Task to update the connection created.
Bad Request
Unauthorized Error
Not found
{ "id": "9165a9a4-cb70-4248-99ce-661106d89b83", "status": "updating" }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Create a VCDA cloud-to-cloud connection
Create a VCDA cloud-to-cloud connection in the Cloud Director site identified by {site_id}.
POST /director_sites/{site_id}/services/vcda/c2c_connections
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
Create VCDA cloud-to-cloud connection request body.
{
"local_data_center_name": "dal10",
"local_site_name": "ddirw002-gr80d10vcda",
"peer_site_name": "dirw274t02vcda",
"peer_region": "jp-tok",
"note": "Text of the note..."
}
Local data center name.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
Example:
dal10
Local site name.
Example:
ddirw002-gr80d10vcda
Peer site name.
Example:
dirw274t02vcda
Peer region.
Example:
jp-tok
Note
Example:
Text of the note...
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { createDirectorSitesVcdaC2cConnectionOptions := vmwareService.NewCreateDirectorSitesVcdaC2cConnectionOptions( "site_id", "dal10", "ddirw002-gr80d10vcda", "dirw274t02vcda", "jp-tok", ) createDirectorSitesVcdaC2cConnectionOptions.SetAcceptLanguage("en-us") createDirectorSitesVcdaC2cConnectionOptions.SetXGlobalTransactionID("transaction1") vcdaC2c, response, err := vmwareService.CreateDirectorSitesVcdaC2cConnection(createDirectorSitesVcdaC2cConnectionOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vcdaC2c, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Response to create cloud-to-cloud connection.
ID of VCDA connection on the workload domain.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Status of the VCDA connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]The offering name of the peer site, "vmware_aas" or "vmware_shared".
Where to deploy the cluster.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
Example:
dal10
Site name.
Peer site name.
Peer region.
Note
Status Code
Ok
Bad Request
Unauthorized_Error
{ "id": "4b8d2641-5e1b-48c4-bd03-dd66edc824d7", "status": "creating", "peer_offering": "gen2", "local_data_center_name": "dal10", "local_site_name": "ddirw002-gr80d10vcda", "peer_site_name": "dirw274t02vcda", "peer_region": "jp-tok", "note": "Text of the note..." }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Delete a VCDA cloud-to-cloud connection
Delete a VCDA cloud-to-cloud connection in the Cloud Director site identified by {site_id}.
DELETE /director_sites/{site_id}/services/vcda/c2c_connections/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the cloud-to-cloud connections in the relationship Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Example:
connection_id
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { deleteDirectorSitesVcdaC2cConnectionOptions := vmwareService.NewDeleteDirectorSitesVcdaC2cConnectionOptions( "site_id", "connection_id", ) deleteDirectorSitesVcdaC2cConnectionOptions.SetAcceptLanguage("en-us") deleteDirectorSitesVcdaC2cConnectionOptions.SetXGlobalTransactionID("transaction1") vcdaC2c, response, err := vmwareService.DeleteDirectorSitesVcdaC2cConnection(deleteDirectorSitesVcdaC2cConnectionOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vcdaC2c, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Response to create cloud-to-cloud connection.
ID of VCDA connection on the workload domain.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Status of the VCDA connection.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]The offering name of the peer site, "vmware_aas" or "vmware_shared".
Where to deploy the cluster.
Possible values: 1 ≤ length ≤ 32, Value must match regular expression
^[a-zA-Z0-9-_ ]+$
Example:
dal10
Site name.
Peer site name.
Peer region.
Note
Status Code
Ok
Bad Request
Unauthorized_Error
{ "id": "4b8d2641-5e1b-48c4-bd03-dd66edc824d7", "status": "creating", "peer_offering": "gen2", "local_data_center_name": "dal10", "local_site_name": "ddirw002-gr80d10vcda", "peer_site_name": "dirw274t02vcda", "peer_region": "jp-tok", "note": "Text of the note..." }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Update note in the cloud-to-cloud connection
Update the note in the VCDA cloud-to-cloud connection in the Cloud Director site identified by {site_id}.
PATCH /director_sites/{site_id}/services/vcda/c2c_connections/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the cloud-to-cloud connections in the relationship Cloud Director site.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Example:
connection_id
Update VCDA cloud-to-cloud connection note.
{
"note": "New text of the note..."
}
Note
Example:
Text of the note...
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { updateDirectorSitesVcdaC2cConnectionOptions := vmwareService.NewUpdateDirectorSitesVcdaC2cConnectionOptions( "site_id", "connection_id", "Text of the note...", ) updateDirectorSitesVcdaC2cConnectionOptions.SetAcceptLanguage("en-us") updateDirectorSitesVcdaC2cConnectionOptions.SetXGlobalTransactionID("transaction1") updatedVcdaC2c, response, err := vmwareService.UpdateDirectorSitesVcdaC2cConnection(updateDirectorSitesVcdaC2cConnectionOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(updatedVcdaC2c, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Updated VCDA cloud-to-cloud connection note.
ID of VCDA connection on the workload domain.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
Note
Status Code
Ok
Bad Request
Unauthorized_Error
{ "id": "4b8d2641-5e1b-48c4-bd03-dd66edc824d7", "note": "New text of the note..." }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Get an OIDC configuration
Return the details of an OpenID Connect (OIDC) configuration on a Cloud Director site.
GET /director_sites/{site_id}/oidc_configuration
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/oidc_configuration' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { getOidcConfigurationOptions := vmwareService.NewGetOidcConfigurationOptions( "site_id", ) getOidcConfigurationOptions.SetAcceptLanguage("en-us") oidc, response, err := vmwareService.GetOidcConfiguration(getOidcConfigurationOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(oidc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Details of the OIDC configuration on a Cloud Director site.
Status of the OIDC configuration on a Cloud Director site.
Possible values: [
pending
,ready_to_use
,deleted
]The time after which the OIDC configuration is considered enabled.
Status Code
The request to get the OIDC configuration is successful.
The input data is either incomplete or in the wrong format.
The request cannot be completed at this time. Try again later.
{ "status": "ready_to_use", "last_set_at": "2022-01-01T12:00:00.000Z" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Set an OIDC configuration
Request to configure OpenID Connect (OIDC) on a Cloud Director site.
PUT /director_sites/{site_id}/oidc_configuration
Request
Custom Headers
Size of the message body in bytes.
Allowable values: [
0
]Possible values: value = 0
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
curl -X PUT 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/oidc_configuration' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json' -H 'Content-Length: 0'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { setOidcConfigurationOptions := vmwareService.NewSetOidcConfigurationOptions( "site_id", int64(0), ) setOidcConfigurationOptions.SetAcceptLanguage("en-us") oidc, response, err := vmwareService.SetOidcConfiguration(setOidcConfigurationOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(oidc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Details of the OIDC configuration on a Cloud Director site.
Status of the OIDC configuration on a Cloud Director site.
Possible values: [
pending
,ready_to_use
,deleted
]The time after which the OIDC configuration is considered enabled.
Status Code
The request to create an OIDC configuration is accepted.
The input data is either incomplete or in the wrong format.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The request cannot be completed because of a conflict.
The request cannot be completed at this time. Try again later.
{ "status": "pending", "last_set_at": "2022-01-01T12:00:00.000Z" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
List the resource pools in a Cloud Director site instance
List the resource pools in a specified Cloud Director site.
GET /director_sites/{site_id}/pvdcs
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listDirectorSitesPvdcsOptions := vmwareService.NewListDirectorSitesPvdcsOptions( "site_id", ) listDirectorSitesPvdcsOptions.SetAcceptLanguage("en-us") listDirectorSitesPvdcsOptions.SetXGlobalTransactionID("transaction1") pvdcCollection, response, err := vmwareService.ListDirectorSitesPvdcs(listDirectorSitesPvdcsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(pvdcCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Return all resource pool instances.
List of resource pool instances.
Possible values: 0 ≤ number of items ≤ 256
Status Code
OK
Unauthorized
Not found
{ "pvdcs": [ { "id": "pvdcuuid004", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid004", "data_center_name": "dal10", "status": "creating", "clusters": [ { "id": "clusteruuid005", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid004/clusters/clusteruuid005", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Create a resource pool instance in a specified Cloud Director site
Create an instance of a resource pool with specified configurations. The Cloud Director site instance is the infrastructure and associated VMware software stack, which consists of VMware vCenter Server, VMware NSX-T, and VMware Cloud Director. VMware platform management and operations are performed with Cloud Director. The minimum initial order size is 2 hosts (2-Socket 32 Cores, 192 GB RAM) with 24 TB of 2.0 IOPS/GB storage.
POST /director_sites/{site_id}/pvdcs
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
VMware resource pool order information.
{
"name": "pvdc-1",
"data_center_name": "dal10",
"clusters": [
{
"name": "cluster_1",
"host_count": 3,
"file_shares": {
"STORAGE_POINT_TWO_FIVE_IOPS_GB": 0,
"STORAGE_TWO_IOPS_GB": 24000,
"STORAGE_FOUR_IOPS_GB": 24000,
"STORAGE_TEN_IOPS_GB": 8000
},
"host_profile": "BM_2S_20_CORES_192_GB"
}
]
}
Name of the resource pool. Resource pool names must be unique per Cloud Director site instance and they cannot be changed after creation.
Possible values: 1 ≤ length ≤ 50, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
pvdc-1
Data center location to deploy the cluster. See
GET /director_site_regions
for supported data center locations.Possible values: 1 ≤ length ≤ 25, Value must match regular expression
^[0-9a-zA-Z-\_]{1,25}$
Example:
dal10
List of VMware clusters to deploy on the instance. Clusters form VMware workload availability boundaries.
Possible values: number of items = 1
curl -X POST 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "name": "pvdc-1", "data_center_name": "dal10", "clusters": [ { "name": "cluster_1", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ] }'
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { fileSharesPrototypeModel := &vmwarev1.FileSharesPrototype{} clusterPrototypeModel := &vmwarev1.ClusterPrototype{ Name: core.StringPtr("cluster_1"), HostCount: core.Int64Ptr(int64(2)), HostProfile: core.StringPtr("BM_2S_20_CORES_192_GB"), FileShares: fileSharesPrototypeModel, } createDirectorSitesPvdcsOptions := vmwareService.NewCreateDirectorSitesPvdcsOptions( "site_id", "pvdc-1", "dal10", []vmwarev1.ClusterPrototype{*clusterPrototypeModel}, ) createDirectorSitesPvdcsOptions.SetAcceptLanguage("en-us") createDirectorSitesPvdcsOptions.SetXGlobalTransactionID("transaction1") pvdc, response, err := vmwareService.CreateDirectorSitesPvdcs(createDirectorSitesPvdcsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(pvdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
VMware resource pool information.
Name of the resource pool. Resource pool names must be unique per Cloud Director site instance and they cannot be changed after creation.
Possible values: 1 ≤ length ≤ 50, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
pvdc-1
Data center location to deploy the cluster. See
GET /director_site_regions
for supported data center locations.Possible values: 1 ≤ length ≤ 25, Value must match regular expression
^[0-9a-zA-Z-\_]{1,25}$
Example:
dal10
The resource pool ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
The hyperlink of the resource pool resource.
List of VMware clusters to deploy on the instance. Clusters form VMware workload availability boundaries.
Possible values: number of items = 1
The status of the resource pool.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]List of resource pool types.
Possible values: 1 ≤ number of items ≤ 30
Status Code
OK
Bad Request
Unauthorized
{ "id": "pvdcuuid003", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid003", "data_center_name": "dal10", "status": "creating", "clusters": [ { "id": "clusteruuid004", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid003/clusters/clusteruuid004", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Get the specified resource pool in a Cloud Director site instance
Get the specified resource pools in a specified Cloud Director site.
GET /director_sites/{site_id}/pvdcs/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc-id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { getDirectorSitesPvdcsOptions := vmwareService.NewGetDirectorSitesPvdcsOptions( "site_id", "pvdc_id", ) getDirectorSitesPvdcsOptions.SetAcceptLanguage("en-us") getDirectorSitesPvdcsOptions.SetXGlobalTransactionID("transaction1") pvdc, response, err := vmwareService.GetDirectorSitesPvdcs(getDirectorSitesPvdcsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(pvdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
VMware resource pool information.
Name of the resource pool. Resource pool names must be unique per Cloud Director site instance and they cannot be changed after creation.
Possible values: 1 ≤ length ≤ 50, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
pvdc-1
Data center location to deploy the cluster. See
GET /director_site_regions
for supported data center locations.Possible values: 1 ≤ length ≤ 25, Value must match regular expression
^[0-9a-zA-Z-\_]{1,25}$
Example:
dal10
The resource pool ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
The hyperlink of the resource pool resource.
List of VMware clusters to deploy on the instance. Clusters form VMware workload availability boundaries.
Possible values: number of items = 1
The status of the resource pool.
Possible values: [
creating
,ready_to_use
,deleting
,deleted
,updating
]List of resource pool types.
Possible values: 1 ≤ number of items ≤ 30
Status Code
OK
Unauthorized
Not found
{ "id": "pvdcuuid003", "name": "pvdc-1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid003", "data_center_name": "dal10", "status": "creating", "clusters": [ { "id": "clusteruuid004", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid003/clusters/clusteruuid004", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" } ], "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
List clusters
List all VMware clusters of a Cloud Director site instance by specifying the instance ID.
GET /director_sites/{site_id}/pvdcs/{pvdc_id}/clusters
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc_id>/clusters' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listDirectorSitesPvdcsClustersOptions := vmwareService.NewListDirectorSitesPvdcsClustersOptions( "site_id", "pvdc_id", ) listDirectorSitesPvdcsClustersOptions.SetAcceptLanguage("en-us") listDirectorSitesPvdcsClustersOptions.SetXGlobalTransactionID("transaction1") clusterCollection, response, err := vmwareService.ListDirectorSitesPvdcsClusters(listDirectorSitesPvdcsClustersOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(clusterCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Return all clusters instances.
List of cluster objects.
Possible values: 0 ≤ number of items ≤ 256
Status Code
OK
Unauthorized
Not found
{ "clusters": [ { "id": "clusteruuid008", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid005/pvdcs/pvdcuuid/clusters/clusteruuid008", "data_center_name": "dal10", "director_site": { "id": "directorsiteuuid005", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid005", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid005" }, "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "instance_deleted": "2022-12-12 12:12:12Z", "host_count": 4, "name": "Cluster instance Name", "status": "creating", "host_profile": "bx2-metal-20x128", "billing_plan": "monthly", "storage_type": "nfs", "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 24000 } } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Create a cluster
Create a VMware cluster under a specified resource pool in a Cloud Director site instance.
POST /director_sites/{site_id}/pvdcs/{pvdc_id}/clusters
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
VMware Cluster order information. Clusters form VMware workload availability boundaries.
{
"name": "cluster_1",
"host_count": 3,
"file_shares": {
"STORAGE_TWO_IOPS_GB": 24000,
"STORAGE_FOUR_IOPS_GB": 24000,
"STORAGE_TEN_IOPS_GB": 8000
},
"host_profile": "BM_2S_20_CORES_192_GB"
}
Name of the VMware cluster. Cluster names must be unique per Cloud Director site instance. Cluster names cannot be changed after creation.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
cluster_1
Number of hosts in the VMware cluster.
Possible values: 2 ≤ value ≤ 25
The host type. IBM Cloud offers several different host types. Typically, the host type is selected based on the properties of the workload to be run in the VMware cluster.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[0-9a-zA-Z-\_]{1,128}$
Example:
BM_2S_20_CORES_192_GB
Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
curl -X POST 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc_id>/clusters' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "name": "cluster_1", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" }'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { fileSharesPrototypeModel := &vmwarev1.FileSharesPrototype{} createDirectorSitesPvdcsClustersOptions := vmwareService.NewCreateDirectorSitesPvdcsClustersOptions( "site_id", "pvdc_id", "cluster_1", int64(2), "BM_2S_20_CORES_192_GB", fileSharesPrototypeModel, ) createDirectorSitesPvdcsClustersOptions.SetAcceptLanguage("en-us") createDirectorSitesPvdcsClustersOptions.SetXGlobalTransactionID("transaction1") cluster, response, err := vmwareService.CreateDirectorSitesPvdcsClusters(createDirectorSitesPvdcsClustersOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(cluster, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A cluster resource
The cluster ID.
The cluster name.
The hyperlink of the cluster resource.
The time that the cluster is ordered.
The number of hosts in the cluster.
Possible values: 2 ≤ value ≤ 100
The status of the Cloud Director site cluster.
The location of deployed cluster.
Back link to associated Cloud Director site resource.
Examples:{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid002", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid002", "id": "directorsiteuuid002" }
The name of the host profile.
The storage type of the cluster.
Possible values: [
nfs
]The billing plan for the cluster.
Possible values: [
monthly
]Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
The time that the cluster is provisioned and available to use.
Status Code
Ok
Bad Request
Unauthorized_Error
{ "id": "clusteruuid006", "data_center_name": "dal10", "director_site": { "id": "directorsiteuuid003", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid003", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid003" }, "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid003/pvdcs/pvdcuuid/clusters/clusteruuid006", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "instance_deleted": "2022-12-12 12:12:12Z", "host_count": 4, "name": "Cluster name", "status": "creating", "host_profile": "bx2-metal-20x128", "billing_plan": "monthly", "storage_type": "nfs", "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 24000 } }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
Get a cluster
Get a specific VMware cluster from the resource pool in a Cloud Director site instance.
GET /director_sites/{site_id}/pvdcs/{pvdc_id}/clusters/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
The cluster to query.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
cluster_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/{pvdc_id}/clusters/<cluster_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { getDirectorInstancesPvdcsClusterOptions := vmwareService.NewGetDirectorInstancesPvdcsClusterOptions( "site_id", "cluster_id", "pvdc_id", ) getDirectorInstancesPvdcsClusterOptions.SetAcceptLanguage("en-us") getDirectorInstancesPvdcsClusterOptions.SetXGlobalTransactionID("transaction1") cluster, response, err := vmwareService.GetDirectorInstancesPvdcsCluster(getDirectorInstancesPvdcsClusterOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(cluster, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A cluster resource
The cluster ID.
The cluster name.
The hyperlink of the cluster resource.
The time that the cluster is ordered.
The number of hosts in the cluster.
Possible values: 2 ≤ value ≤ 100
The status of the Cloud Director site cluster.
The location of deployed cluster.
Back link to associated Cloud Director site resource.
Examples:{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid002", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid002", "id": "directorsiteuuid002" }
The name of the host profile.
The storage type of the cluster.
Possible values: [
nfs
]The billing plan for the cluster.
Possible values: [
monthly
]Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
The time that the cluster is provisioned and available to use.
Status Code
OK
Unauthorized
Not found
{ "id": "clusteruuid006", "data_center_name": "dal10", "director_site": { "id": "directorsiteuuid003", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid003", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid003" }, "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid003/pvdcs/pvdcuuid/clusters/clusteruuid006", "ordered_at": "2022-12-12 12:12:12Z", "provisioned_at": "2022-12-12 12:12:12Z", "instance_deleted": "2022-12-12 12:12:12Z", "host_count": 4, "name": "Cluster name", "status": "creating", "host_profile": "bx2-metal-20x128", "billing_plan": "monthly", "storage_type": "nfs", "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 24000 } }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Delete a cluster
Delete a cluster from a resource pool in a Cloud Director site instance by specifying the instance ID.
DELETE /director_sites/{site_id}/pvdcs/{pvdc_id}/clusters/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
The cluster to query.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
cluster_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
curl -X DELETE 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc_id>/clusters/<cluster_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { deleteDirectorSitesPvdcsClusterOptions := vmwareService.NewDeleteDirectorSitesPvdcsClusterOptions( "site_id", "cluster_id", "pvdc_id", ) deleteDirectorSitesPvdcsClusterOptions.SetAcceptLanguage("en-us") deleteDirectorSitesPvdcsClusterOptions.SetXGlobalTransactionID("transaction1") clusterSummary, response, err := vmwareService.DeleteDirectorSitesPvdcsCluster(deleteDirectorSitesPvdcsClusterOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(clusterSummary, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
VMware Cluster basic information.
The cluster name.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_-]{0,49}$
Example:
cluster_1
Number of hosts in the VMware cluster.
Possible values: 2 ≤ value ≤ 25
The host type. IBM Cloud offers several different host types. Typically, the host type is selected based on the properties of the workload to be run in the VMware cluster.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[0-9a-zA-Z-\_]{1,128}$
Example:
BM_2S_20_CORES_192_GB
The cluster ID.
The location of the deployed cluster.
The status of the cluster.
The hyperlink of the cluster resource.
Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
Status Code
OK
Bad Request
Not found
{ "id": "clusteruuid003", "name": "cluster_1", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid/pvdcs/pvdcuuid/clusters/clusteruuid003", "status": "creating", "data_center_name": "dal10", "host_count": 3, "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 0, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 24000, "STORAGE_TEN_IOPS_GB": 8000 }, "host_profile": "BM_2S_20_CORES_192_GB" }
{ "trace": "trace id", "status_code": 400, "errors": [ { "code": "m010_cannot_delete_workload_domain", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b is already deleting." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
Update a cluster
Update the number of hosts or file storage shares of a specific cluster in a specific Cloud Director site instance. VMware clusters must have between [2-25] hosts.
PATCH /director_sites/{site_id}/pvdcs/{pvdc_id}/clusters/{id}
Auditing
Calling this method generates the following auditing events, depending on any listed conditions.
The event that is generated depends on whether the count
passed in the request is larger than the existing number of hosts.
vmware.directorsite-host.add
Generated if
count
is larger than existing number of hosts.vmware.directorsite-host.remove
Generated if
count
is less than existing number of hosts.vmware.directorsite-nfs-storage.add
Generated if the storage size that is passed in the request is larger than the current storage size.
vmware.directorsite-nfs-storage.remove
Generated if the storage size that is passed in the request is smaller than the current storage size.
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
Path Parameters
A unique ID for the Cloud Director site in which the virtual data center was created.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
site_id
The cluster to query.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
cluster_id
A unique ID for the resource pool in a Cloud Director site.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
pvdc_id
The cluster patch. Currently, specifying both file_shares and host_count in one call is not supported.
{
"host_count": 2
}
Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
Number of hosts to add to or remove from the cluster.
Possible values: 2 ≤ value ≤ 25
curl -X PATCH 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc_id>/clusters/<cluster_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "host_count": 2 }'
curl -X PATCH 'https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/<site_id>/pvdcs/<pvdc_id>/clusters/<cluster_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "file_shares": { "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 } }'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { clusterPatchModel := &vmwarev1.ClusterPatch{} clusterPatchModelAsPatch, asPatchErr := clusterPatchModel.AsPatch() updateDirectorSitesPvdcsClusterOptions := vmwareService.NewUpdateDirectorSitesPvdcsClusterOptions( "site_id", "cluster_id", "pvdc_id", clusterPatchModelAsPatch, ) updateDirectorSitesPvdcsClusterOptions.SetAcceptLanguage("en-us") updateDirectorSitesPvdcsClusterOptions.SetXGlobalTransactionID("transaction1") updateCluster, response, err := vmwareService.UpdateDirectorSitesPvdcsCluster(updateDirectorSitesPvdcsClusterOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(updateCluster, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Response of cluster update
The cluster ID.
The cluster name.
The hyperlink of the cluster resource.
The time that the cluster is ordered.
The number of hosts in the cluster.
Possible values: 2 ≤ value ≤ 100
The status of the Cloud Director site cluster.
The location of deployed cluster.
Back link to associated Cloud Director site resource.
Examples:{ "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::directorsite:directorsiteuuid002", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid002", "id": "directorsiteuuid002" }
The name of the host profile.
The storage type of the cluster.
Possible values: [
nfs
]The billing plan for the cluster.
Possible values: [
monthly
]Chosen storage policies and their sizes.
Examples:{ "STORAGE_POINT_TWO_FIVE_IOPS_GB": 24000, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 48000, "STORAGE_TEN_IOPS_GB": 72000 }
Information of request accepted.
Example:
The request has been accepted.
ID to track the update operation of the cluster.
Possible values: 1 ≤ length ≤ 64, Value must match regular expression
^[-0-9a-z_]+$
The time that the cluster is provisioned and available to use.
Status Code
OK
Unauthorized
Not found
{ "id": "3b51c519-de2a-47d3-8a69-edf70e52097b", "director_site": { "id": "4b8d2641-5e1b-48c4-bd03-dd66edc824d8", "crn": "crn:v1:staging:public:vmware:us-south:a/3886cae42be94f6a89c4b7c282708f34::directorsite: 4b8d2641-5e1b-48c4-bd03-dd66edc824d8", "href": "https://api.us-south.vmware.cloud.ibm.com/director_sites/4b8d2641-5e1b-48c4-bd03-dd66edc824d8" }, "ordered_at": "2021-08-26T23:15:55.682215+00:00", "provisioned_at": "2021-08-26T23:15:55.682215+00:00", "host_count": 4, "name": "cluster_instance_1", "status": "creating", "data_center_name": "dal10", "deduplication_and_compression": true, "host_profile": "BM_2S_20_CORES_192_GB", "billing_plan": "hourly", "storage_type": "vsan", "file_shares": { "STORAGE_POINT_TWO_FIVE_IOPS_GB": 200, "STORAGE_TWO_IOPS_GB": 24000, "STORAGE_FOUR_IOPS_GB": 3, "STORAGE_TEN_IOPS_GB": 1 }, "message": "The request has been accepted.", "operation_id": "4b8d2641-5e1b-48c4-bd03-dd66edc824d7", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/director_sites/directorsiteuuid003/pvdcs/pvdcuuid/clusters/clusteruuid006", "instance_deleted": "2022-12-12 12:12:12Z" }
{ "trace": "trace id", "status_code": 401, "errors": [ { "code": "m055_cannot_update_status_director_site", "message": "Invalid Token was provided." } ] }
{ "trace": "trace id", "status_code": 404, "errors": [ { "code": "m013_no_datacenters_found", "message": "The requested Cloud Director site instance acfb9e70-99ac-47fb-9fbc-38ce7f716e5b was not found." } ] }
List regions
List all IBM Cloud regions enabled for users to create a new Cloud Director site instance.
GET /director_site_regions
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_site_regions' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listDirectorSiteRegionsOptions := vmwareService.NewListDirectorSiteRegionsOptions() listDirectorSiteRegionsOptions.SetAcceptLanguage("en-us") listDirectorSiteRegionsOptions.SetXGlobalTransactionID("transaction1") directorSiteRegionCollection, response, err := vmwareService.ListDirectorSiteRegions(listDirectorSiteRegionsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSiteRegionCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Success. The request was successfully processed.
Regions of Cloud Director sites.
Possible values: 1 ≤ number of items ≤ 30
Status Code
Enabled regions found.
{ "director_site_regions": [ { "name": "us-south", "data_centers": [ { "display_name": "Dallas 10", "name": "dal10", "uplink_speed": "25GB" }, { "display_name": "Dallas 12", "name": "dal12", "uplink_speed": "25GB" }, { "display_name": "Dallas 13", "name": "dal13", "uplink_speed": "25GB" } ], "endpoint": "https://us-south.managed.vmware.cloud.ibm.com" } ] }
Get all multitenant Cloud Director sites
Retrieve a collection of multitenant Cloud Director sites.
GET /multitenant_director_sites
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/multitenant_director_sites' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listMultitenantDirectorSitesOptions := vmwareService.NewListMultitenantDirectorSitesOptions() listMultitenantDirectorSitesOptions.SetAcceptLanguage("en-us") listMultitenantDirectorSitesOptions.SetXGlobalTransactionID("transaction1") multitenantDirectorSiteCollection, response, err := vmwareService.ListMultitenantDirectorSites(listMultitenantDirectorSitesOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(multitenantDirectorSiteCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
List of multitenant Cloud Director sites.
Multitenant Cloud Director sites.
Possible values: 1 ≤ number of items ≤ 30
Status Code
Multitenant Cloud Director sites found.
{ "multitenant_director_sites": [ { "display_name": "Dallas Multitenant", "name": "dal_multi-tenant", "id": "123456789", "private_only": false, "services": [ "veeam", "vcda" ], "region": "us-south", "pvdcs": [ { "name": "Pvdc_1", "id": "123456789", "private_only": false, "data_center_name": "dal12", "provider_types": [ { "name": "on_demand" }, { "name": "reserved" } ] } ] } ] }
List host profiles
List available host profiles that can be used when you create a Cloud Director site instance. IBM Cloud offers several different host types. Typically, the host type is selected based on the properties of the workload to be run in the VMware cluster.
GET /director_site_host_profiles
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Transaction ID.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
transaction1
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/director_site_host_profiles' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listDirectorSiteHostProfilesOptions := vmwareService.NewListDirectorSiteHostProfilesOptions() listDirectorSiteHostProfilesOptions.SetAcceptLanguage("en-us") listDirectorSiteHostProfilesOptions.SetXGlobalTransactionID("transaction1") directorSiteHostProfileCollection, response, err := vmwareService.ListDirectorSiteHostProfiles(listDirectorSiteHostProfilesOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(directorSiteHostProfileCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
Success. The request was successfully processed.
The list of available host profiles.
Possible values: 2 ≤ number of items ≤ 25
Status Code
Host profiles found.
{ "director_site_host_profiles": [ { "cpu": 32, "family": "cascade", "features": [ "UEFI", "NVMe" ], "id": "BM_2S_32_CORES_192_GB", "manufacturer": "intel", "processor": "Dual Intel 5218 Xeon", "ram": 192, "socket": 2, "speed": "2.3 GHz" }, { "cpu": 48, "family": "cascade", "features": [ "UEFI", "NVMe" ], "id": "BM_2S_48_CORES_384_GB", "manufacturer": "intel", "processor": "Dual Intel 8260 Xeon", "ram": 384, "socket": 2, "speed": "2.4 GHz" }, { "cpu": 48, "family": "cascade", "features": [ "UEFI", "NVMe" ], "id": "BM_2S_48_CORES_768_GB", "manufacturer": "intel", "processor": "Dual Intel 8260 Xeon", "ram": 768, "socket": 2, "speed": "2.4 GHz" }, { "cpu": 96, "family": "cascade", "features": [ "UEFI", "NVMe" ], "id": "BM_4S_96_CORES_1536_GB", "manufacturer": "intel", "processor": "Quad Intel 8260 Xeon", "ram": 1536, "socket": 4, "speed": "2.4 GHz" } ] }
List virtual data centers
List all virtual data centers (VDCs) that user has access to in the cloud account.
GET /vdcs
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { listVdcsOptions := vmwareService.NewListVdcsOptions() listVdcsOptions.SetAcceptLanguage("en-us") vdcCollection, response, err := vmwareService.ListVdcs(listVdcsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vdcCollection, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A list of virtual data centers (VDCs).
A list of virtual data centers (VDCs).
Possible values: 0 ≤ number of items ≤ 128
Status Code
The request to list virtual data centers (VDCs) completed successfully.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
{ "vdcs": [ { "id": "id", "provisioned_at": "2022-12-12 12:12:12Z", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::vdc:vdcuuid", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/id", "director_site": { "id": "directorsiteuuid010", "pvdc": { "id": "pvdcuuid010", "provider_type": { "name": "paygo" } }, "url": "https://sdaldir04.vmware-solutions.cloud.ibm.com/tenant/org" }, "edges": [ { "id": "edge-id-1", "public_ips": [ "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6", "192.168.0.7" ], "private_ips": [], "size": "medium", "status": "ready_to_use", "transit_gateways": [ { "id": "id", "status": "ready_to_use", "connections": [ { "name": "connection", "transit_gateway_connection_name": "transit_gateway_connection", "local_gateway_ip": "192.168.1.1", "remote_gateway_ip": "192.168.1.2", "local_tunnel_ip": "192.168.2.1", "remote_tunnel_ip": "192.168.2.2", "local_bgp_asn": 987654321, "remote_bgp_asn": 987654321, "status": "ready_to_use", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_type": "unbound_gre_tunnel", "base_network_type": "classic", "zone": "us-south-1" } ] } ], "type": "performance", "version": "2.0", "private_only": false } ], "status_reasons": [], "name": "vdc", "ordered_at": "2022-12-12 12:12:12Z", "org_href": "https://api.us-south.vmware.cloud.ibm.com/api/org/id", "org_name": "org", "resource_group": { "id": "default" }, "status": "ready_to_use", "type": "single_tenant", "fast_provisioning_enabled": false, "rhel_byol": false, "windows_byol": false } ] }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Create a virtual data center
Create a virtual data center (VDC) with specified configurations.
POST /vdcs
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Information required to create a virtual data center (VDC).
{
"edge": {
"size": "medium",
"type": "performance"
},
"name": "sampleVDC",
"resource_group": {
"id": "resourcegroupid"
},
"fast_provisioning_enabled": false,
"director_site": {
"id": "directorsiteuuid006",
"pvdc": {
"id": "pvdcuuid006"
}
}
}
A human readable ID for the virtual data center (VDC). Use a name that is unique to your region.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[a-zA-Z][A-Za-z0-9_\-]{1,128}$
Example:
sampleVDC
The Cloud Director site in which to deploy the virtual data center (VDC).
The networking edge to be deployed on the virtual data center (VDC).
Indicates whether to enable or not fast provisioning.
The resource group to associate with the resource instance. If not specified, the default resource group in the account is used.
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is required when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is required when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
Indicates if the RHEL VMs will be using the license from IBM or the customer will use their own license (BYOL).
Default:
false
Indicates if the Microsoft Windows VMs will be using the license from IBM or the customer will use their own license (BYOL).
Default:
false
curl -X POST 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json' -d '{ "edge": { "size": "medium", "type": "performance" }, "name": "sampleVDC", "fast_provisioning_enabled": false, "director_site": { "id": "directorsiteuuid", "pvdc": { "id": "pvdc_uuid" } } }'
package main import ( "encoding/json" "fmt" "github.com/IBM/go-sdk-core/v5/core" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { directorSitePvdcModel := &vmwarev1.DirectorSitePVDC{ ID: core.StringPtr("pvdc_id"), } vdcDirectorSitePrototypeModel := &vmwarev1.VDCDirectorSitePrototype{ ID: core.StringPtr("site_id"), Pvdc: directorSitePvdcModel, } createVdcOptions := vmwareService.NewCreateVdcOptions( "sampleVDC", vdcDirectorSitePrototypeModel, ) createVdcOptions.SetAcceptLanguage("en-us") vdc, response, err := vmwareService.CreateVdc(createVdcOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A VMware virtual data center (VDC). VMware VDCs are used to deploy and run VMware virtualized networking and run VMware workloads. VMware VDCs form loose boundaries of networking and workload where networking and workload can be shared or optionally isolated between VDCs. You can deploy one or more VDCs in an instance except when you are using the minimal instance configuration, which consists of 2 hosts (2-Socket 32 Cores, 192 GB RAM). With the minimal instance configuration, you can start with just one VDC and a performance network edge of medium size until additional hosts are added to the cluster.
The URL of this virtual data center (VDC).
A unique ID for the virtual data center (VDC).
A unique ID for the virtual data center (VDC) in IBM Cloud.
The Cloud Director site in which to deploy the virtual data center (VDC).
The VMware NSX-T networking edges deployed on the virtual data center (VDC). NSX-T edges are used for bridging virtualization networking to the physical public-internet and IBM private networking.
Possible values: 0 ≤ number of items ≤ 128
Information about why the request to create the virtual data center (VDC) cannot be completed.
Possible values: 0 ≤ number of items ≤ 128
A human readable ID for the virtual data center (VDC).
The time that the virtual data center (VDC) is ordered.
The URL of the organization that owns the VDC.
The name of the VMware Cloud Director organization that contains this virtual data center (VDC). VMware Cloud Director organizations are used to create strong boundaries between VDCs. There is a complete isolation of user administration, networking, workloads, and VMware Cloud Director catalogs between different Director organizations.
Determines the state of the virtual data center.
Possible values: [
creating
,ready_to_use
,modifying
,deleting
,deleted
,failed
]Determines whether this virtual data center is in a single-tenant or multitenant Cloud Director site.
Possible values: [
single_tenant
,multitenant
]Determines whether this virtual data center has fast provisioning enabled or not.
Indicates if the RHEL VMs will be using the license from IBM or the customer will use their own license (BYOL).
Indicates if the Microsoft Windows VMs will be using the license from IBM or the customer will use their own license (BYOL).
The time that the virtual data center (VDC) is provisioned and available to use.
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
The time that the virtual data center (VDC) is deleted.
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
Status Code
The request to create a virtual data center (VDC) is accepted.
The input data is either incomplete or in the wrong format.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
{ "id": "id", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::vdc:vdcuuid", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/id", "director_site": { "id": "directorsiteuuid007", "pvdc": { "id": "pvdcuuid007", "provider_type": { "name": "paygo" } }, "url": "https://sdaldir04.vmware-solutions.cloud.ibm.com/tenant/org" }, "edges": [], "status_reasons": [], "name": "vdc", "ordered_at": "2022-12-12 12:12:12Z", "org_href": "https://api.us-south.vmware.cloud.ibm.com/api/org/id", "org_name": "org", "resource_group": { "id": "default" }, "status": "creating", "type": "single_tenant", "fast_provisioning_enabled": false, "rhel_byol": false, "windows_byol": false }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Get a virtual data center
Get details about a virtual data center (VDC) by specifying the VDC ID.
GET /vdcs/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for a specified virtual data center.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
vdc_id
curl -X GET 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { getVdcOptions := vmwareService.NewGetVdcOptions( "vdc_id", ) getVdcOptions.SetAcceptLanguage("en-us") vdc, response, err := vmwareService.GetVdc(getVdcOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A VMware virtual data center (VDC). VMware VDCs are used to deploy and run VMware virtualized networking and run VMware workloads. VMware VDCs form loose boundaries of networking and workload where networking and workload can be shared or optionally isolated between VDCs. You can deploy one or more VDCs in an instance except when you are using the minimal instance configuration, which consists of 2 hosts (2-Socket 32 Cores, 192 GB RAM). With the minimal instance configuration, you can start with just one VDC and a performance network edge of medium size until additional hosts are added to the cluster.
The URL of this virtual data center (VDC).
A unique ID for the virtual data center (VDC).
A unique ID for the virtual data center (VDC) in IBM Cloud.
The Cloud Director site in which to deploy the virtual data center (VDC).
The VMware NSX-T networking edges deployed on the virtual data center (VDC). NSX-T edges are used for bridging virtualization networking to the physical public-internet and IBM private networking.
Possible values: 0 ≤ number of items ≤ 128
Information about why the request to create the virtual data center (VDC) cannot be completed.
Possible values: 0 ≤ number of items ≤ 128
A human readable ID for the virtual data center (VDC).
The time that the virtual data center (VDC) is ordered.
The URL of the organization that owns the VDC.
The name of the VMware Cloud Director organization that contains this virtual data center (VDC). VMware Cloud Director organizations are used to create strong boundaries between VDCs. There is a complete isolation of user administration, networking, workloads, and VMware Cloud Director catalogs between different Director organizations.
Determines the state of the virtual data center.
Possible values: [
creating
,ready_to_use
,modifying
,deleting
,deleted
,failed
]Determines whether this virtual data center is in a single-tenant or multitenant Cloud Director site.
Possible values: [
single_tenant
,multitenant
]Determines whether this virtual data center has fast provisioning enabled or not.
Indicates if the RHEL VMs will be using the license from IBM or the customer will use their own license (BYOL).
Indicates if the Microsoft Windows VMs will be using the license from IBM or the customer will use their own license (BYOL).
The time that the virtual data center (VDC) is provisioned and available to use.
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
The time that the virtual data center (VDC) is deleted.
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
Status Code
The request to get a virtual data center (VDC) completed successfully.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
{ "id": "id", "provisioned_at": "2022-12-12 12:12:12Z", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::vdc:vdcuuid", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/id", "director_site": { "id": "directorsiteuuid008", "pvdc": { "id": "pvdcuuid008", "provider_type": { "name": "paygo" } }, "url": "https://sdaldir04.vmware-solutions.cloud.ibm.com/tenant/org" }, "edges": [ { "id": "edge-id-1", "public_ips": [ "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6", "192.168.0.7" ], "private_ips": [], "size": "medium", "status": "ready_to_use", "transit_gateways": [ { "id": "id", "status": "ready_to_use", "connections": [ { "name": "connection", "transit_gateway_connection_name": "transit_gateway_connection", "local_gateway_ip": "192.168.1.1", "remote_gateway_ip": "192.168.1.2", "local_tunnel_ip": "192.168.2.1", "remote_tunnel_ip": "192.168.2.2", "local_bgp_asn": 987654321, "remote_bgp_asn": 987654321, "status": "ready_to_use", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_type": "unbound_gre_tunnel", "base_network_type": "classic", "zone": "us-south-1" } ] } ], "type": "performance", "version": "2.0", "private_only": false } ], "status_reasons": [], "name": "vdc", "ordered_at": "2022-12-12 12:12:12Z", "org_href": "https://api.us-south.vmware.cloud.ibm.com/api/org/id", "org_name": "org", "resource_group": { "id": "default" }, "status": "ready_to_use", "type": "single_tenant", "fast_provisioning_enabled": false, "rhel_byol": false, "windows_byol": false }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Delete a virtual data center
Delete a virtual data center (VDC) by specifying the VDC ID.
DELETE /vdcs/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for a specified virtual data center.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
vdc_id
curl -X DELETE 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>' -H 'authorization: Bearer <IAM_token>' -H 'Content-Type:application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { deleteVdcOptions := vmwareService.NewDeleteVdcOptions( "vdc_id", ) deleteVdcOptions.SetAcceptLanguage("en-us") vdc, response, err := vmwareService.DeleteVdc(deleteVdcOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A VMware virtual data center (VDC). VMware VDCs are used to deploy and run VMware virtualized networking and run VMware workloads. VMware VDCs form loose boundaries of networking and workload where networking and workload can be shared or optionally isolated between VDCs. You can deploy one or more VDCs in an instance except when you are using the minimal instance configuration, which consists of 2 hosts (2-Socket 32 Cores, 192 GB RAM). With the minimal instance configuration, you can start with just one VDC and a performance network edge of medium size until additional hosts are added to the cluster.
The URL of this virtual data center (VDC).
A unique ID for the virtual data center (VDC).
A unique ID for the virtual data center (VDC) in IBM Cloud.
The Cloud Director site in which to deploy the virtual data center (VDC).
The VMware NSX-T networking edges deployed on the virtual data center (VDC). NSX-T edges are used for bridging virtualization networking to the physical public-internet and IBM private networking.
Possible values: 0 ≤ number of items ≤ 128
Information about why the request to create the virtual data center (VDC) cannot be completed.
Possible values: 0 ≤ number of items ≤ 128
A human readable ID for the virtual data center (VDC).
The time that the virtual data center (VDC) is ordered.
The URL of the organization that owns the VDC.
The name of the VMware Cloud Director organization that contains this virtual data center (VDC). VMware Cloud Director organizations are used to create strong boundaries between VDCs. There is a complete isolation of user administration, networking, workloads, and VMware Cloud Director catalogs between different Director organizations.
Determines the state of the virtual data center.
Possible values: [
creating
,ready_to_use
,modifying
,deleting
,deleted
,failed
]Determines whether this virtual data center is in a single-tenant or multitenant Cloud Director site.
Possible values: [
single_tenant
,multitenant
]Determines whether this virtual data center has fast provisioning enabled or not.
Indicates if the RHEL VMs will be using the license from IBM or the customer will use their own license (BYOL).
Indicates if the Microsoft Windows VMs will be using the license from IBM or the customer will use their own license (BYOL).
The time that the virtual data center (VDC) is provisioned and available to use.
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
The time that the virtual data center (VDC) is deleted.
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
Status Code
The request to delete a virtual data center (VDC) is accepted.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
{ "id": "id", "provisioned_at": "2022-12-12 12:12:12Z", "crn": "crn:v1:bluemix:public:vmware:us-south:a/accuntid::vdc:vdcuuid", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/id", "director_site": { "id": "directorsiteuuid009", "pvdc": { "id": "pvdcuuid009", "provider_type": { "name": "paygo" } }, "url": "https://sdaldir04.vmware-solutions.cloud.ibm.com/tenant/org" }, "edges": [ { "id": "edge-id-1", "public_ips": [ "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6", "192.168.0.7" ], "private_ips": [], "size": "medium", "status": "ready_to_use", "transit_gateways": [], "type": "performance", "version": "1.0", "private_only": false } ], "status_reasons": [], "name": "vdc", "ordered_at": "2022-12-12 12:12:12Z", "org_href": "https://api.us-south.vmware.cloud.ibm.com/api/org/id", "org_name": "org", "resource_group": { "id": "default" }, "status": "deleting", "type": "single_tenant", "fast_provisioning_enabled": false, "rhel_byol": false, "windows_byol": false }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for a specified virtual data center.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
vdc_id
Information required to update a virtual data center (VDC).
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is required when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
Indicates whether to enable or not fast provisioning.
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is required when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
curl -X PATCH 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json' -d '{ "fast_provisioning_enabled": true }'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { vdcPatchModel := &vmwarev1.VDCPatch{} vdcPatchModelAsPatch, asPatchErr := vdcPatchModel.AsPatch() updateVdcOptions := vmwareService.NewUpdateVdcOptions( "vdc_id", vdcPatchModelAsPatch, ) updateVdcOptions.SetAcceptLanguage("en-us") vdc, response, err := vmwareService.UpdateVdc(updateVdcOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(vdc, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
A VMware virtual data center (VDC). VMware VDCs are used to deploy and run VMware virtualized networking and run VMware workloads. VMware VDCs form loose boundaries of networking and workload where networking and workload can be shared or optionally isolated between VDCs. You can deploy one or more VDCs in an instance except when you are using the minimal instance configuration, which consists of 2 hosts (2-Socket 32 Cores, 192 GB RAM). With the minimal instance configuration, you can start with just one VDC and a performance network edge of medium size until additional hosts are added to the cluster.
The URL of this virtual data center (VDC).
A unique ID for the virtual data center (VDC).
A unique ID for the virtual data center (VDC) in IBM Cloud.
The Cloud Director site in which to deploy the virtual data center (VDC).
The VMware NSX-T networking edges deployed on the virtual data center (VDC). NSX-T edges are used for bridging virtualization networking to the physical public-internet and IBM private networking.
Possible values: 0 ≤ number of items ≤ 128
Information about why the request to create the virtual data center (VDC) cannot be completed.
Possible values: 0 ≤ number of items ≤ 128
A human readable ID for the virtual data center (VDC).
The time that the virtual data center (VDC) is ordered.
The URL of the organization that owns the VDC.
The name of the VMware Cloud Director organization that contains this virtual data center (VDC). VMware Cloud Director organizations are used to create strong boundaries between VDCs. There is a complete isolation of user administration, networking, workloads, and VMware Cloud Director catalogs between different Director organizations.
Determines the state of the virtual data center.
Possible values: [
creating
,ready_to_use
,modifying
,deleting
,deleted
,failed
]Determines whether this virtual data center is in a single-tenant or multitenant Cloud Director site.
Possible values: [
single_tenant
,multitenant
]Determines whether this virtual data center has fast provisioning enabled or not.
Indicates if the RHEL VMs will be using the license from IBM or the customer will use their own license (BYOL).
Indicates if the Microsoft Windows VMs will be using the license from IBM or the customer will use their own license (BYOL).
The time that the virtual data center (VDC) is provisioned and available to use.
The vCPU usage limit on the virtual data center (VDC). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 2000
The time that the virtual data center (VDC) is deleted.
The RAM usage limit on the virtual data center (VDC) in GB (1024^3 bytes). Supported for VDCs deployed on a multitenant Cloud Director site. This property is applicable when the resource pool type is reserved.
Possible values: 0 ≤ value ≤ 40960
Status Code
The request to update a virtual data center (VDC) is accepted.
The input data is either incomplete or in the wrong format.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
The request cannot be completed at this time. Try again later.
{ "id": "id", "created_at": "2022-01-01 12:00:00+00", "crn": "crn:v1:bluemix:public:vmware:us-south:a/account_id::vdc:id", "href": "https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/id", "director_site": { "id": "12345678-9abc-defg-ijkl-mnopqrstuvwx", "pvdc": { "id": "12345678-9abc-defg-ijkl-mnopqrstuvwx", "provider_type": { "name": "paygo" } }, "url": "https://sdaldir04.vmware-solutions.cloud.ibm.com/tenant/org" }, "edges": [ { "id": "edge-id-1", "public_ips": [ "192.168.0.2", "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6", "192.168.0.7" ], "private_ips": [], "size": "medium", "status": "ready_to_use", "type": "performance", "transit_gateways": [], "version": "1.0", "private_only": false } ], "status_reasons": [], "name": "vdc", "ordered_at": "2022-01-01 12:00:00+00", "org_href": "https://api.us-south.vmware.cloud.ibm.com/api/org/id", "org_name": "org", "resource_group": { "id": "default" }, "status": "modifying", "type": "single_tenant", "fast_provisioning_enabled": false, "rhel_byol": false, "windows_byol": false }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Add IBM Transit Gateway connections to edge
Add IBM Transit Gateway connections to an edge and virtual data center.
PUT /vdcs/{vdc_id}/edges/{edge_id}/transit_gateways/{id}
Request
Custom Headers
Size of the message body in bytes.
Allowable values: [
0
]Possible values: value = 0
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for a virtual data center.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
vdc_id
A unique ID for an edge.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
edge_id
A unique ID for an IBM Transit Gateway.
Possible values: length = 36, Value must match regular expression
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
Example:
transit_gateway_id
The region where the IBM Transit Gateway is deployed. If not specified, the IBM Transit Gateway is assumed to be in the same region as the Cloud Director site where the VDC is deployed.
The region where the IBM Transit Gateway is deployed.
Possible values: 1 ≤ length ≤ 25, Value must match regular expression
^(?!\s*$).+
Example:
jp-tok
curl -X PUT 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>/edges/<edge_id>/transit_gateways/<transit_gateway_id>' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json' -H 'Content-Length: 0'
curl -X PUT 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>/edges/<edge_id>/transit_gateways/<transit_gateway_id>' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json' -d '{ "region": "jp-tok" }'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { addTransitGatewayConnectionsOptions := vmwareService.NewAddTransitGatewayConnectionsOptions( "vdc_id", "edge_id", "transit_gateway_id", int64(0), ) addTransitGatewayConnectionsOptions.SetAcceptLanguage("en-us") transitGateway, response, err := vmwareService.AddTransitGatewayConnections(addTransitGatewayConnectionsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(transitGateway, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
An IBM Transit Gateway.
A unique ID for an IBM Transit Gateway.
IBM Transit Gateway connections.
Possible values: 1 ≤ number of items ≤ 128
Determines the state of the IBM Transit Gateway based on its connections.
Possible values: [
pending
,creating
,ready_to_use
,deleting
]The region where the IBM Transit Gateway is deployed.
Status Code
The request to connect to an IBM Transit Gateway is accepted.
The input data is either incomplete or in the wrong format.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
{ "id": "20bcbdac-27ed-4186-a1da-de6f28de401e", "region": "jp-tok", "connections": [ { "name": "connection", "status": "pending", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_type": "unbound_gre_tunnel", "base_network_type": "classic", "zone": "jp-tok-1" } ], "status": "pending" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
Remove IBM Transit Gateway connections from edge
Remove IBM Transit Gateway connections from an edge and virtual data center.
DELETE /vdcs/{vdc_id}/edges/{edge_id}/transit_gateways/{id}
Request
Custom Headers
Language.
Possible values: 1 ≤ length ≤ 256, Value must match regular expression
^[A-Za-z0-9-,;=\.\*\s]{1,256}$
Example:
en-us
Path Parameters
A unique ID for a virtual data center.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
vdc_id
A unique ID for an edge.
Possible values: 1 ≤ length ≤ 128, Value must match regular expression
^[A-Za-z0-9_-]{1,128}$
Example:
edge_id
A unique ID for an IBM Transit Gateway.
Possible values: length = 36, Value must match regular expression
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
Example:
transit_gateway_id
curl -X DELETE 'https://api.us-south.vmware.cloud.ibm.com/v1/vdcs/<vdc_id>/edges/<edge_id>/transit_gateways/<transit_gateway_id>' -H 'Authorization: Bearer <IAM_token>' -H 'Content-Type: application/json'
package main import ( "encoding/json" "fmt" "github.com/IBM/vmware-go-sdk/vmwarev1" ) var ( vmwareService *vmwarev1.VmwareV1 ) func main() { removeTransitGatewayConnectionsOptions := vmwareService.NewRemoveTransitGatewayConnectionsOptions( "vdc_id", "edge_id", "transit_gateway_id", ) removeTransitGatewayConnectionsOptions.SetAcceptLanguage("en-us") transitGateway, response, err := vmwareService.RemoveTransitGatewayConnections(removeTransitGatewayConnectionsOptions) if err != nil { panic(err) } b, _ := json.MarshalIndent(transitGateway, "", " ") fmt.Println(string(b)) fmt.Println(response) }
Response
An IBM Transit Gateway.
A unique ID for an IBM Transit Gateway.
IBM Transit Gateway connections.
Possible values: 1 ≤ number of items ≤ 128
Determines the state of the IBM Transit Gateway based on its connections.
Possible values: [
pending
,creating
,ready_to_use
,deleting
]The region where the IBM Transit Gateway is deployed.
Status Code
The request to disconnect from an IBM Transit Gateway is accepted.
The input data is either incomplete or in the wrong format.
You are not allowed to make this request because of a missing or bad authentication token.
You are not allowed to make this request because you do not have enough permissions to perform this operation.
The requested resource cannot be found.
{ "id": "20bcbdac-27ed-4186-a1da-de6f28de401e", "region": "us-south", "connections": [ { "name": "connection", "transit_gateway_connection_name": "transit_gateway_connection", "local_gateway_ip": "192.168.1.1", "remote_gateway_ip": "192.168.1.2", "local_tunnel_ip": "192.168.2.1", "remote_tunnel_ip": "192.168.2.2", "local_bgp_asn": 987654321, "remote_bgp_asn": 987654321, "status": "ready_to_use", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_type": "unbound_gre_tunnel", "base_network_type": "classic", "zone": "us-south-1" } ], "status": "ready_to_use" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }
{ "errors": [ { "code": "bad_request_problem", "message": "The service encountered an unexpected error", "more_info": "/link/to/error/doc" } ], "status_code": 400, "trace": "some trace info" }