Nsx T Clusters APIs

Nsx T Clusters APIs

APIs for managing NSX-T Clusters

Table of Contents

1. Get an NSX-T Cluster

1.1. Prerequisites

The following data is required

  • ID of the NSX-T Cluster

1.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/d77231ad-bf61-4331-88f3-b52534d564ba' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters/d77231ad-bf61-4331-88f3-b52534d564ba HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
  "vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
  "vip" : "172.19.10.81",
  "domains" : [ {
    "id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
    "name" : "sfo-w01"
  } ],
  "nodes" : [ {
    "id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
    "fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
    "ipAddress" : "172.19.10.84",
    "name" : "sfo-w01-nsx01a"
  }, {
    "id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
    "fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
    "ipAddress" : "172.19.10.83",
    "name" : "sfo-w01-nsx01b"
  }, {
    "id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
    "fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
    "ipAddress" : "172.19.10.82",
    "name" : "sfo-w01-nsx01c"
  } ],
  "isShared" : false,
  "isShareable" : true,
  "isVlcmCompatible" : false
}

2. Get the NSX-T Clusters

2.1. Prerequisites

None
Get All NSX-T Clusters

2.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "elements" : [ [ {
    "id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
    "vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
    "vip" : "172.19.10.81",
    "domains" : [ {
      "id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
      "name" : "sfo-w01"
    } ],
    "nodes" : [ {
      "id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
      "fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
      "ipAddress" : "172.19.10.84",
      "name" : "sfo-w01-nsx01a"
    }, {
      "id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
      "fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
      "ipAddress" : "172.19.10.83",
      "name" : "sfo-w01-nsx01b"
    }, {
      "id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
      "fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
      "ipAddress" : "172.19.10.82",
      "name" : "sfo-w01-nsx01c"
    } ],
    "isShared" : false,
    "isShareable" : true,
    "isVlcmCompatible" : false
  } ] ]
}

3. Get the NSX-T cluster(s) based on a Criterion

This API is used to get the NSX-T clusters that meets a specific criterion.

3.1. Prerequisites

None
Get the NSX-T cluster(s) based on a criterion

3.2. Steps

  • Invoke the Get NSX-T Clusters Criterion API to list all the criteria supported.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/criteria' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters/criteria HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "elements" : [ {
    "name" : "NSXT_CLUSTERS_WITH_STATUS",
    "description" : "Return the NSX-T clusters with status"
  } ]
}
  • Pick one of the criterion and post a query

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/queries' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "NSXT_CLUSTERS_WITH_STATUS"
}'

HTTP Request

POST /v1/nsxt-clusters/queries HTTP/1.1
Content-Type: application/json
Content-Length: 42
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "name" : "NSXT_CLUSTERS_WITH_STATUS"
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/nsxt-clusters/queries/1dfe68c8-103b-4edd-bc87-b37b60b7728e
Content-Type: application/json
Content-Length: 127

{
  "queryInfo" : {
    "status" : "IN_PROGRESS",
    "processing" : true,
    "failure" : false,
    "completed" : false
  }
}
  • Read the tracking URL returned as Location header in the previous step.

  • Poll the tracking URL until the "status" is not "IN_PROGRESS".

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/queries/23abc8bc-4981-4006-bf2d-5f0b9467ab79' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters/queries/23abc8bc-4981-4006-bf2d-5f0b9467ab79 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: 1164

{
  "queryInfo" : {
    "status" : "COMPLETED",
    "processing" : false,
    "failure" : false,
    "completed" : true
  },
  "result" : {
    "elements" : [ {
      "id" : "d77231ad-bf61-4331-88f3-b52534d564ba",
      "vipFqdn" : "sfo-w01-nsx01.sfo.rainpole.io",
      "vip" : "172.19.10.81",
      "domains" : [ {
        "id" : "5c6e4716-b069-4481-aa6e-4eca8bf5596a",
        "name" : "sfo-w01"
      } ],
      "nodes" : [ {
        "id" : "7d69b00d-6e5c-41a0-aa21-7152c6647c54",
        "fqdn" : "sfo-w01-nsx01a.sfo.rainpole.io",
        "ipAddress" : "172.19.10.84",
        "name" : "sfo-w01-nsx01a"
      }, {
        "id" : "c9662d07-fa06-41b9-8253-bbbe17251658",
        "fqdn" : "sfo-w01-nsx01b.sfo.rainpole.io",
        "ipAddress" : "172.19.10.83",
        "name" : "sfo-w01-nsx01b"
      }, {
        "id" : "39a6ca0b-5071-473f-8f45-e1aefeba371d",
        "fqdn" : "sfo-w01-nsx01c.sfo.rainpole.io",
        "ipAddress" : "172.19.10.82",
        "name" : "sfo-w01-nsx01c"
      } ],
      "version" : "3.1.2.0.0-17645047",
      "isShared" : false,
      "isShareable" : true,
      "isVlcmCompatible" : false,
      "status" : "STABLE"
    } ]
  }
}

4. Get an IP address pool from the NSX-T cluster

4.1. Prerequisites

The following data is required

  • ID of the NSX-T Cluster

  • Name of the IP address pool

4.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/4bcf8ad4-f6cc-49c5-b7c2-fc6c093a54c2/ip-address-pools/static-ip-pool-01' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters/4bcf8ad4-f6cc-49c5-b7c2-fc6c093a54c2/ip-address-pools/static-ip-pool-01 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "name" : "static-ip-pool-01",
  "availableIpAddresses" : 31,
  "totalIpAddresses" : 37,
  "blockSubnets" : [ {
    "size" : 16,
    "gatewayAssigned" : true,
    "cidr" : "10.0.15.0/24"
  } ],
  "staticSubnets" : [ {
    "ipAddressPoolRanges" : [ {
      "start" : "10.0.12.100",
      "end" : "10.0.12.120"
    } ],
    "gateway" : "10.0.12.250",
    "cidr" : "10.0.12.0/24"
  } ]
}

5. Get the IP address pools from the NSX-T cluster

5.1. Prerequisites

The following data is required

  • ID of the NSX-T Cluster

5.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/c9c39a41-dd88-4324-bc65-5694ef11b203/ip-address-pools' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/nsxt-clusters/c9c39a41-dd88-4324-bc65-5694ef11b203/ip-address-pools HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "elements" : [ {
    "name" : "static-ip-pool-01",
    "availableIpAddresses" : 31,
    "totalIpAddresses" : 37,
    "blockSubnets" : [ {
      "size" : 16,
      "gatewayAssigned" : true,
      "cidr" : "10.0.15.0/24"
    } ],
    "staticSubnets" : [ {
      "ipAddressPoolRanges" : [ {
        "start" : "10.0.12.100",
        "end" : "10.0.12.120"
      } ],
      "gateway" : "10.0.12.250",
      "cidr" : "10.0.12.0/24"
    } ]
  } ]
}

Last updated 2023-04-27 11:11:39 PDT

Operations
GET
Get Criteria 1
Get all NSX-T criteria
GET
Get Criterion 1
Get a NSX-T criterion
GET
Get Nsxt Cluster
Get a NSX-T cluster
GET
Get Nsxt Cluster Query Response
Get NSX-T cluster query response
GET
Get Nsxt Clusters
Get the NSX-T clusters
GET
Get Nsxt Ip Address Pool
Get a NSX-T IP address pool
GET
Get Nsxt Ip Address Pools
Get the NSX-T IP address pools
GET
Get Validation Result Using GET
getValidationResult
POST
Post Query 1
Post a query
POST
Validate Ip Pool Using POST
validateIpPool