Nsx T Clusters APIs
APIs for managing NSX Clusters
Table of Contents
Note : The ipAddress field in request payload or response body are deprecated and will be removed. Please use fqdn field instead.
1. Get an NSX Cluster
1.1. Prerequisites API
The following data is required
- ID of the NSX Cluster
1.2. Steps API
- 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
}
1.3. Related APIs API
[_getnsxclusters] API [_getnsxcluster] API
2. Get the NSX Clusters
2.1. Prerequisites API
None
Get All NSX Clusters
2.2. Steps API
- 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
} ] ]
}
2.3. Related APIs API
[_getnsxclusters] API [_getnsxcluster] API
3. Get the NSX cluster(s) based on a Criterion
This API is used to get the NSX clusters that meets a specific criterion.
3.1. Prerequisites API
None
Get the NSX cluster(s) based on a criterion
3.2. Steps API
- Invoke the Get NSX 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: 128
{
"elements" : [ {
"name" : "NSXT_CLUSTERS_WITH_STATUS",
"description" : "Return the NSX 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/26d87da9-b75c-488d-83a2-4b5faf60554f
Content-Type: application/json
Content-Length: 127
{
"queryInfo" : {
"status" : "IN_PROGRESS",
"completed" : false,
"failure" : false,
"processing" : true
}
}
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",
"completed" : true,
"failure" : false,
"processing" : false
},
"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 cluster
4.1. Prerequisites API
The following data is required
ID of the NSX Cluster
Name of the IP address pool
4.2. Steps API
- Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/869cfc90-a635-43f0-b99a-6cf7b9a9f323/ip-address-pools/static-ip-pool-01' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/869cfc90-a635-43f0-b99a-6cf7b9a9f323/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"
} ]
}
4.3. Related APIs API
[_getnsxipaddresspool] API [_getnsxipaddresspools] API
5. Get the IP address pools from the NSX cluster
5.1. Prerequisites API
The following data is required
- ID of the NSX Cluster
5.2. Steps API
- Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/2a2ad664-7968-438b-9d82-7b254cc8928c/ip-address-pools' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/2a2ad664-7968-438b-9d82-7b254cc8928c/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"
} ]
} ]
}
5.3. Related APIs API
[_getnsxipaddresspool] API [_getnsxipaddresspools] API
6. Get the transport zones from the NSX cluster
6.1. Prerequisites API
The following data is required
- ID of the NSX Cluster
6.2. Steps API
- Invoke the API.
cURL Request
$ curl 'https://sfo-vcf01.rainpole.io/v1/nsxt-clusters/a2796b87-3d96-4d50-ace7-629b4ccdbbad/transport-zones' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/nsxt-clusters/a2796b87-3d96-4d50-ace7-629b4ccdbbad/transport-zones HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 801
{
"elements" : [ {
"name" : "nsx-overlay-transportzone-1",
"id" : "a95c914d-a48d-197c-14ab-10d4647daeba",
"type" : "OVERLAY"
}, {
"name" : "nsx-vlan-transportzone-1",
"id" : "bb760c81-b50c-2f79-2ca9-2b08708bf8c4",
"type" : "VLAN"
}, {
"name" : "nsx-overlay-transportzone-2",
"id" : "ce821684-c8b4-31e8-35a1-3b81d6551107",
"type" : "OVERLAY",
"nsxtTags" : [ {
"scope" : "vcf-orchestration",
"tag" : "vcf"
}, {
"scope" : "Created by",
"tag" : "VCF"
} ]
}, {
"name" : "nsx-vlan-transportzone-2",
"id" : "db3a2f36-dfd1-443e-40f6-4de01abc963e",
"type" : "VLAN",
"nsxtTags" : [ {
"scope" : "vcf-orchestration",
"tag" : "vcf"
}, {
"scope" : "Created by",
"tag" : "VCF"
} ]
} ]
}
6.3. Related APIs API
[_getNsxTransportZones] API
Last updated 2024-06-21 01:22:12 -0700