IBM Cloud API Docs

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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.create

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite.create

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

Examples:
{
  "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"
        }
      ]
    }
  ]
}
  • 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.

Status Code

  • OK

  • Bad Request

  • Unauthorized

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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.

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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.

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.delete

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite.delete

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.

Status Code

  • OK

  • Bad Request

  • Not found

Example responses
  • {
      "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

Examples:
{
  "enable": true
}

Response

Enable Service response for accepted request

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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

Examples:
{
  "enable": true
}

Response

Enable Service response for accepted request

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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

Examples:
{
  "name": "Providervdc_1",
  "data_center_name": "dal10",
  "type": "private",
  "allow_list": [
    "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

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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.

Examples:
{
  "allow_list": [
    "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

Status Code

  • Task to update the connection created.

  • Bad Request

  • Unauthorized Error

  • Not found

Example responses
  • {
      "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.

Examples:
{
  "local_data_center_name": "dal10",
  "local_site_name": "ddirw002-gr80d10vcda",
  "peer_site_name": "dirw274t02vcda",
  "peer_region": "jp-tok",
  "note": "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.

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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.

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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.

Examples:
{
  "note": "New 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.

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite-iam.read

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 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.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.account

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite-iam.config

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 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.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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.

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.create

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite-pvdc.create

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.

Examples:
{
  "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"
    }
  ]
}
  • 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.

Status Code

  • OK

  • Bad Request

  • Unauthorized

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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.

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.view

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.

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.create

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite-cluster.create

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.

Examples:
{
  "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"
}
  • 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

Status Code

  • Ok

  • Bad Request

  • Unauthorized_Error

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.view

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

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.delete

Auditing

Calling this method generates the following auditing event.

  • vmware.directorsite-cluster.delete

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.

Status Code

  • OK

  • Bad Request

  • Not found

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.update

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.

Examples:
{
  "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 '{
        "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

Status Code

  • OK

  • Unauthorized

  • Not found

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.view

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.

Status Code

  • Enabled regions found.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.view

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.

Status Code

  • Multitenant Cloud Director sites found.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.infrastructure.view

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.

Status Code

  • Host profiles found.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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).

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.

Example responses
  • {
      "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

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.create

Auditing

Calling this method generates the following auditing event.

  • vmware.vdc.create

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).

Examples:
{
  "edge": {
    "size": "medium",
    "type": "performance"
  },
  "name": "sampleVDC",
  "resource_group": {
    "id": "resourcegroupid"
  },
  "fast_provisioning_enabled": false,
  "director_site": {
    "id": "directorsiteuuid006",
    "pvdc": {
      "id": "pvdcuuid006"
    }
  }
}
  • 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.

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.

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.view

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.

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.

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.delete

Auditing

Calling this method generates the following auditing event.

  • vmware.vdc.delete

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.

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.

Example responses
  • {
      "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"
    }

Update a virtual data center

Update a virtual data center with the specified ID.

PATCH /vdcs/{id}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.update

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).

  • 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.

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.

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.update

Auditing

Calling this method generates the following auditing event.

  • vmware.vdc.update

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.

  • 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.

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.

Example responses
  • {
      "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}

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > User > Access.

  • vmware.directorsite.director.update

Auditing

Calling this method generates the following auditing event.

  • vmware.vdc.update

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.

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.

Example responses
  • {
      "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"
    }
id=curlclassName=tab-item-selected