Target Upgrade Version APIs

Target Upgrade Version APIs

APIs for managing domains target upgrade versions

The domain target upgrade version is the version to which we want to upgrade a domain from its current version. By choosing a target version, that has passed all validations successfully, it is saved on a per domain basis. Domain upgrades are driven by the already selected target version, so the upgrade can not start without selected target upgrade version. Without selected target upgrade version for a domain the system will not return any upgradables for that given domain. After all upgradables for a domain are successfully installed domain upgrade is completed and the domain target upgrade version is achieved. In order to start new domain upgrade new domain target upgrade version must be selected. Possible future versions for a domain can be fetched via API and are returned according to the current domain version along with their applicability.
Table of Contents

1. Fetch domains target upgrade version

Fetch domains target upgrade version API returns paged information about all domains in the system. For domains with no target version set response will return response where targetVersion will be empty string.

1.1. Steps to fetch domains target upgrade version.

  • Invoke the GET /v1/releases/domains API. This API returns information about all domains in the system.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/releases/domains' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/releases/domains 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: 213

{
  "elements" : [ {
    "domainId" : "716c1e7e-9eff-4f1b-b2d8-4193df0d124d",
    "targetVersion" : "4.1.0.0"
  }, {
    "domainId" : "716c1e7e-9eff-4f1b-b2d8-4193df0d124d",
    "targetVersion" : "4.1.0.0"
  } ]
}

2. Fetch specific domain target version

Returns information about target upgrade version for a specific domain API. If domain has no target version set response will return response where targetVersion will be empty string.

2.1. Prerequisites

The following data is required:

  • Domain ID.

2.2. Steps

  • Invoke the GET /v1/releases/domains/{domainId} API API. This API returns information about target upgrade version for a specific domain.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d 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: 88

{
  "domainId" : "716c1e7e-9eff-4f1b-b2d8-4193df0d124d",
  "targetVersion" : "4.1.0.0"
}

3. Set/Update domain target upgrade version

This API API is used to set or update domain target upgrade version. If the given domain does not have a previously stored target upgrade version, invoking the API will save the target version. If the domain already has a stored target upgrade version, invoking the API will update the version.

3.1. Prerequisites

The following data is required:

  • Domain ID.

  • Target upgrade version.

3.2. Steps

  • Invoke the save/update API API for specific domain.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "targetVersion" : "4.3.0.0"
}'

HTTP Request

PATCH /v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 33
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "targetVersion" : "4.3.0.0"
}

HTTP Response

HTTP/1.1 200 OK

4. Fetch possible domain target versions for a domain

This API API returns all known to the system future target versions for a specific domain. If some of them are not allowed to upgrade (e.g. stepping stone) includes localized message why.

4.1. Prerequisites

The following data is required:

  • Domain ID.

4.2. Steps

  • Invoke the GET /v1/releases/domains/{domainId}/future-releases API API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d/future-releases' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/releases/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d/future-releases 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: 3224

