Vcf Management Components APIs

Vcf Management Components APIs

APIs for handling VCF Management Components

Table of Contents

1. VCF Management Components Deployment

The deployment of VCF Management components from VCF Installer is optional. If this is skipped, after the deployment of core components from VCF Installer, you can deploy and manage the VCF Management Components from SDDC Manager. The same API can be leveraged to join existing instances of VCF Management Components. To guarantee the success of the VCF Management Components' deployment operation, you should pre-validate the deployment input.

1.1. Prerequisites

  • The following data is required:

    • Unique hostnames for each of the VCF Management Components

    • VCF Operations fleet management specification to include API and root passwords for a greenfield deployment. Only API password is sufficient for a join usecase.

    • VCF Operations specification to include details of nodes, API password, appliance size and optionally Load Balancer FQDN

    • VCF Automation specification to include API Password, IP Pool, Internal Cluster CIDR and Node Prefix

  • Additional prerequisites:

    • The VCF Management Components binaries need to be downloaded on the SDDC Manager

    • Optional - If the VCF Management components need to be deployed on existing NSX segments, these need to be specified in VcfManagementComponentsInfrastructureSpec. If not specified, all the components will be deployed on Management DVPG.

1.2. Steps

  • Assemble the VCF Management Components deployment input specification.

Tip : Refer to VcfManagementComponentsSpec.

  • Trigger the VCF Management Components deployment input specification validations.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vcf-management-components/validations' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "vcfOperationsFleetManagementSpec" : {
    "hostname" : "vcf-ops-fm",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx"
  },
  "vcfOperationsSpec" : {
    "nodes" : [ {
      "hostname" : "vcf-ops-master",
      "rootUserPassword" : "3e3c268c-9d16-4c0d-89e6-7b6f0d014ded",
      "type" : "master"
    }, {
      "hostname" : "vcf-ops-data",
      "rootUserPassword" : "45f645ec-f4fe-47cb-a7d1-93300e96480c",
      "type" : "replica"
    }, {
      "hostname" : "vcf-ops-replica",
      "rootUserPassword" : "a6d9b1ad-b968-4865-9018-d4259d732541",
      "type" : "data"
    } ],
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "medium"
  },
  "vcfOperationsCollectorSpec" : {
    "hostname" : "vcf-ops-cp",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "small"
  },
  "vcfAutomationSpec" : {
    "hostname" : "vcf-automation",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "ipPool" : [ "10.0.0.81", "10.0.0.82", "10.0.0.83", "10.0.0.84" ],
    "internalClusterCidr" : "100.64.0.0/15"
  },
  "vcfMangementComponentsInfrastructureSpec" : {
    "localRegionNetwork" : {
      "networkName" : "Mgmt-localRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.12.0"
    },
    "xRegionNetwork" : {
      "networkName" : "Mgmt-xRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.14.0"
    }
  }
}'

HTTP Request

POST /v1/vcf-management-components/validations HTTP/1.1
Content-Type: application/json
Content-Length: 1436
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "vcfOperationsFleetManagementSpec" : {
    "hostname" : "vcf-ops-fm",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx"
  },
  "vcfOperationsSpec" : {
    "nodes" : [ {
      "hostname" : "vcf-ops-master",
      "rootUserPassword" : "3e3c268c-9d16-4c0d-89e6-7b6f0d014ded",
      "type" : "master"
    }, {
      "hostname" : "vcf-ops-data",
      "rootUserPassword" : "45f645ec-f4fe-47cb-a7d1-93300e96480c",
      "type" : "replica"
    }, {
      "hostname" : "vcf-ops-replica",
      "rootUserPassword" : "a6d9b1ad-b968-4865-9018-d4259d732541",
      "type" : "data"
    } ],
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "medium"
  },
  "vcfOperationsCollectorSpec" : {
    "hostname" : "vcf-ops-cp",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "small"
  },
  "vcfAutomationSpec" : {
    "hostname" : "vcf-automation",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "ipPool" : [ "10.0.0.81", "10.0.0.82", "10.0.0.83", "10.0.0.84" ],
    "internalClusterCidr" : "100.64.0.0/15"
  },
  "vcfMangementComponentsInfrastructureSpec" : {
    "localRegionNetwork" : {
      "networkName" : "Mgmt-localRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.12.0"
    },
    "xRegionNetwork" : {
      "networkName" : "Mgmt-xRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.14.0"
    }
  }
}

