Product Version Catalogs APIs

Product Version Catalogs APIs

APIs for managing LCM Product Version Catalog and it's signature

Table of Contents

1. Get product version catalogs

Get product version catalogs is used to get the latest supported VCF product patch metadata. This includes the products released as a part of the VCF release, async patches. This API will return a list of PVCs

1.1. Prerequisites

None

1.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/product-version-catalogs' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/product-version-catalogs HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "version" : 1,
  "sequenceNumber" : 1,
  "creationTime" : "2025-03-21T09:42:55.024Z",
  "publishedTime" : "2025-03-21T09:42:55.024Z",
  "patches" : {
    "VROPS" : [ {
      "releaseDate" : "2025-03-21T09:42:55.024Z",
      "description" : "Component description",
      "productVersion" : "9.0.0.0.123456",
      "artifacts" : {
        "bundles" : [ {
          "id" : "6cca9fae-49f2-461d-8a9e-927d5b2dc695",
          "type" : "PATCH",
          "name" : "6cca9fae-49f2-461d-8a9e-927d5b2dc695",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.iso",
            "size" : 632449024,
            "checksum" : "3edbff64a8b9768e5cc5b294532f002abcbfd0d64a1aa8744bfc888dc5c34874"
          } ]
        }, {
          "id" : "0dd3ecb6-5cd9-413b-b052-ac2529ec6488",
          "type" : "INSTALL",
          "name" : "0dd3ecb6-5cd9-413b-b052-ac2529ec6488",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.zip",
            "size" : 722649127,
            "checksum" : "e049123f56f8b9fca34f33b6c066392fd338a25cc2806987751db8a1f5f1464b"
          } ]
        } ]
      }
    } ],
    "VRSLCM" : [ {
      "releaseDate" : "2025-03-21T09:42:55.024Z",
      "description" : "Component description",
      "productVersion" : "9.0.0.0.123456",
      "artifacts" : {
        "bundles" : [ {
          "id" : "ffaa9718-b62a-4482-8eeb-860a6e33f629",
          "type" : "PATCH",
          "name" : "ffaa9718-b62a-4482-8eeb-860a6e33f629",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.iso",
            "size" : 632449024,
            "checksum" : "3edbff64a8b9768e5cc5b294532f002abcbfd0d64a1aa8744bfc888dc5c34874"
          } ]
        }, {
          "id" : "07c2f61a-eaeb-48cd-953c-c7bfa85150b9",
          "type" : "INSTALL",
          "name" : "07c2f61a-eaeb-48cd-953c-c7bfa85150b9",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.zip",
            "size" : 722649127,
            "checksum" : "e049123f56f8b9fca34f33b6c066392fd338a25cc2806987751db8a1f5f1464b"
          } ]
        } ]
      }
    } ],
    "VCENTER" : [ {
      "releaseDate" : "2025-03-21T09:42:55.024Z",
      "description" : "Component description",
      "productVersion" : "9.0.0.0.123456",
      "artifacts" : {
        "bundles" : [ {
          "id" : "0b7056c9-21ce-4e6c-9869-5121b7066973",
          "type" : "PATCH",
          "name" : "0b7056c9-21ce-4e6c-9869-5121b7066973",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.iso",
            "size" : 632449024,
            "checksum" : "3edbff64a8b9768e5cc5b294532f002abcbfd0d64a1aa8744bfc888dc5c34874"
          } ]
        }, {
          "id" : "4297ea51-2f34-4dad-b212-1f1c66cfcf46",
          "type" : "INSTALL",
          "name" : "4297ea51-2f34-4dad-b212-1f1c66cfcf46",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.zip",
            "size" : 722649127,
            "checksum" : "e049123f56f8b9fca34f33b6c066392fd338a25cc2806987751db8a1f5f1464b"
          } ]
        } ]
      }
    } ],
    "SDDC_MANAGER_VCF" : [ {
      "releaseDate" : "2025-03-21T09:42:55.024Z",
      "description" : "Component description",
      "productVersion" : "9.0.0.0.123456",
      "artifacts" : {
        "bundles" : [ {
          "id" : "b29afd16-935a-4fc0-8254-90e7ba8914d8",
          "type" : "PATCH",
          "name" : "b29afd16-935a-4fc0-8254-90e7ba8914d8",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.iso",
            "size" : 632449024,
            "checksum" : "3edbff64a8b9768e5cc5b294532f002abcbfd0d64a1aa8744bfc888dc5c34874"
          } ]
        }, {
          "id" : "5d3652ec-4740-44cc-b774-1965dcaf9ceb",
          "type" : "INSTALL",
          "name" : "5d3652ec-4740-44cc-b774-1965dcaf9ceb",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.zip",
            "size" : 722649127,
            "checksum" : "e049123f56f8b9fca34f33b6c066392fd338a25cc2806987751db8a1f5f1464b"
          } ]
        } ]
      }
    } ],
    "NSX_T_MANAGER" : [ {
      "releaseDate" : "2025-03-21T09:42:55.024Z",
      "description" : "Component description",
      "productVersion" : "9.0.0.0.123456",
      "artifacts" : {
        "bundles" : [ {
          "id" : "581c02cb-259a-4c8c-80c3-f779292f29e6",
          "type" : "PATCH",
          "name" : "581c02cb-259a-4c8c-80c3-f779292f29e6",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.iso",
            "size" : 632449024,
            "checksum" : "3edbff64a8b9768e5cc5b294532f002abcbfd0d64a1aa8744bfc888dc5c34874"
          } ]
        }, {
          "id" : "5dae1aa4-3338-4afb-8bf6-abeeabcfff83",
          "type" : "INSTALL",
          "name" : "5dae1aa4-3338-4afb-8bf6-abeeabcfff83",
          "binaries" : [ {
            "fileName" : "VMware-Installer-9.0U1c-123456.x86_64.zip",
            "size" : 722649127,
            "checksum" : "e049123f56f8b9fca34f33b6c066392fd338a25cc2806987751db8a1f5f1464b"
          } ]
        } ]
      }
    } ]
  }
}

