Colt help
Tanzu Observability in Colt Private Cloud on VMware Cloud Foundation (CPC on VCF) supports observability for metrics, counters, histograms, and traces/spans. Tanzu Observability, a managed Software as a Service (SaaS) offering, scales to very high data ingestion rates and query loads. You can collect data from many services and sources, and monitor Kubernetes Container Clusters sorted by the following:
Tanzu Observability in CPC on VCF requires the Tanzu Kubernetes Grid service integration to enable the building, running, and expanding of Kubernetes container-based applications close to digital interactions.
To view Kubernetes Container Clusters in CPC on VCF:
To get started, refer to the following Tanzu Observability documentation:
Tanzu Observability requires a portal access role. Refer to the article on Using Tanzu with Edge Private Cloud.
CPC on VCF Tanzu Kubernetes Grid Integration with Tanzu Observability requires the following pre-requisites:
The integration process includes the following:
The LPC on VCF policy on data retention for Tanzu Observability includes the following:
During the subscription term, the system retains and makes available telemetry data for querying and alerts for the following time periods:
Refer to VMware Tanzu™ Observability™ by Wavefront, and the Wavefront Data Retention documents for more information.
The "collector" daemon set contains the following resource limits:
To validate how limits are set after deploying wavefront collector in your cluster:
$ kubectl get ds -n wavefront
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
wavefront-collector 7 7 7 7 7 <none> 6h15m
$ kubectl get ds wavefront-collector -n wavefront -o yaml > wavefront-collector-ds.yamlvmwsa@tz2-bsvm:~$ vim wavefront-collector-ds.yaml
$ cat wavefront-collector-ds.yaml |grep -i resources: -A6
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 200m
memory: 10Mi
The "wavefront-proxy" deployment contains the following resources limits:
To validate how limits are set after deploying wavefront proxy in your cluster, run the following commands:
$ kubectl get deployments wavefront-proxy -n wavefront -o yaml > wavefront-proxy.yaml
$ cat wavefront-proxy.yaml |grep -i resources: -A6
resources:
limits:
cpu: "1"
memory: 4Gi
requests:
cpu: 100m
memory: 1Gi
For API information, refer to the following documentation:
The following describes the full end-to-end workflow from Tanzu Kubernetes Grid (TKG) cluster creation in the LPC on VCF environment, and integration of your created TKG cluster with Tanzu Mission Control (TMC), and Tanzu Observability (if Tanzu Observability is enabled in TMC). In addition, you can view a workflow for Jumpbox Virtual Machine deployment.
{
"info": {
"_postman_id": "bbc2bf8a-e405-4d1e-ad91-2306672e3975",
"name": "Lumen E2E",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "VCD-TKG-Cluster",
"item": [
{
"name": "Login Org Open API",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"vcdToken\");\r",
"pm.collectionVariables.unset(\"vcdTenantId\");\r",
"\r",
"\r",
"pm.test(\"X-VMWARE-VCLOUD-ACCESS-TOKEN header is present\", () => {\r",
" pm.expect(pm.response.headers.get('X-VMWARE-VCLOUD-ACCESS-TOKEN')).not.empty;\r",
"});\r",
"pm.collectionVariables.set(\"vcdToken\", pm.response.headers.get('X-VMWARE-VCLOUD-ACCESS-TOKEN'));\r",
"var data = JSON.parse(responseBody);\r",
"//pm.environment.set(\"vcdTenantId\", data.org.id.split(\":\")[3]);\r",
"pm.collectionVariables.set(\"vcdTenantId\", data.org.id.split(\":\")[3]);\r",
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"auth": {
"type": "basic",
"basic": [
{
"key": "password",
"value": "{{vCDpasswordOrg}}",
"type": "string"
},
{
"key": "username",
"value": "{{vCDuserNameOrg}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
},
{
"key": "Accept",
"value": "application/json",
"type": "default",
"disabled": true
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/sessions",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"sessions"
]
}
},
"response": []
},
{
"name": "Get API Versions",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"//pm.environment.unset(\"vcdAPiVersion\");\r",
"var jsonObject = xml2Json(responseBody);\r",
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"auth": {
"type": "basic",
"basic": [
{
"key": "password",
"value": "{{vCDpasswordOrg}}",
"type": "string"
},
{
"key": "username",
"value": "{{vCDuserNameOrg}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "default"
},
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/api/versions",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"api",
"versions"
]
}
},
"response": []
},
{
"name": "Get KubernetesPolicy for Tenant",
"event": [
{
"listen": "test",
"script": {
"exec": [
"tests[\"Response contains K8s Policy values\"] = responseBody.has(\"values\");\r",
"\r",
"pm.collectionVariables.unset(\"k8sStorageClass\");\r",
"pm.collectionVariables.unset(\"k8sPlacementPolicy\");\r",
"pm.collectionVariables.unset(\"virtualDataCenterName\");\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"pm.test('VDC Name = ' + data.values[0].vdc.name);\r",
"pm.test('Number of items found = ' + data.values.length, function () {\r",
" pm.expect(data.values.length).to.equal(1);\r",
"});\r",
"var kPolicy = data.values[0];\r",
"\r",
"pm.collectionVariables.set(\"k8sStorageClass\", kPolicy.kubernetesConfig.storageClasses[0].storageClass);\r",
"pm.collectionVariables.set(\"k8sPlacementPolicy\", kPolicy.name);\r",
"pm.collectionVariables.set(\"virtualDataCenterName\", kPolicy.vdc.name);\r",
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/2.0.0/vdcComputePolicies?page=1&pageSize=15&filterEncoded=true&filter=name==*-kubernetes-policy;policyType==VdcKubernetesPolicy&sortAsc=name&links=true",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"2.0.0",
"vdcComputePolicies"
],
"query": [
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "15"
},
{
"key": "filterEncoded",
"value": "true"
},
{
"key": "filter",
"value": "name==*-kubernetes-policy;policyType==VdcKubernetesPolicy",
"description": "Filter for a query. FIQL format."
},
{
"key": "sortAsc",
"value": "name",
"description": "Field to use for ascending sort"
},
{
"key": "links",
"value": "true"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Retrieves all K8s clusters",
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "X-VMWARE-VCLOUD-ACCESS-TOKEN",
"value": "{{token}}",
"type": "default",
"disabled": true
},
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/entities/interfaces/vmware/k8s/1.0.0?page=1&filter=entityType==urn%3Avcloud%3Atype%3Acse%3AnativeCluster%3A2.0.0,entityType==urn%3Avcloud%3Atype%3Acse%3AnativeCluster%3A1.0.0,entityType==urn%3Avcloud%3Atype%3Avmware%3Atkgcluster%3A1.0.0&pageSize=10",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"entities",
"interfaces",
"vmware",
"k8s",
"1.0.0"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
},
{
"key": "page",
"value": "1"
},
{
"key": "filter",
"value": "entityType==urn%3Avcloud%3Atype%3Acse%3AnativeCluster%3A2.0.0,entityType==urn%3Avcloud%3Atype%3Acse%3AnativeCluster%3A1.0.0,entityType==urn%3Avcloud%3Atype%3Avmware%3Atkgcluster%3A1.0.0"
},
{
"key": "pageSize",
"value": "10"
}
]
}
},
"response": []
},
{
"name": "Create a TKG Cluster",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is ok\", function () {\r",
" pm.response.to.have.status(202);\r",
"});\r",
"pm.collectionVariables.unset(\"createClusterTask\");\r",
"\r",
"pm.test(\"Location header is present\", () => {\r",
" pm.expect(pm.response.headers.get('Location')).not.empty;\r",
"});\r",
"pm.collectionVariables.set(\"createClusterTask\", pm.response.headers.get('Location'));"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "POST",
"header": [
{
"key": "X-VMWARE-VCLOUD-ACCESS-TOKEN",
"value": "{{token}}",
"type": "default",
"disabled": true
},
{
"key": "Accept",
"value": "application/*+json;version=37.0.0-alpha,application/json;version=37.0.0-alpha",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"kind\": \"TanzuKubernetesCluster\",\r\n \"spec\": {\r\n \"topology\": {\r\n \"workers\": {\r\n \"count\": 2,\r\n \"storageClass\": \"{{k8sStorageClass}}\",\r\n \"class\": \"{{k8sVMClass}}\"\r\n },\r\n \"controlPlane\": {\r\n \"count\": 1,\r\n \"storageClass\": \"{{k8sStorageClass}}\",\r\n \"class\": \"{{k8sVMClass}}\"\r\n }\r\n },\r\n \"distribution\": {\r\n \"version\": \"{{k8sVersion}}\"\r\n },\r\n \"settings\": {\r\n \"network\": {\r\n \"pods\": {\r\n \"cidrBlocks\": [\r\n \"192.168.0.0/16\"\r\n ]\r\n },\r\n \"services\": {\r\n \"cidrBlocks\": [\r\n \"10.96.0.0/12\"\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"metadata\": {\r\n \"name\": \"{{clusterName}}\",\r\n \"placementPolicy\": \"{{k8sPlacementPolicy}}\",\r\n \"virtualDataCenterName\": \"{{virtualDataCenterName}}\"\r\n }\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/tkgClusters",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"tkgClusters"
]
}
},
"response": []
},
{
"name": "Validate Cluster Status",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.collectionVariables.unset(\"clusterURN\");\r",
"//postman.setNextRequest('Delay 300s');\r",
"\r",
"var jsonData = pm.response.json();\r",
"\r",
"if (jsonData.status == \"success\"){\r",
" console.log(\"VCD K8s Cluster Create Completed \");\r",
" pm.collectionVariables.set(\"vcdKubeClusterURN\", jsonData.owner.id);\r",
"} else {\r",
" console.log(\"VCD K8s Cluster create in progress. waiting ... \");\r",
" postman.setNextRequest(\"Validate Cluster Status\");\r",
"}\r",
""
],
"type": "text/javascript"
}
},
{
"listen": "prerequest",
"script": {
"exec": [
"sleepTime = pm.environment.get(\"statusCheckIntervalTime\");\r",
"setTimeout(function(){\r",
" console.log(\"Waiting to check VCD K8s Cluster status\");\r",
" }, sleepTime);\r",
" "
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "X-VMWARE-VCLOUD-ACCESS-TOKEN",
"value": "{{token}}",
"type": "default",
"disabled": true
},
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
}
],
"url": {
"raw": "{{createClusterTask}}",
"host": [
"{{createClusterTask}}"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Get kubeconfig",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Status code is ok\", function () {\r",
" pm.response.to.have.status(202);\r",
"});\r",
"pm.collectionVariables.unset(\"createKubeConfigTask\");\r",
"\r",
"pm.test(\"Location header is present\", () => {\r",
" pm.expect(pm.response.headers.get('Location')).not.empty;\r",
"});\r",
"pm.collectionVariables.set(\"createKubeConfigTask\", pm.response.headers.get('Location'));"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "POST",
"header": [
{
"key": "X-VMWARE-VCLOUD-ACCESS-TOKEN",
"value": "{{token}}",
"type": "default",
"disabled": true
},
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/entities/:urn/behaviors/urn:vcloud:behavior-interface:createKubeConfig:vmware:k8s:1.0.0/invocations",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"entities",
":urn",
"behaviors",
"urn:vcloud:behavior-interface:createKubeConfig:vmware:k8s:1.0.0",
"invocations"
],
"variable": [
{
"key": "urn",
"value": "{{vcdKubeClusterURN}}"
}
]
}
},
"response": []
},
{
"name": "Validate Kube Config",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.environment.unset(\"kubeConfigOUT\");\r",
"var jsonData = pm.response.json();\r",
"\r",
"if (jsonData.status == \"success\"){\r",
" console.log(\"VCD K8s Cluster Generate Kube Config Completed \");\r",
" pm.environment.set(\"kubeConfigOUT\", jsonData.result.resultContent);\r",
"} else {\r",
" console.log(\"VCD K8s Cluster Generate Kube Config in progress. waiting ... \");\r",
" postman.setNextRequest(\"Validate Kube Config\");\r",
"}\r",
""
],
"type": "text/javascript"
}
},
{
"listen": "prerequest",
"script": {
"exec": [
"sleepTime = pm.environment.get(\"statusCheckIntervalTime\");\r",
"setTimeout(function(){\r",
" console.log(\"Waiting to check kubeconfig status\");\r",
" }, sleepTime);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
}
],
"url": {
"raw": "{{createKubeConfigTask}}",
"host": [
"{{createKubeConfigTask}}"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Retrieves K8s Cluster",
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/entities/:urn",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"entities",
":urn"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
],
"variable": [
{
"key": "urn",
"value": "{{vcdKubeClusterURN}}"
}
]
}
},
"response": []
}
],
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{vcdToken}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
},
{
"name": "Jumpbox",
"item": [
{
"name": "Get vDC",
"event": [
{
"listen": "test",
"script": {
"exec": [
"tests[\"Response contains VCD values\"] = responseBody.has(\"values\");\r",
"\r",
"pm.collectionVariables.unset(\"vcdId\");\r",
"pm.collectionVariables.unset(\"vcdIdURN\");\r",
"//pm.collectionVariables.unset(\"vcdIdURN:N:);\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"pm.test('1st VDC Name = ' + data.values[0].name);\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"var vCDName = pm.variables.get(\"virtualDataCenterName\");\r",
"data.values.forEach(function(vdc){\r",
" if(vdc.name ==vCDName){\r",
" pm.test('Matching VDC Name = ' + vdc.name);\r",
" pm.collectionVariables.set(\"vcdId\", vdc.id.split(\":\")[3]);\r",
" pm.collectionVariables.set(\"vcdIdURN\", vdc.id);\r",
" }\r",
"})\r",
"\r",
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/vdcs?page=1&pageSize=25",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
},
{
"key": "page",
"value": "1",
"description": "(Required) Page to fetch, zero offset."
},
{
"key": "pageSize",
"value": "25",
"description": "(Required) Results per page to fetch."
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Get Storage Policies",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get Storage Profile Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"storageProfileId\");\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"var spName = pm.variables.get(\"jumpVMStoragePolicyName\");\r",
"data.values.forEach(function(sp){\r",
" if(sp.name ==spName){\r",
" pm.collectionVariables.set(\"storageProfileId\", sp.id.split(\":\")[3]);\r",
" }\r",
"})"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/1.0.0/orgVdcStoragePolicies?page=1&pageSize=128&filterEncoded=true&filter=isEnabled==true;orgVdcRef.id=={{vcdIdURN}};name=={{jumpVMStoragePolicyName}}&links=true",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"1.0.0",
"orgVdcStoragePolicies"
],
"query": [
{
"key": "page",
"value": "1",
"description": "(Required) Page to fetch, zero offset."
},
{
"key": "pageSize",
"value": "128",
"description": "(Required) Results per page to fetch."
},
{
"key": "filterEncoded",
"value": "true"
},
{
"key": "filter",
"value": "isEnabled==true;orgVdcRef.id=={{vcdIdURN}};name=={{jumpVMStoragePolicyName}}",
"description": "Filter for a query. FIQL format."
},
{
"key": "links",
"value": "true"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Get Parent Network Id",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get Network ID Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"jumpVMParentNetworkId\");\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"pm.collectionVariables.set(\"jumpVMParentNetworkId\", data.record[0].href.split(\"/\")[6]);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/api/admin/vdc/:vcdurn/networks?page=1&pageSize=128&filter=name=={{jumpVMNetwork}}",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"api",
"admin",
"vdc",
":vcdurn",
"networks"
],
"query": [
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "128"
},
{
"key": "filter",
"value": "name=={{jumpVMNetwork}}"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
],
"variable": [
{
"key": "vcdurn",
"value": "{{vcdId}}"
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Get Computer Policies",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get Compute Policy Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"computePolicyId\");\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"pm.collectionVariables.set(\"computePolicyId\", data.values[0].id);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/cloudapi/2.0.0/vdcs/:vcdurn/computePolicies?page=1&pageSize=128&filter=name=={{jumpVMComputePolicy}}",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"cloudapi",
"2.0.0",
"vdcs",
":vcdurn",
"computePolicies"
],
"query": [
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "128"
},
{
"key": "filter",
"value": "name=={{jumpVMComputePolicy}}"
},
{
"key": "links",
"value": "true",
"disabled": true
}
],
"variable": [
{
"key": "vcdurn",
"value": "{{vcdIdURN}}"
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Get OS vAPP Template info",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get VM template from catalog Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"vmTemphref\");\r",
"pm.collectionVariables.unset(\"vAPPTemplateId\");\r",
"var data = JSON.parse(responseBody);\r",
"pm.collectionVariables.set(\"vmTemphref\", data.record[0].href);\r",
"pm.collectionVariables.set(\"vAPPTemplateId\", data.record[0].href.split(\"/\")[5]);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vCDbaseUrl}}/api/query?type=vAppTemplate&format=records&page=1&pageSize=21&filterEncoded=true&filter=((isExpired==false);(name=={{jumpVMTemplateName}});(catalogName=={{jumpVMCatalogName}});(vdcName=={{virtualDataCenterName}}))&sortAsc=name&links=false",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"api",
"query"
],
"query": [
{
"key": "type",
"value": "vAppTemplate"
},
{
"key": "format",
"value": "records"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "21"
},
{
"key": "filterEncoded",
"value": "true"
},
{
"key": "filter",
"value": "((isExpired==false);(name=={{jumpVMTemplateName}});(catalogName=={{jumpVMCatalogName}});(vdcName=={{virtualDataCenterName}}))"
},
{
"key": "sortAsc",
"value": "name"
},
{
"key": "links",
"value": "false"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Get a vAPP Template herf",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get VM template VM info Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.collectionVariables.unset(\"vAPPTemplateVMId\");\r",
"var data = JSON.parse(responseBody);\r",
"pm.collectionVariables.set(\"vAPPTemplateVMId\", data.children.vm[0].href.split(\"/\")[5]);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{vmTemphref}}",
"host": [
"{{vmTemphref}}"
],
"query": [
{
"key": "links",
"value": "false",
"description": "Field to use for descending sort",
"disabled": true
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
},
{
"name": "Request a vApp- xml",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Create Jump VM Status code is ok\", function () {\r",
" pm.response.to.have.status(201);\r",
"});\r",
"\r",
"pm.collectionVariables.unset(\"jumpVMTaskHref\");\r",
"\r",
"var data = JSON.parse(responseBody);\r",
"pm.collectionVariables.set(\"jumpVMTaskHref\", data.tasks.task[0].href);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true,
"content-type": true
}
},
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
},
{
"key": "Content-Type",
"value": "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml;charset=UTF-8",
"type": "default"
}
],
"body": {
"mode": "raw",
"raw": "<root:InstantiateVAppTemplateParams xmlns:root=\"http://www.vmware.com/vcloud/v1.5\" name=\"{{requestVMName}}\" deploy=\"true\" powerOn=\"true\" xmlns:ns3=\"http://schemas.dmtf.org/ovf/envelope/1\" xmlns:ns4=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\" xmlns:ns5=\"http://www.vmware.com/schema/ovf\">\r\n <root:Description>TKG Cluster via postman</root:Description>\r\n <root:InstantiationParams>\r\n <root:NetworkConfigSection>\r\n <ns3:Info/>\r\n <root:NetworkConfig networkName=\"{{jumpVMNetwork}}\">\r\n <root:Configuration>\r\n <root:ParentNetwork href=\"{{vCDbaseUrl}}/api/network/{{jumpVMParentNetworkId}}\"/>\r\n <root:FenceMode>bridged</root:FenceMode>\r\n </root:Configuration>\r\n </root:NetworkConfig>\r\n </root:NetworkConfigSection>\r\n </root:InstantiationParams>\r\n <root:Source href=\"{{vCDbaseUrl}}/api/vAppTemplate/{{vAPPTemplateId}}\" id=\"{{vAPPTemplateId}}\" name=\"{{jumpVMTemplateName}}\"/>\r\n <root:IsSourceDelete>false</root:IsSourceDelete>\r\n <root:SourcedItem>\r\n <root:Source href=\"{{vCDbaseUrl}}/api/vAppTemplate/{{vAPPTemplateVMId}}\"/>\r\n <root:VmGeneralParams>\r\n <root:Name>{{requestVMName}}</root:Name>\r\n </root:VmGeneralParams>\r\n <root:InstantiationParams>\r\n <root:NetworkConnectionSection>\r\n <ns3:Info/>\r\n <root:PrimaryNetworkConnectionIndex>0</root:PrimaryNetworkConnectionIndex>\r\n <root:NetworkConnection network=\"{{jumpVMNetwork}}\" needsCustomization=\"true\">\r\n <root:NetworkConnectionIndex>0</root:NetworkConnectionIndex>\r\n <root:IsConnected>true</root:IsConnected>\r\n <root:IpAddressAllocationMode>POOL</root:IpAddressAllocationMode>\r\n <root:NetworkAdapterType>VMXNET3</root:NetworkAdapterType>\r\n </root:NetworkConnection>\r\n </root:NetworkConnectionSection>\r\n <ns3:VirtualHardwareSection>\r\n <ns3:Info>Virtual hardware requirements</ns3:Info>\r\n <ns3:Item>\r\n <ns4:AddressOnParent>0</ns4:AddressOnParent>\r\n <ns4:Description>Hard disk</ns4:Description>\r\n <ns4:ElementName>Hard disk 1</ns4:ElementName>\r\n <ns4:HostResource root:storageProfileHref=\"{{vCDbaseUrl}}/api/vdcStorageProfile/{{storageProfileId}}\" root:busType=\"6\" root:busSubType=\"lsilogic\" root:capacity=\"10240\" root:storageProfileOverrideVmDefault=\"true\"/>\r\n <ns4:InstanceID>2000</ns4:InstanceID>\r\n <ns4:ResourceType>17</ns4:ResourceType>\r\n <ns4:VirtualQuantity>10737418240</ns4:VirtualQuantity>\r\n <ns4:VirtualQuantityUnits>byte</ns4:VirtualQuantityUnits>\r\n </ns3:Item>\r\n <ns3:Item>\r\n <ns4:AddressOnParent>1</ns4:AddressOnParent>\r\n <ns4:Description>Hard disk</ns4:Description>\r\n <ns4:ElementName>Hard disk 2</ns4:ElementName>\r\n <ns4:HostResource root:storageProfileHref=\"{{vCDbaseUrl}}/api/vdcStorageProfile/{{storageProfileId}}\" root:busType=\"6\" root:busSubType=\"lsilogic\" root:capacity=\"2048\" root:storageProfileOverrideVmDefault=\"true\"/>\r\n <ns4:InstanceID>2001</ns4:InstanceID>\r\n <ns4:ResourceType>17</ns4:ResourceType>\r\n <ns4:VirtualQuantity>2147483648</ns4:VirtualQuantity>\r\n <ns4:VirtualQuantityUnits>byte</ns4:VirtualQuantityUnits>\r\n </ns3:Item>\r\n <ns3:Item>\r\n <ns4:AddressOnParent>2</ns4:AddressOnParent>\r\n <ns4:Description>Hard disk</ns4:Description>\r\n <ns4:ElementName>Hard disk 3</ns4:ElementName>\r\n <ns4:HostResource root:storageProfileHref=\"{{vCDbaseUrl}}/api/vdcStorageProfile/{{storageProfileId}}\" root:busType=\"6\" root:busSubType=\"lsilogic\" root:capacity=\"14336\" root:storageProfileOverrideVmDefault=\"true\"/>\r\n <ns4:InstanceID>2002</ns4:InstanceID>\r\n <ns4:ResourceType>17</ns4:ResourceType>\r\n <ns4:VirtualQuantity>15032385536</ns4:VirtualQuantity>\r\n <ns4:VirtualQuantityUnits>byte</ns4:VirtualQuantityUnits>\r\n </ns3:Item>\r\n <ns3:Item>\r\n <ns4:AllocationUnits>hertz * 10^6</ns4:AllocationUnits>\r\n <ns4:Description>Number of Virtual CPUs</ns4:Description>\r\n <ns4:ElementName>1 virtual CPU(s)</ns4:ElementName>\r\n <ns4:InstanceID>4</ns4:InstanceID>\r\n <ns4:Reservation>0</ns4:Reservation>\r\n <ns4:ResourceType>3</ns4:ResourceType>\r\n <ns4:VirtualQuantity>{{jumpVMCPUCount}}</ns4:VirtualQuantity>\r\n <ns4:Weight>1000</ns4:Weight>\r\n <ns5:CoresPerSocket>1</ns5:CoresPerSocket>\r\n </ns3:Item>\r\n <ns3:Item>\r\n <ns4:AllocationUnits>byte * 2^20</ns4:AllocationUnits>\r\n <ns4:Description>Memory Size</ns4:Description>\r\n <ns4:ElementName>1024 MB of memory</ns4:ElementName>\r\n <ns4:InstanceID>5</ns4:InstanceID>\r\n <ns4:Reservation>0</ns4:Reservation>\r\n <ns4:ResourceType>4</ns4:ResourceType>\r\n <ns4:VirtualQuantity>{{jumpVMMemCount}}</ns4:VirtualQuantity>\r\n <ns4:Weight>10240</ns4:Weight>\r\n </ns3:Item>\r\n </ns3:VirtualHardwareSection>\r\n </root:InstantiationParams>\r\n <root:StorageProfile href=\"{{vCDbaseUrl}}/api/vdcStorageProfile/{{storageProfileId}}\"/>\r\n <root:ComputePolicy>\r\n <root:VmSizingPolicy href=\"{{computePolicyId}}\"/>\r\n <root:VmSizingPolicyFinal>false</root:VmSizingPolicyFinal>\r\n </root:ComputePolicy>\r\n </root:SourcedItem>\r\n <root:AllEULAsAccepted>true</root:AllEULAsAccepted>\r\n</root:InstantiateVAppTemplateParams>",
"options": {
"raw": {
"language": "xml"
}
}
},
"url": {
"raw": "{{vCDbaseUrl}}/api/vdc/:vcdId/action/instantiateVAppTemplate",
"host": [
"{{vCDbaseUrl}}"
],
"path": [
"api",
"vdc",
":vcdId",
"action",
"instantiateVAppTemplate"
],
"variable": [
{
"key": "vcdId",
"value": "{{vcdId}}"
}
]
}
},
"response": []
},
{
"name": "Validate Jump VM Status",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get Jump VM build task Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"\r",
"pm.collectionVariables.unset(\"jumpVMHref\");\r",
"\r",
"var jsonData = pm.response.json();\r",
"\r",
"if (jsonData.status == \"success\"){\r",
" console.log(\"Jump Server Create Completed!! \");\r",
" pm.collectionVariables.set(\"jumpVMHref\",jsonData.owner.href);\r",
"} else {\r",
" console.log(\"Jump Server Create in progress. waiting ... \");\r",
" postman.setNextRequest(\"Validate Jump VM Status\");\r",
"}\r",
""
],
"type": "text/javascript"
}
},
{
"listen": "prerequest",
"script": {
"exec": [
"sleepTime = pm.environment.get(\"statusCheckIntervalTime\");\r",
"setTimeout(function(){\r",
" console.log(\"Waiting to check jump server status\");\r",
" }, sleepTime);"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
},
{
"key": "X-VMWARE-VCLOUD-TENANT-CONTEXT",
"value": "{{vcdTenantId}}",
"type": "default"
}
],
"url": {
"raw": "{{jumpVMTaskHref}}",
"host": [
"{{jumpVMTaskHref}}"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Filter for a query. FIQL format.",
"disabled": true
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for ascending sort",
"disabled": true
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur",
"description": "Field to use for descending sort",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Get Jump vAPP Info",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Get Jump VM info Status code is ok\", function () {\r",
" pm.response.to.have.status(200);\r",
"});\r",
"pm.environment.unset(\"jumpVMIPOUT\");\r",
"var data = JSON.parse(responseBody);\r",
"\r",
"data.children.vm[0].section.forEach(function(vmSec){\r",
" if(vmSec._type ==\"NetworkConnectionSectionType\"){\r",
" pm.test('Getting IP from eth0 network = ' + vmSec.networkConnection[0].network);\r",
" pm.environment.set(\"jumpVMIPOUT\", vmSec.networkConnection[0].ipAddress);\r",
" }\r",
"})"
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disabledSystemHeaders": {
"accept": true
}
},
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/*+json;version=36.2",
"type": "default"
}
],
"url": {
"raw": "{{jumpVMHref}}",
"host": [
"{{jumpVMHref}}"
],
"query": [
{
"key": "links",
"value": "false",
"description": "Field to use for descending sort",
"disabled": true
}
]
},
"description": "Retrieves a list of Org-scoped (if applicable) vDCs.\nResults can be filtered by id, name, allocationType, and computePolicyType.\n\nSupported filters for computePolicyType are:\n (computePolicyType==VdcKubernetesPolicy) - |\n Returns a list of all vDCs that have a VdcKubernetesPolicy compute policy.\n"
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/1.0.0/vdcs?filter=eiusmod Duis reprehenderit pariatur&sortAsc=eiusmod Duis reprehenderit pariatur&sortDesc=eiusmod Duis reprehenderit pariatur&page=1&pageSize=25",
"host": [
"{{baseUrl}}"
],
"path": [
"1.0.0",
"vdcs"
],
"query": [
{
"key": "filter",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortAsc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "sortDesc",
"value": "eiusmod Duis reprehenderit pariatur"
},
{
"key": "page",
"value": "1"
},
{
"key": "pageSize",
"value": "25"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json;version=36.2"
}
],
"cookie": [],
"body": "{\n \"values\": [\n {\n \"id\": \"consectetur irure \",\n \"name\": \"dolor nostrud cupidatat in\",\n \"description\": \"fugiat commodo\",\n \"allocationType\": \"Excepteur ullamco\",\n \"org\": {\n \"name\": \"consectetur exercitation Duis\",\n \"id\": \"amet eiusmod\"\n }\n },\n {\n \"id\": \"anim dolor ad fugiat\",\n \"name\": \"sed consectetur anim\",\n \"description\": \"ullamco id eiusmod quis Ut\",\n \"allocationType\": \"reprehenderit velit\",\n \"org\": {\n \"name\": \"velit veniam reprehenderit\",\n \"id\": \"ut ullamco\"\n }\n }\n ]\n}"
}
]
}
],
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{vcdToken}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
},
{
"name": "TMC-TO-Integration",
"item": [
{
"name": "Auth",
"item": [
{
"name": "Get Access Token",
"event": [
{
"listen": "test",
"script": {
"exec": [
"tests[\"Status code is 200\"] = responseCode.code === 200;",
"tests[\"Response contains access token\"] = responseBody.has(\"access_token\");",
"pm.collectionVariables.unset(\"vmwCloudAccessToken\");",
"var data = JSON.parse(responseBody);",
"tests[\"Auth token is not null\"] = data.refresh_token !== \"\";",
"pm.collectionVariables.set(\"vmwCloudAccessToken\", data.access_token);",
"//postman.setEnvironmentVariable(\"accessToken\",data.access_token);"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/x-www-form-urlencoded",
"type": "text"
}
],
"url": {
"raw": "https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize?refresh_token={{vmwCloudRefreshToken}}",
"protocol": "https",
"host": [
"console",
"cloud",
"vmware",
"com"
],
"path": [
"csp",
"gateway",
"am",
"api",
"auth",
"api-tokens",
"authorize"
],
"query": [
{
"key": "refresh_token",
"value": "{{vmwCloudRefreshToken}}"
}
]
}
},
"response": []
},
{
"name": "Get Organisation ID",
"event": [
{
"listen": "test",
"script": {
"exec": [
"tests[\"Status code is 200\"] = responseCode.code === 200;",
"tests[\"Response contains Org Id\"] = responseBody.has(\"orgId\");",
"pm.collectionVariables.unset(\"vmwCloudOrgId\");",
"var data = JSON.parse(responseBody);",
"tests[\"Org Id is not null\"] = data.orgId !== \"\";",
"pm.collectionVariables.set(\"vmwCloudOrgId\", data.orgId);",
"//postman.setEnvironmentVariable(\"orgId\",data.orgId);"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"tokenValue\": \"{{vmwCloudRefreshToken}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/details",
"protocol": "https",
"host": [
"console",
"cloud",
"vmware",
"com"
],
"path": [
"csp",
"gateway",
"am",
"api",
"auth",
"api-tokens",
"details"
]
}
},
"response": []
}
]
},
{
"name": "Create Cluster Group",
"item": [
{
"name": "Create a TMC Cluster Group",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"clusterGroup\": {\n \"fullName\": {\n \"name\": \"{{tmcClusterGroup}}\"\n },\n \"meta\": {\n \"description\": \"Cluster-Group-Description-API\",\n \"labels\": {\"provi\":\"postman\"}\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clustergroups",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clustergroups"
]
}
},
"response": []
},
{
"name": "List TMC Cluster Groups",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clustergroups?searchScope.name=*",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clustergroups"
],
"query": [
{
"key": "searchScope.name",
"value": "*"
},
{
"key": "sortBy",
"value": "",
"disabled": true
},
{
"key": "query",
"value": "",
"disabled": true
},
{
"key": "pagination.offset",
"value": "",
"disabled": true
},
{
"key": "pagination.size",
"value": "",
"disabled": true
},
{
"key": "includeTotalCount",
"value": "true",
"disabled": true
}
]
}
},
"response": []
}
]
},
{
"name": "AttachCluster",
"item": [
{
"name": "Attach new cluster",
"event": [
{
"listen": "test",
"script": {
"exec": [
"tests[\"Status code is 200\"] = responseCode.code === 200;",
"tests[\"Response contains Installer link\"] = responseBody.has(\"installerLink\");",
"pm.environment.unset(\"tmcInstallerLinkOUT\");",
"",
"var data = JSON.parse(responseBody);",
"tests[\"installerLink is not null\"] = data.cluster.status.installerLink !== \"\";",
"pm.environment.set(\"tmcInstallerLinkOUT\", data.cluster.status.installerLink);"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Authorization",
"value": "Bearer {{accessToken}}",
"type": "text",
"disabled": true
}
],
"body": {
"mode": "raw",
"raw": "{\n \"cluster\": {\n \"fullName\": {\n \"managementClusterName\": \"attached\",\n \"provisionerName\": \"attached\",\n \"name\": \"{{clusterName}}\"\n },\n \"meta\": {},\n \"spec\": {\n \"clusterGroupName\": \"{{tmcClusterGroup}}\"\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clusters",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clusters"
],
"query": [
{
"key": "",
"value": "",
"disabled": true
}
]
},
"description": "Provide Cluster name as variable on collection or in body\n\nAfter running this API, you need to get the TMC Agent Installer Link so you can run this on your Kubernetes cluster."
},
"response": []
},
{
"name": "Get TMC Agent Installer information",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{tmcInstallerLinkOUT}}",
"host": [
"{{tmcInstallerLinkOUT}}"
]
}
},
"response": []
},
{
"name": "Get a TMC Cluster",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clusters/:fullName.name?fullName.managementClusterName=attached&fullName.provisionerName=attached",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clusters",
":fullName.name"
],
"query": [
{
"key": "fullName.managementClusterName",
"value": "attached",
"description": "Name of the management cluster."
},
{
"key": "fullName.provisionerName",
"value": "attached",
"description": "Provisioner of the cluster."
}
],
"variable": [
{
"key": "fullName.name",
"value": "{{clusterName}}",
"description": "(Required) Name of this cluster."
}
]
}
},
"response": []
}
]
},
{
"name": "Integrations",
"item": [
{
"name": "Enable TO Integration for Cluster",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"integration\": {\n \"fullName\": {\n \"managementClusterName\": \"attached\",\n \"provisionerName\": \"attached\",\n \"name\": \"tanzu-observability-saas\"\n },\n \"spec\": {\n \"configurations\": {\n \"url\": \"{{toBaseUrl}}\"\n },\n \"secrets\": {\n \"token\": \"{{toAPIToken}}\"\n }\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clusters/{{clusterName}}/integrations",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clusters",
"{{clusterName}}",
"integrations"
]
}
},
"response": []
},
{
"name": "Get Cluster Integrations",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{tmcBaseUrl}}/v1alpha1/clusters/:clusterName/integrations/tanzu-observability-saas?full_name.managementClusterName=attached&full_name.provisionerName=attached",
"host": [
"{{tmcBaseUrl}}"
],
"path": [
"v1alpha1",
"clusters",
":clusterName",
"integrations",
"tanzu-observability-saas"
],
"query": [
{
"key": "full_name.managementClusterName",
"value": "attached"
},
{
"key": "full_name.provisionerName",
"value": "attached"
}
],
"variable": [
{
"key": "clusterName",
"value": "{{clusterName}}"
}
]
}
},
"response": []
}
]
}
],
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{vmwCloudAccessToken}}",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
}
],
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
],
"variable": [
{
"key": "vmwCloudOrgId",
"value": ""
},
{
"key": "k8sStorageClass",
"value": "",
"type": "default"
},
{
"key": "k8sPlacementPolicy",
"value": "",
"type": "default"
},
{
"key": "virtualDataCenterName",
"value": "",
"type": "default"
},
{
"key": "vcdTenantId",
"value": "",
"type": "default"
},
{
"key": "vcdId",
"value": ""
},
{
"key": "vcdIdURN",
"value": ""
},
{
"key": "storageProfileId",
"value": ""
},
{
"key": "jumpVMParentNetworkId",
"value": ""
},
{
"key": "computePolicyId",
"value": ""
},
{
"key": "vmTemphref",
"value": ""
},
{
"key": "vAPPTemplateId",
"value": ""
},
{
"key": "vAPPTemplateVMId",
"value": ""
},
{
"key": "jumpVMHref",
"value": ""
},
{
"key": "vcdToken",
"value": ""
},
{
"key": "vmwCloudAccessToken",
"value": ""
},
{
"key": "createClusterTask",
"value": ""
},
{
"key": "vcdKubeClusterURN",
"value": ""
},
{
"key": "createKubeConfigTask",
"value": ""
},
{
"key": "jumpVMTaskHref",
"value": ""
}
]
}
Explore Edge Computing Solutions
© 2024 All Rights Reserved.