HTTP Response

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 158

{
  "id" : "50673a01-c204-4e8b-a711-454c2cf3dc83",
  "description" : "Validate VCF Management Components specification",
  "executionStatus" : "IN_PROGRESS"
}
  • Track the task status using the "id" from the response. The GET URL is set in the header response and can be used directly. Refer to: Get a Task.

    • If the "status" is "IN_PROGRESS", the task is still in progress.

    • If the "status" is "SUCCESSFUL", the task is completed successfully.

    • If the "status" is "FAILED", resolve the uncovered issues by the validations and re-trigger the validations API.

  • When validations complete successfully without any errors, you can proceed with the VCF Management Components deployment.

  • Trigger the VCF Management Components deployment. This will start a long-running task whose details can be obtained from the HTTP response.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vcf-management-components' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "vcfOperationsFleetManagementSpec" : {
    "hostname" : "vcf-ops-fm",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx"
  },
  "vcfOperationsSpec" : {
    "nodes" : [ {
      "hostname" : "vcf-ops-master",
      "rootUserPassword" : "f513c103-1796-4270-9965-8358ff6dca3f",
      "type" : "master"
    }, {
      "hostname" : "vcf-ops-data",
      "rootUserPassword" : "96ece389-7805-4fa8-8f57-ce3c0cdf90b7",
      "type" : "replica"
    }, {
      "hostname" : "vcf-ops-replica",
      "rootUserPassword" : "39d09502-340b-4057-b50d-0be656a9ecc0",
      "type" : "data"
    } ],
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "medium"
  },
  "vcfOperationsCollectorSpec" : {
    "hostname" : "vcf-ops-cp",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "small"
  },
  "vcfAutomationSpec" : {
    "hostname" : "vcf-automation",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "ipPool" : [ "10.0.0.81", "10.0.0.82", "10.0.0.83", "10.0.0.84" ],
    "internalClusterCidr" : "100.64.0.0/15"
  },
  "vcfMangementComponentsInfrastructureSpec" : {
    "localRegionNetwork" : {
      "networkName" : "Mgmt-localRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.12.0"
    },
    "xRegionNetwork" : {
      "networkName" : "Mgmt-xRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.14.0"
    }
  }
}'

HTTP Request

POST /v1/vcf-management-components HTTP/1.1
Content-Type: application/json
Content-Length: 1436
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "vcfOperationsFleetManagementSpec" : {
    "hostname" : "vcf-ops-fm",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx"
  },
  "vcfOperationsSpec" : {
    "nodes" : [ {
      "hostname" : "vcf-ops-master",
      "rootUserPassword" : "f513c103-1796-4270-9965-8358ff6dca3f",
      "type" : "master"
    }, {
      "hostname" : "vcf-ops-data",
      "rootUserPassword" : "96ece389-7805-4fa8-8f57-ce3c0cdf90b7",
      "type" : "replica"
    }, {
      "hostname" : "vcf-ops-replica",
      "rootUserPassword" : "39d09502-340b-4057-b50d-0be656a9ecc0",
      "type" : "data"
    } ],
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "medium"
  },
  "vcfOperationsCollectorSpec" : {
    "hostname" : "vcf-ops-cp",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "small"
  },
  "vcfAutomationSpec" : {
    "hostname" : "vcf-automation",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "ipPool" : [ "10.0.0.81", "10.0.0.82", "10.0.0.83", "10.0.0.84" ],
    "internalClusterCidr" : "100.64.0.0/15"
  },
  "vcfMangementComponentsInfrastructureSpec" : {
    "localRegionNetwork" : {
      "networkName" : "Mgmt-localRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.12.0"
    },
    "xRegionNetwork" : {
      "networkName" : "Mgmt-xRegion",
      "subnetMask" : "255.255.255.0",
      "gateway" : "10.22.14.0"
    }
  }
}