[_uploadproductversioncatalogwithsignature] API [_updateproductversioncatalogpatches] API [_getproductversioncataloguploadtask] API [_getproductversioncatalog] API

2. Upload product version catalogs

Reads in the pvc file, signature file, validates the pvc file against the signature file and uploads the new PVC file. This API returns a task ID for the upload task which can be used to query the status of the upload operation via [_getproductversioncataloguploadtask] API.

2.1. Prerequisites

PVC file and corresponding signature file patch must be provided

2.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/product-version-catalogs' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "productVersionCatalogFilePath" : "/home/vcf/productVersionCatalog.json",
  "signatureFilePath" : "/home/vcf/productVersionCatalog.sig"
}'

HTTP Request

POST /v1/product-version-catalogs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 141
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "productVersionCatalogFilePath" : "/home/vcf/productVersionCatalog.json",
  "signatureFilePath" : "/home/vcf/productVersionCatalog.sig"
}

HTTP Response

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

{
  "taskId" : "f40f2069-548b-4c07-803d-521c60d33397",
  "description" : "Validate product version catalog file against it's signature and persists into LCM",
  "status" : "IN_PROGRESS"
}

[_getproductversioncatalogcontent] API [_updateproductversioncatalogpatches] API [_getproductversioncataloguploadtask] API

3. Update product version catalogs

Reads in a catalog file with new patches to add, signature file, validates the catalog file against the signature file and updates the Product Version Catalog patch entries with the newly included patches. This API returns a task ID for the update task which can be used to query the status of the update operation via [_getproductversioncataloguploadtask] API.

3.1. Prerequisites

PVC file and corresponding signature file patch must be provided

3.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/product-version-catalogs' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "productVersionCatalogFilePath" : "/home/vcf/productVersionCatalog.json",
  "signatureFilePath" : "/home/vcf/productVersionCatalog.sig"
}'

HTTP Request

PATCH /v1/product-version-catalogs HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 141
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "productVersionCatalogFilePath" : "/home/vcf/productVersionCatalog.json",
  "signatureFilePath" : "/home/vcf/productVersionCatalog.sig"
}

HTTP Response

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

{
  "taskId" : "f40f2069-548b-4c07-803d-521c60d33397",
  "description" : "Validate product version catalog file against it's signature and persists into LCM",
  "status" : "IN_PROGRESS"
}

[_getproductversioncatalogcontent] API [_uploadproductversioncatalogwithsignature] API [_getproductversioncataloguploadtask] API

4. Get Product Version Catalog Upload Task Status

Monitor the progress and retrieve the final status of a product version catalog upload operation given it's upload task ID.

4.1. Prerequisites

None

4.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/product-version-catalogs/upload-tasks/f40f2069-548b-4c07-803d-521c60d33397' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/product-version-catalogs/upload-tasks/f40f2069-548b-4c07-803d-521c60d33397 HTTP/1.1
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "taskId" : "f40f2069-548b-4c07-803d-521c60d33397",
  "description" : "Validate product version catalog file against it's signature and persists into LCM",
  "status" : "SUCCEEDED"
}

[_uploadproductversioncatalogwithsignature] API [_updateproductversioncatalogpatches] API [_getproductversioncatalogcontent] API
Last updated 2025-03-21 15:13:04 +0530

Operations
GET
Get Product Version Catalog Content
Get product version catalog content
POST
Upload Product Version Catalog With Signature
Upload product version catalog with signature
PATCH
Update Product Version Catalog Patches
Update product version catalog patches with signature
GET
Get Product Version Catalog Upload Task
Retrieve the status of an existing product version catalog upload tasks