{
  "elements" : [ {
    "applicabilityStatus" : "APPLICABLE",
    "product" : "vcf",
    "version" : "3.5.0",
    "description" : "VMware Cloud Foundation 3.5.0 Release",
    "releaseDate" : "2018-12-13T08:00:00.000Z",
    "bom" : [ {
      "name" : "DOMAIN_MANAGER",
      "version" : "3.5.0",
      "publicName" : "SDDC Manager"
    }, {
      "name" : "VCENTER",
      "version" : "6.7.0-10244745",
      "publicName" : "vCenter Server Appliance"
    }, {
      "name" : "HOST",
      "version" : "6.7.0-10764712",
      "publicName" : "VMware ESXi"
    }, {
      "name" : "NSX_MANAGER",
      "version" : "6.4.4-11197766",
      "publicName" : "NSX-V Data Center"
    }, {
      "name" : "VROPS",
      "version" : "7.0.0-10098133",
      "publicName" : "VMware vRealize Operations Manager"
    } ],
    "isApplicable" : true,
    "sku" : [ ],
    "updates" : [ ],
    "patchBundles" : [ ]
  }, {
    "reasonNotApplicable" : {
      "component" : "VCF",
      "messageKey" : "LCM_TARGET_VERSION_IS_STEPPING_STONE",
      "arguments" : [ "3.5.0" ],
      "message" : "VMware Cloud Foundation 3.5.0 is a stepping stone release that workload domains must upgrade to prior to upgrading to later releases."
    },
    "applicabilityStatus" : "NOT_APPLICABLE",
    "product" : "vcf",
    "version" : "3.0.0",
    "description" : "VMware Cloud Foundation 3.0.0 Release",
    "releaseDate" : "2018-09-20T07:00:00.000Z",
    "bom" : [ {
      "name" : "DOMAIN_MANAGER",
      "version" : "3.0.0",
      "publicName" : "SDDC Manager"
    }, {
      "name" : "VCENTER",
      "version" : "6.5.0-9451637",
      "publicName" : "vCenter Server Appliance"
    }, {
      "name" : "HOST",
      "version" : "6.5.0-9298722",
      "publicName" : "VMware ESXi"
    }, {
      "name" : "NSX_MANAGER",
      "version" : "6.4.1-8599035",
      "publicName" : "NSX-V Data Center"
    }, {
      "name" : "VROPS",
      "version" : "6.7.0-8183617",
      "publicName" : "VMware vRealize Operations Manager"
    } ],
    "isApplicable" : false,
    "notApplicableReason" : "VMware Cloud Foundation 3.5.0 is a stepping stone release that workload domains must upgrade to prior to upgrading to later releases.",
    "sku" : [ ],
    "updates" : [ ],
    "patchBundles" : [ {
      "bundleId" : "10103c59-74c3-4aeb-a81f-c473b854cecf",
      "bundleType" : "EVORACK",
      "bundleElements" : [ "SDDC_MANAGER_VCF" ],
      "cumulativeFromVcfVersion" : "2.3.0"
    }, {
      "bundleId" : "dd1d3ebc-558e-40e6-bfae-29e8178e6427",
      "bundleType" : "EVORACK",
      "bundleElements" : [ "SDDC_MANAGER_VCF" ],
      "cumulativeFromVcfVersion" : "2.3.0"
    }, {
      "bundleId" : "f3db3c9f-6001-4593-a735-a3c958e960a3",
      "bundleType" : "VMWARE_SOFTWARE",
      "bundleElements" : [ "VCENTER" ],
      "cumulativeFromVcfVersion" : "2.3.0"
    }, {
      "bundleId" : "789e07ad-cbab-4a0f-8624-3435a135b39f",
      "bundleType" : "VMWARE_SOFTWARE",
      "bundleElements" : [ "ESX_HOST" ],
      "cumulativeFromVcfVersion" : "2.3.0"
    }, {
      "bundleId" : "5d7d5cf5-2f3e-4474-9cb9-d188848aeb93",
      "bundleType" : "VMWARE_SOFTWARE",
      "bundleElements" : [ "NSX_MANAGER" ],
      "cumulativeFromVcfVersion" : "2.3.0"
    } ]
  } ]
}

5. Fetch all bundles required for skip upgrade to target version for a domain

This API API returns all bundles needed to upgrade a domain from current version to target version. Also includes bundle order field and bundle applicability status. If target release is not set returns empty response. Each bundle have an applicability status for the particular domain - PENDING, AVAILABLE, IN PROGRESS, SUCCESS or FAILED.

5.1. Prerequisites

The following data is required:

  • Domain ID.

5.2. Steps

  • Invoke the GET /v1/bundles/domains/{domainId} API API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/bundles/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d 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: 22

{
  "elements" : [ ]
}

6. Fetch all bundles required for skip upgrade to target version for a domain for vxRail case

This API API returns all bundles needed to upgrade a domain from current version to target version including vxRail. Also includes bundle order field and bundle applicability status. If target release is not set returns empty response. Each bundle have an applicability status for the particular domain - PENDING, AVAILABLE, IN PROGRESS, SUCCESS or FAILED.

6.1. Prerequisites

The following data is required:

  • Domain ID.

6.2. Steps

  • Invoke the GET /v1/bundles/domains/{domainId} API API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/bundles/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/bundles/domains/716c1e7e-9eff-4f1b-b2d8-4193df0d124d 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: 22

{
  "elements" : [ ]
}

Last updated 2024-03-14 07:59:42 -0700

Operations
GET
Get Release By Domain
Retrieve a release view for a domain by its ID
GET
Get Release By Domain 1
Retrieve a release view for all domains
PATCH
Update Release By Domain ID
Modify the target upgrade release for a domain by its ID