HTTP Response

HTTP/1.1 202 Accepted
  • Track the task status using the "id" from the previous response. The GET URL is set in the header response and can be used directly. Refer to: Get a Task.

    • If the "status" is "IN_PROGRESS", the task is still in progress.

    • If the "status" is "SUCCESSFUL", the task is completed successfully.

    • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry a Task.

[_deployvcfmanagementcomponents] API [_validatevcfmanagementcomponents] API [_gettask] API [_getvcfmanagementcomponentstasks] API [_getvcfmanagementcomponentstaskspec] API

2. Get VCF Management Components Task Specification

This is the API to get the specification used for deployment of VCF Management Components from SDDC Manager.

2.1. Prerequisites

  • ID of the VCF Management deployment task

2.2. Steps

  • Invoke the API by providing the ID of the task as input.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vcf-management-components/tasks/4ff3cb48-f5d7-48f9-8cf8-da7fd09784c1/spec' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vcf-management-components/tasks/4ff3cb48-f5d7-48f9-8cf8-da7fd09784c1/spec HTTP/1.1
Content-Type: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1709

{
  "vcfOperationsFleetManagementSpec" : {
    "hostname" : "vcf-ops-fm",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "useExistingDeployment" : null,
    "version" : null,
    "sslThumbprint" : null
  },
  "vcfOperationsSpec" : {
    "nodes" : [ {
      "hostname" : "vcf-ops-master",
      "rootUserPassword" : "160cb88f-2e4b-4c3a-972c-aad674aa14e0",
      "type" : "master",
      "sslThumbprint" : null
    }, {
      "hostname" : "vcf-ops-data",
      "rootUserPassword" : "47269ce6-0fd9-4e42-875a-c2a161697695",
      "type" : "replica",
      "sslThumbprint" : null
    }, {
      "hostname" : "vcf-ops-replica",
      "rootUserPassword" : "e215770b-9541-45df-bc1d-105858f524e3",
      "type" : "data",
      "sslThumbprint" : null
    } ],
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "medium",
    "loadBalancerFqdn" : null,
    "useExistingDeployment" : null,
    "version" : null
  },
  "vcfOperationsCollectorSpec" : {
    "hostname" : "vcf-ops-cp",
    "rootUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "applianceSize" : "small",
    "useExistingDeployment" : null,
    "version" : null,
    "sslThumbprint" : null
  },
  "vcfAutomationSpec" : {
    "hostname" : "vcf-automation",
    "adminUserPassword" : "xxxxxxxxxxxxxxxxxxxx",
    "ipPool" : [ "10.0.0.81", "10.0.0.82", "10.0.0.83", "10.0.0.84" ],
    "internalClusterCidr" : "100.64.0.0/15",
    "nodePrefix" : "vcfa-node-prefix",
    "useExistingDeployment" : null,
    "version" : null,
    "sslThumbprint" : null
  },
  "vcfMangementComponentsInfrastructureSpec" : null,
  "vcfInstanceName" : null,
  "existingDataStore" : null,
  "workflowType" : null
}

[_deployvcfmanagementcomponents] API [_getvcfmanagementcomponentstaskbyid] API [_getvcfmanagementcomponentstaskspec] API
Last updated 2025-03-21 15:13:04 +0530

Operations
GET
Get Vcf Management Components
Get VCF Management Components
POST
Deploy Vcf Management Components
Triggers VCF Management Components deployment workflow
POST
Validate Vcf Management Components
Perform validation of the VCF Management Components Deployment specification
GET
Get Vcf Management Components Validations By Id
Retrieve the results of VCF Management Components validation by its ID
GET
Get Vcf Management Components Tasks
Gets all VCF Management Components tasks
GET
Get Vcf Management Components Task By ID
Gets VCF Management Components task by its ID
GET
Get Vcf Management Components Task Spec
Gets VCF Management Components task spec by its task ID
GET
Get Vcf Management Components Latest Task
Gets VCF Management Components latest task