Credentials APIs

Credentials APIs

APIs for managing Credentials

Table of Contents

1. Get the Credentials

This API is used to fetch all credentials known to the system.

1.1. Prerequisites

The following data is required

  • Resource type, name, IP address, accountType or the domain name associated with the resource is required to filter the results. For allowable resource type values, refer : Get the Credentials API

  • "pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time.

Get All Credentials in Page

1.2. Steps

  • Invoke the API by specifying the "pageNumber" and "pageSize" filters.

Tip : Other filters like "resourceName" , "resourceIp" , "resourceType" and "domainName" can be additionally used as search criteria.

Tip : If no value for "pageNumber" and "pageSize" filters is specified, the API returns all known records in a single page.

Tip : Page number starts with 0.

Tip : A page size value equal to 0 will return all known records in a single page.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?pageNumber=0&pageSize=15' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials?pageNumber=0&pageSize=15 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: 7873

{
  "elements" : [ {
    "id" : "6b617a6d-bee2-4c0d-b913-68f2034ce2ed",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "da545dca-b84e-45bf-82b6-694bb6d8347a",
      "resourceName" : "sfo01-m01-esx01.rainpole.io",
      "resourceIp" : "10.0.0.100",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "7649d155-2dbf-4e8c-9b41-0d50ea94a75f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "fcc5b727-bb7e-4239-b63c-a02a01dd830d",
      "resourceName" : "sfo01-m01-esx03.rainpole.io",
      "resourceIp" : "10.0.0.102",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "3190d542-131c-41c2-a185-263270f5b22e",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "22494833-f6b0-4273-8ce3-e21896b117dc",
      "resourceName" : "sfo01-m01-esx04.rainpole.io",
      "resourceIp" : "10.0.0.103",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "12cdaba1-d913-442e-a50d-bcf5442328d9",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "5924be28-b71b-409b-bda6-5c496d48f95a",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "776c6248-80d4-4bc0-a0ae-c56a95c0641d",
    "credentialType" : "SSO",
    "accountType" : "USER",
    "username" : "[email protected]",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "f39be43b-8520-474f-9524-eb39738aad94",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "PSC",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "2acb0e6c-e70c-48fd-b8b4-608c61b40a0f",
    "credentialType" : "SSO",
    "accountType" : "SERVICE",
    "username" : "[email protected]",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "207b3011-476b-4087-bfa2-4ed967fe0814",
      "resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "8fa0fc41-3a02-4353-aadc-548e5ba6223a",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "23d4643c-c623-4e0b-a533-1f0ff8afbd9a",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "c873cde9-f51d-4208-a48a-525804398819",
      "resourceName" : "sfo-vrli01.rainpole.io",
      "resourceIp" : "10.0.0.15",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "4e26024f-f2a6-4cec-b76e-8996cd6baaef",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "2bb7529a-e884-4e84-b2c8-dd259aa69ca8",
      "resourceName" : "sfo-vrli01b.rainpole.io",
      "resourceIp" : "10.0.0.16",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "b4a90694-55c2-44fe-b528-31fc4accd5d9",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "be696ba3-d5ec-4773-9baa-d56cbe782b64",
      "resourceName" : "xreg-vrops01a.rainpole.io",
      "resourceIp" : "10.0.1.33",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "37ef1cfc-93d5-4f21-8f43-06f4485b17f8",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "58aca33b-731e-430d-9fea-51d8ccf87be2",
      "resourceName" : "xreg-vrops01.rainpole.io",
      "resourceIp" : "10.0.0.31",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "718410bc-9413-4c4b-8ecb-ad32302c207a",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "98a482b9-f188-49bc-a457-d8a913ea7276",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "a0944c0d-171d-48ae-af47-3d1d528b2595",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin@localhost",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.409Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.409Z",
    "resource" : {
      "resourceId" : "52a7e8ed-d990-437e-99a8-331d55f50602",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 15,
    "totalElements" : 15,
    "totalPages" : 1
  }
}

Get All Credentials

1.3. Steps

  • Invoke the API.

Tip : For a scaled environment, it is always recommended to provide "resourceType" filter for avoiding timeouts.

Tip : "pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time.

cURL Request

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

HTTP Request

GET /v1/credentials 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: 7873

{
  "elements" : [ {
    "id" : "acf8cc38-3b7a-4e5f-8cc7-272bc2ba95b7",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.180Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.180Z",
    "resource" : {
      "resourceId" : "4306acb2-b1e9-4fe4-aa32-9609c3c6e5a6",
      "resourceName" : "sfo01-m01-esx01.rainpole.io",
      "resourceIp" : "10.0.0.100",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.180Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.180Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "4c8c1793-24e5-4959-aa1b-dbac3994b6df",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "feaa09e6-9a04-445e-b16b-e73ba2066e48",
      "resourceName" : "sfo01-m01-esx03.rainpole.io",
      "resourceIp" : "10.0.0.102",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "921c288e-b463-446f-a152-bf2186a1aac8",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "99281091-ebaa-4113-8fb5-362e8c02082f",
      "resourceName" : "sfo01-m01-esx04.rainpole.io",
      "resourceIp" : "10.0.0.103",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "4c66cdc1-6b2b-4a6a-9b0f-4705d5e410a2",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "5924be28-b71b-409b-bda6-5c496d48f95a",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "95a75a61-7597-4033-92f0-078e6cbca8f3",
    "credentialType" : "SSO",
    "accountType" : "USER",
    "username" : "[email protected]",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "1fd305f6-70f4-437a-aa56-76340a66bbf7",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "PSC",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "9cdff11f-a4a2-4ec1-b6c4-a427fb6ed32e",
    "credentialType" : "SSO",
    "accountType" : "SERVICE",
    "username" : "[email protected]",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "1f61a5cc-97a1-4216-80c5-d7414cab4357",
      "resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "8fa0fc41-3a02-4353-aadc-548e5ba6223a",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "2cc4bbe6-c1f7-4293-8104-93cb553f1235",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "9951273e-7ce1-4ddf-8a55-c45b4f06bb7f",
      "resourceName" : "sfo-vrli01.rainpole.io",
      "resourceIp" : "10.0.0.15",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "0cc7757b-1895-4474-b493-e2cc41de4646",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "c140a5e8-e564-46e4-9e2d-cdd31b88df83",
      "resourceName" : "sfo-vrli01b.rainpole.io",
      "resourceIp" : "10.0.0.16",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "04fafc2f-9284-4a49-9d69-9e398abaa589",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "e9c5af5e-df59-48ed-88bc-fd59ad660c93",
      "resourceName" : "xreg-vrops01a.rainpole.io",
      "resourceIp" : "10.0.1.33",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "96d37bb3-82bd-455c-9e3a-dbbf6082777d",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "aae144b7-49c9-49d8-b405-a933fbd13b03",
      "resourceName" : "xreg-vrops01.rainpole.io",
      "resourceIp" : "10.0.0.31",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "cd54a509-57f8-4e51-a1b9-4278438bc1e2",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "6038af16-9f0d-414e-87a7-72ab61110150",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "17751781-25e6-4617-ba7b-9a6c2246d7b5",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin@localhost",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.181Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.181Z",
    "resource" : {
      "resourceId" : "fdd05340-eb0b-4aef-aa09-d12849ed27e4",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 15,
    "totalElements" : 15,
    "totalPages" : 1
  }
}

Get Credentials by "resourceName"
This API can be used to fetch the credentials associated with a resource with a specific name.

1.4. Steps

  • Invoke the API by specifying the "resourceName".

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceName=sfo01-mo1-esx02.rainpole.io' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials?resourceName=sfo01-mo1-esx02.rainpole.io 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: 648

{
  "elements" : [ {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.260Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.260Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 1,
    "totalElements" : 1,
    "totalPages" : 1
  }
}

Get Credentials by "resourceIp"
This API can be used to fetch the credentials associated with a resource with a specific IP address.

1.5. Steps

  • Invoke the API by specifying the "resourceIp".

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceIp=10.0.0.101' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials?resourceIp=10.0.0.101 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: 648

{
  "elements" : [ {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.647Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.647Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 1,
    "totalElements" : 1,
    "totalPages" : 1
  }
}

Get Credentials by "resourceType"
This API can be used to fetch the credentials associated with all the resources with a specific resource type.

1.6. Steps

  • Invoke the API by specifying the "resourceType".

Tip : "pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?resourceType=ESXI' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials?resourceType=ESXI 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: 2187

{
  "elements" : [ {
    "id" : "83c4a090-1e80-4b41-be64-8565b7ce7eb5",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.015Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.015Z",
    "resource" : {
      "resourceId" : "f16d26c1-2a20-4f5f-b265-5088218ebd92",
      "resourceName" : "sfo01-m01-esx01.rainpole.io",
      "resourceIp" : "10.0.0.100",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.015Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.015Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "6a6bc1ba-97ad-4f05-80bc-e10c78a3edb2",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.015Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.015Z",
    "resource" : {
      "resourceId" : "5bfc7164-5422-4e07-a56b-8188f9810b37",
      "resourceName" : "sfo01-m01-esx03.rainpole.io",
      "resourceIp" : "10.0.0.102",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "23e90839-d3f4-4ffb-bdf1-342af7518f3c",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:03.015Z",
    "modificationTimestamp" : "2023-04-27T17:58:03.015Z",
    "resource" : {
      "resourceId" : "4cecf290-c004-428c-8718-529e0c32b819",
      "resourceName" : "sfo01-m01-esx04.rainpole.io",
      "resourceIp" : "10.0.0.103",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 4,
    "totalElements" : 4,
    "totalPages" : 1
  }
}

Get Credentials by "domainName"
This API can be used to fetch the credentials associated with all the resources belonging to a specific domain.

1.7. Steps

  • Invoke the API by specifying the "domainName".

Tip : "pageNumber" and "pageSize" filters are recommended to be additionally used for limiting response content and also improving response time.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials?domainName=MGMT' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials?domainName=MGMT 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: 7873

{
  "elements" : [ {
    "id" : "658099a1-bd45-4122-aefd-c890f9e83b92",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "c39798fe-7a32-4b69-8a60-c7b2f1c53800",
      "resourceName" : "sfo01-m01-esx01.rainpole.io",
      "resourceIp" : "10.0.0.100",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
      "resourceName" : "sfo01-m01-esx02.rainpole.io",
      "resourceIp" : "10.0.0.101",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "8742156f-c3e9-43bb-94c8-aee13da55f86",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "72a9ca67-f996-4906-8eb5-512cc905bfb6",
      "resourceName" : "sfo01-m01-esx03.rainpole.io",
      "resourceIp" : "10.0.0.102",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "f9196542-d31c-4d9c-9d07-2105e1b39e51",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "31a69f08-4b88-4859-9fe4-5037465d8129",
      "resourceName" : "sfo01-m01-esx04.rainpole.io",
      "resourceIp" : "10.0.0.103",
      "resourceType" : "ESXI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "244c5d94-1e82-46f6-8773-88fdadfdbed3",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "5924be28-b71b-409b-bda6-5c496d48f95a",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "c300568f-638d-43eb-b64d-c28330f5b344",
    "credentialType" : "SSO",
    "accountType" : "USER",
    "username" : "[email protected]",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "6578da75-1393-456b-b726-383497647d1d",
      "resourceName" : "sfo01-m01-vc01.rainpole.io",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "PSC",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "d1dcff39-808f-4585-a06e-01f2dbf8c692",
    "credentialType" : "SSO",
    "accountType" : "SERVICE",
    "username" : "[email protected]",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "b40a8b76-55fe-45ab-9d75-3878fcb0f4cf",
      "resourceName" : "sfo01m01vcenter01.sfo01.rainpole.local",
      "resourceIp" : "10.0.0.6",
      "resourceType" : "VCENTER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "8fa0fc41-3a02-4353-aadc-548e5ba6223a",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceIp" : "10.0.0.9",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "c8b87fde-4db6-4037-8afc-4746da499e68",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "75b09cc3-aede-49d2-8da2-9c17626b3ea3",
      "resourceName" : "sfo-vrli01.rainpole.io",
      "resourceIp" : "10.0.0.15",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "579bd84c-65e9-4fe9-8a24-3744a35f1d92",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "ecdb6be0-922b-46ea-81ff-1d0a241f1f6d",
      "resourceName" : "sfo-vrli01b.rainpole.io",
      "resourceIp" : "10.0.0.16",
      "resourceType" : "VRLI",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "1ca21891-7fdd-48c4-b1dc-74c1687cb56f",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "1dd000ac-dd47-4e2b-86b5-ec9660bfed37",
      "resourceName" : "xreg-vrops01a.rainpole.io",
      "resourceIp" : "10.0.1.33",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "172d055a-b2a4-4ca2-8e91-c146171c94d1",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "037764ff-9a4b-47f5-935c-efac483f955c",
      "resourceName" : "xreg-vrops01.rainpole.io",
      "resourceIp" : "10.0.0.31",
      "resourceType" : "VROPS",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "d08a0f79-da91-45b4-83e1-cf38abb738c7",
    "credentialType" : "SSH",
    "accountType" : "USER",
    "username" : "root",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "a99a97d2-53d5-4a0d-b0db-1ec8e21cbc0b",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  }, {
    "id" : "c48bf32b-0300-4f25-8a1a-72eec74afd40",
    "credentialType" : "API",
    "accountType" : "USER",
    "username" : "admin@localhost",
    "password" : "xxxxx",
    "creationTimestamp" : "2023-04-27T17:58:05.183Z",
    "modificationTimestamp" : "2023-04-27T17:58:05.183Z",
    "resource" : {
      "resourceId" : "c22993ab-611a-4e48-a15d-288722350f14",
      "resourceName" : "xreg-vrslcm01.rainpole.io",
      "resourceIp" : "10.0.0.32",
      "resourceType" : "VRSLCM",
      "domainName" : "MGMT"
    }
  } ],
  "pageMetadata" : {
    "pageNumber" : 0,
    "pageSize" : 15,
    "totalElements" : 15,
    "totalPages" : 1
  }
}

Note : SSH services might be disabled for a few accounts. The user needs to enable SSH service in the product in order to use SSH credentials. In order to connect to the "enable" user of NSX_MANAGER, firstly enable SSH services using API credentials, connect to the API user and then enter enable mode using "enable" user credentials.

2. Get a Credential

This API is used to fetch credential for an ID.

2.1. Prerequisites

The following data is required

  • ID of the credential

2.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/ed021014-9893-40d1-8a1a-831c6693283f' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials/ed021014-9893-40d1-8a1a-831c6693283f HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "ed021014-9893-40d1-8a1a-831c6693283f",
  "credentialType" : "SSH",
  "accountType" : "USER",
  "username" : "root",
  "password" : "xxxxx",
  "creationTimestamp" : "2023-04-27T17:58:04.908Z",
  "modificationTimestamp" : "2023-04-27T17:58:04.908Z",
  "resource" : {
    "resourceId" : "6616bb96-26bf-4801-862c-03b4188c6bab",
    "resourceName" : "sfo01-m01-esx02.rainpole.io",
    "resourceIp" : "10.0.0.101",
    "resourceType" : "ESXI",
    "domainName" : "MGMT"
  }
}

3. Update the Passwords

This API is used to update passwords for list of resources by supplying new passwords.

3.1. Prerequisites

  • The following data is required

    • Name or ID of the resource

    • Type of the resource

    • Credential type of the resource

    • Username of the resource

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource.

  • New password must be in compliance with these password policies.

    Password requirements:

Note : Although individual VMware Cloud Foundation accounts support different password requirements, it is recommended that you set passwords following a common set of requirements across all accounts.

  • Length: 12-20 characters

  • Allowed special characters: ! @ # $ ^ *

  • At least 1 small letter, capital letter, number and special character should be present

  • Cannot include:

    • A dictionary word

    • A palindrome

    • More than four monotonic character sequences

    • Three same consecutive characters

3.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "UPDATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}'

HTTP Request

PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 257
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "UPDATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/aa8ec372-4d32-4a7d-b3a6-96fd751a6024
Content-Type: application/json
Content-Length: 100

{
  "id" : "aa8ec372-4d32-4a7d-b3a6-96fd751a6024",
  "name" : "UPDATE",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry the Update Passwords Task.

Warning : The password once updated cannot be rolled back.

Note : The password is updated in the order of the input.

Note : The passwords of the dependent resources of the requested resources will also get updated.

4. Rotate the Passwords

This API is used to rotate passwords for list of resources using system generated passwords.

4.1. Prerequisites

The following data is required

  • Name or ID of the resource

  • Type of the resource

  • Credential type of the resource

  • Username of the resource

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource.

4.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "ROTATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ]
}'

HTTP Request

PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 229
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "ROTATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/ce28fa28-93d9-405b-9a16-9ecc17983769
Content-Type: application/json
Content-Length: 100

{
  "id" : "ce28fa28-93d9-405b-9a16-9ecc17983769",
  "name" : "ROTATE",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry the Rotate Passwords Task.

Warning : The password once rotated cannot be rolled back.

Note : The password is rotated in the order of the input.

Note : The generated password adheres to the password compliance. Refer to: Password Compliance Guide.

Note : The passwords of the dependent resources of the requested resources will also get rotated.

5. Retry the Update Passwords Task

This API is used to retry a failed update passwords task.

5.1. Prerequisites

  • The following data is required

    • ID of the last triggered failed update passwords task

    • Name or ID of the resource

    • Type of the resource

    • Credential type of the resource

    • Username of the resource

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource and ID of the failed task.

  • New password must be in compliance with the password policies.

Tip : Refer to: Password Compliance Guide.

5.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/44280e9b-3823-4c6b-9f6a-369e4130d12f' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "UPDATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}'

HTTP Request

PATCH /v1/credentials/tasks/44280e9b-3823-4c6b-9f6a-369e4130d12f HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 257
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "UPDATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/44280e9b-3823-4c6b-9f6a-369e4130d12f
Content-Type: application/json
Content-Length: 100

{
  "id" : "44280e9b-3823-4c6b-9f6a-369e4130d12f",
  "name" : "UPDATE",
  "status" : "IN_PROGRESS"
}
  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed by providing previous credentials rotate specification or by amending the credentials rotate specification for FAILED resources.

Tip : Refer to: Retry the Update Passwords Task.

  • The failed task can be cancelled.

Tip : Refer to: Cancel the Update/Rotate Passwords Task.

Warning : The password once updated cannot be rolled back.

Note : The password is updated in the order of the input.

Note : Retry should be performed if updating passwords task has failed.

Note : Retry should be performed on the same list of resources as in the failed operation specification.

Tip : Refer to: Get the Resource Credentials for Credentials Task for the list of resources in the failed task.

Note : The passwords of the dependent resources of the requested resources will also get updated.

6. Retry the Rotate Passwords Task

This API is used to retry a failed rotate passwords task.

6.1. Prerequisites

The following data is required

  • ID of the last triggered failed rotate passwords task

  • Name or ID of the resource

  • Type of the resource

  • Credential type of the resource

  • Username of the resource

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource and ID of the failed task.

6.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/40a4216a-9fef-43ae-9d8b-00e0ac60084f' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "ROTATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ]
}'

HTTP Request

PATCH /v1/credentials/tasks/40a4216a-9fef-43ae-9d8b-00e0ac60084f HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 229
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "ROTATE",
  "elements" : [ {
    "resourceName" : "sfo01-mo1-esx02.rainpole.io",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/40a4216a-9fef-43ae-9d8b-00e0ac60084f
Content-Type: application/json
Content-Length: 100

{
  "id" : "40a4216a-9fef-43ae-9d8b-00e0ac60084f",
  "name" : "ROTATE",
  "status" : "IN_PROGRESS"
}
  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed by providing previous credentials rotate specification or by amending the credentials rotate specification for FAILED resources.

Tip : Refer to: Retry the Rotate Passwords Task.

  • The failed task can be cancelled.

Tip : Refer to: Cancel the Update/Rotate Passwords Task.

Warning : The password once rotated cannot be rolled back.

Note : The password is rotated in the order of the input.

Note : The generated password adheres to the password compliance. Refer to: Password Compliance Guide.

Note : Retry should be performed if some password rotation task has failed.

Note : Retry should be performed on the same list of resources as in the failed operation specification.

Tip : Refer to: Get the Resource Credentials for Credentials Task for the list of resources in the failed task.

Note : The passwords of the dependent resources of the requested resources will also get rotated.

7. Cancel the Update/Rotate Passwords Task

  • This API is used to cancel a failed update or rotate passwords task.

7.1. Prerequisites

The following data is required

  • ID of the last triggered failed update/rotate passwords task

Tip : Refer to: Get the Credentials Tasks section to get the ID of the failed task.

7.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/d1b93b34-ad74-4a3c-a23f-367a8f3e2b87' -i -X DELETE \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

DELETE /v1/credentials/tasks/d1b93b34-ad74-4a3c-a23f-367a8f3e2b87 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "d1b93b34-ad74-4a3c-a23f-367a8f3e2b87",
  "status" : "FAILED"
}

Warning : The password once updated or rotated cannot be rolled back.

Note : The password is updated or rotated in the order of the input.

Note : Cancel should be performed to release the internal global lock held at VCF instance level if some password updation or rotation task has failed after several retries.

8. Get the Credentials Tasks

This API is used to fetch all credentials tasks in reverse chronological order.

Note : "oldPassword " and "newPassword " fields won't be listed and will come as empty string. Refer Get a Credentials Subtask for fetching passwords details.

8.1. Prerequisites

None

8.2. Steps

  • Invoke the API.

cURL Request

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

HTTP Request

GET /v1/credentials/tasks HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "elements" : [ {
    "id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
    "name" : "Credentials rotate operation",
    "type" : "ROTATE",
    "creationTimestamp" : "2018-11-05T05:15:32.864Z",
    "status" : "SUCCESSFUL",
    "subTasks" : [ {
      "id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
      "resourceName" : "vra01svr01a.rainpole.io",
      "name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
      "creationTimestamp" : "2018-11-05T05:15:32.864Z",
      "status" : "SUCCESSFUL",
      "oldPassword" : "",
      "newPassword" : "",
      "entityType" : "VRA",
      "username" : "root",
      "credentialType" : "SSH"
    }, {
      "id" : "900e8ce0-4ff4-4a76-a7e0-8e44748aa46e",
      "resourceName" : "vra01svr01b.rainpole.io",
      "name" : "Password rotate for resource : vra01svr01b.rainpole.io, user : root and credential type : SSH",
      "creationTimestamp" : "2018-11-05T05:15:32.864Z",
      "status" : "SUCCESSFUL",
      "oldPassword" : "",
      "newPassword" : "",
      "entityType" : "VRA",
      "username" : "root",
      "credentialType" : "SSH"
    }, {
      "id" : "1b3b962d-fff7-4dcc-98ed-0a15b495afa5",
      "resourceName" : "vra01svr01c.rainpole.io",
      "name" : "Password rotate for resource : vra01svr01c.rainpole.io, user : root and credential type : SSH",
      "creationTimestamp" : "2018-11-05T05:15:32.864Z",
      "status" : "SUCCESSFUL",
      "oldPassword" : "",
      "newPassword" : "",
      "entityType" : "VRA",
      "username" : "root",
      "credentialType" : "SSH"
    } ]
  } ]
}

9. Get a Credentials Task

This API is used to fetch a credentials task for an ID.

Note : "oldPassword " and "newPassword " fields won't be listed and will come as empty string. Refer Get a Credentials Subtask for fetching passwords details.

9.1. Prerequisites

The following data is required

  • ID of the credentials task

9.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
  "name" : "Credentials rotate operation",
  "type" : "ROTATE",
  "creationTimestamp" : "2018-11-05T05:15:32.864Z",
  "status" : "SUCCESSFUL",
  "subTasks" : [ {
    "id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
    "resourceName" : "vra01svr01a.rainpole.io",
    "name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
    "creationTimestamp" : "2018-11-05T05:15:32.864Z",
    "status" : "SUCCESSFUL",
    "oldPassword" : "",
    "newPassword" : "",
    "entityType" : "VRA",
    "username" : "root",
    "credentialType" : "SSH"
  }, {
    "id" : "900e8ce0-4ff4-4a76-a7e0-8e44748aa46e",
    "resourceName" : "vra01svr01b.rainpole.io",
    "name" : "Password rotate for resource : vra01svr01b.rainpole.io, user : root and credential type : SSH",
    "creationTimestamp" : "2018-11-05T05:15:32.864Z",
    "status" : "SUCCESSFUL",
    "oldPassword" : "",
    "newPassword" : "",
    "entityType" : "VRA",
    "username" : "root",
    "credentialType" : "SSH"
  }, {
    "id" : "1b3b962d-fff7-4dcc-98ed-0a15b495afa5",
    "resourceName" : "vra01svr01c.rainpole.io",
    "name" : "Password rotate for resource : vra01svr01c.rainpole.io, user : root and credential type : SSH",
    "creationTimestamp" : "2018-11-05T05:15:32.864Z",
    "status" : "SUCCESSFUL",
    "oldPassword" : "",
    "newPassword" : "",
    "entityType" : "VRA",
    "username" : "root",
    "credentialType" : "SSH"
  } ]
}

10. Get the Resource Credentials for Credentials Task

This API is used to fetch resource credentials for a credentials task ID.

10.1. Prerequisites

The following data is required

  • ID of the credentials task

Tip : Refer to: Get the Credentials Tasks to get the ID of credentials tasks.

10.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/resource-credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

[ {
  "resourceName" : "vra01svr01a.rainpole.io",
  "resourceType" : "VRA",
  "credentials" : [ {
    "credentialType" : "SSH",
    "username" : "root",
    "password" : "yyyyy"
  } ]
}, {
  "resourceName" : "vra01svr01b.rainpole.io",
  "resourceType" : "VRA",
  "credentials" : [ {
    "credentialType" : "SSH",
    "username" : "root",
    "password" : "yyyyy"
  } ]
}, {
  "resourceName" : "vra01svr01c.rainpole.io",
  "resourceType" : "VRA",
  "credentials" : [ {
    "credentialType" : "SSH",
    "username" : "root",
    "password" : "yyyyy"
  } ]
} ]

11. Get a Credentials Subtask

This API is used to fetch details of a subtask corresponding to a credentials task ID and subtask ID.

11.1. Prerequisites

The following data is required

  • ID of the credentials task

  • ID of the credentials subtask

11.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/subtasks/acb6fa7b-a81b-41d8-bb53-0c1611609dd7' -i -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials/tasks/186d891f-aac3-4501-ae52-afb89eb7e32f/subtasks/acb6fa7b-a81b-41d8-bb53-0c1611609dd7 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "186d891f-aac3-4501-ae52-afb89eb7e32f",
  "name" : "Credentials rotate operation",
  "type" : "ROTATE",
  "creationTimestamp" : "2018-11-05T05:15:32.864Z",
  "status" : "SUCCESSFUL",
  "subTasks" : [ {
    "id" : "acb6fa7b-a81b-41d8-bb53-0c1611609dd7",
    "resourceName" : "vra01svr01a.rainpole.io",
    "name" : "Password rotate for resource : vra01svr01a.rainpole.io, user : root and credential type : SSH",
    "creationTimestamp" : "2018-11-05T05:15:32.864Z",
    "status" : "SUCCESSFUL",
    "oldPassword" : "xxxxx",
    "newPassword" : "yyyyy",
    "entityType" : "VRA",
    "username" : "root",
    "credentialType" : "SSH"
  } ]
}

12. Remediate expired Passwords

If the password is expired, then the customer requires to manually reset the account in the product and then reach out to GSS to sync credentials store of VCF with new password for the product.
Hence this new API will accept the new password from the client, validates by testing the connectivity and then performs credentials store update. This API is generalized so that the same API can be used for both service accounts and user accounts.
For service accounts, Password will be auto rotated post rememdiaton with correct password.
Please note: Credentials store sync is irreversible operation, ie when credentials store sync is successful and password rotation failed due to other issues, then we wont be reverting credentials store with older non working password.

12.1. Prerequisites

The following data is required

  • Name or ID of the resource

  • Type of the resource

  • Username of the resource

  • Working password of the resource

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource.

12.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "REMEDIATE",
  "elements" : [ {
    "resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}'

HTTP Request

PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 235
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "REMEDIATE",
  "elements" : [ {
    "resourceName" : "sfo01m01esx02.sfo01.rainpole.local",
    "resourceType" : "ESXI",
    "credentials" : [ {
      "username" : "root",
      "password" : "xxxxx"
    } ]
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/e70f75b7-5556-4076-86c5-fe93a40d51b6
Content-Type: application/json
Content-Length: 103

{
  "id" : "e70f75b7-5556-4076-86c5-fe93a40d51b6",
  "name" : "REMEDIATE",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry the Rotate Passwords Task.

Warning : The password once rotated cannot be rolled back.

Note : Currently we support only one credential at a time for remediation.

Note : The password is rotated in the order of the input.

Note : The generated password adheres to the password compliance. Refer to: Password Compliance Guide.

Note : The passwords of the dependent resources of the requested resources will also get rotated.

13. Configure auto-rotate schedule for Credentials

This API is used to configure schedule for auto-rotate of the passwords for the list of selected credentials.

13.1. Prerequisites

The following data is required

  • Name or ID of the resource

  • Type of the resource

  • Credential type of the resource

  • Username of the resource

  • enableAutoRotatePolicy refers to property for enable/disable the auto-rotate schedule

  • frequencyInDays refers to frequency in number of days for auto-rotate schedule

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource.

13.2. Steps

  • Trigger the task using the valid input specification.

    set enableAutoRotatePolicy to True

    set frequencyInDays to number of days auto-rotate schedule should execute.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "UPDATE_AUTO_ROTATE_POLICY",
  "elements" : [ {
    "resourceName" : "sfo01-m01-vc01.rainpole.io",
    "resourceType" : "VCENTER",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ],
  "autoRotatePolicy" : {
    "frequencyInDays" : 30,
    "enableAutoRotatePolicy" : true
  }
}'

HTTP Request

PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 344
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "UPDATE_AUTO_ROTATE_POLICY",
  "elements" : [ {
    "resourceName" : "sfo01-m01-vc01.rainpole.io",
    "resourceType" : "VCENTER",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ],
  "autoRotatePolicy" : {
    "frequencyInDays" : 30,
    "enableAutoRotatePolicy" : true
  }
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/77df927f-a7b4-4a07-8473-e1b2bccad8c6
Content-Type: application/json
Content-Length: 119

{
  "id" : "77df927f-a7b4-4a07-8473-e1b2bccad8c6",
  "name" : "UPDATE_AUTO_ROTATE_POLICY",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task or Get a Credentials Task.

  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry the Rotate Passwords Task.

14. Disable auto-rotate schedule for credentials

This API is used to disable configured schedule for auto-rotate of passwords for the list of selected credentials.

14.1. Prerequisites

The following data is required

  • Name or ID of the resource

  • Type of the resource

  • Credential type of the resource

  • Username of the resource

  • enableAutoRotatePolicy refers to property for enable/disable the auto-rotate schedule

Tip : Refer to: Get the Credentials to get the credential type, username, name, ID and type of the resource.

14.2. Steps

  • Trigger the task using the valid input specification.

    set enableAutoRotatePolicy to True

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "operationType" : "UPDATE_AUTO_ROTATE_POLICY",
  "elements" : [ {
    "resourceName" : "sfo01-m01-vc01.rainpole.io",
    "resourceType" : "VCENTER",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ],
  "autoRotatePolicy" : {
    "enableAutoRotatePolicy" : false
  }
}'

HTTP Request

PATCH /v1/credentials HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 317
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "operationType" : "UPDATE_AUTO_ROTATE_POLICY",
  "elements" : [ {
    "resourceName" : "sfo01-m01-vc01.rainpole.io",
    "resourceType" : "VCENTER",
    "credentials" : [ {
      "credentialType" : "SSH",
      "username" : "root"
    } ]
  } ],
  "autoRotatePolicy" : {
    "enableAutoRotatePolicy" : false
  }
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/tasks/06fb2fb2-6a5a-4c13-b807-ff77be96bf11
Content-Type: application/json
Content-Length: 119

{
  "id" : "06fb2fb2-6a5a-4c13-b807-ff77be96bf11",
  "name" : "UPDATE_AUTO_ROTATE_POLICY",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the task API with the ID from the response of the previous API.

Tip : Refer to: Get a Task. or Get a Credentials Task.

  • Poll the task until "status" is not "IN_PROGRESS" with the ID from the previous response.

Tip : Refer to: Get a Task.

  • If the "status" is "SUCCESSFUL", the task is completed successfully.

  • If the "status" is "FAILED", the task can be re-executed.

Tip : Refer to: Retry the Rotate Passwords Task.

15. Fetch password expiration details

This API is used to get password expiration details for a list of credentials.

15.1. Prerequisites

  • The following data is required

    • Type of the resource
  • The following data is optional

    • Domain name associated with the resource

    • Credential id of the resource

Tip : Refer to: Get the Credentials to get the credential id, domain name and type of the resource.

15.2. Steps

  • Trigger the task using the valid input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/expirations' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "domainName" : "MGMT",
  "resourceType" : "NSXT_MANAGER",
  "credentialIds" : [ "8fa0fc41-3a02-4353-aadc-548e5ba6223a", "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef" ]
}'

HTTP Request

POST /v1/credentials/expirations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 166
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "domainName" : "MGMT",
  "resourceType" : "NSXT_MANAGER",
  "credentialIds" : [ "8fa0fc41-3a02-4353-aadc-548e5ba6223a", "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef" ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/credentials/expirations/9d0ee881-8ea3-4616-9c02-152d53983044
Content-Type: application/json
Content-Length: 79

{
  "id" : "9d0ee881-8ea3-4616-9c02-152d53983044",
  "status" : "IN_PROGRESS"
}
  • Poll the status of the task using the get expiration API with the ID from the response of the previous API. Continue polling until "status" is not "IN_PROGRESS".

    • If the "status" is "COMPLETED", the task is completed and expiration details of credentials can be obtained from the list elements in the response. If the expiration fetch fails for any credential, check the error response of that element in the response.

    • If the "status" is "FAILED", the task can be re-executed.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/credentials/expirations/9d0ee881-8ea3-4616-9c02-152d53983044' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/credentials/expirations/9d0ee881-8ea3-4616-9c02-152d53983044 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "9d0ee881-8ea3-4616-9c02-152d53983044",
  "status" : "COMPLETED",
  "elements" : [ {
    "id" : "8fa0fc41-3a02-4353-aadc-548e5ba6223a",
    "username" : "root",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    },
    "expiry" : {
      "expiryDate" : "2023-07-26T17:58:03.702Z",
      "status" : "ACTIVE"
    }
  }, {
    "id" : "ec62f2ce-bce5-4792-8f60-93a48b7dd2ef",
    "username" : "admin",
    "resource" : {
      "resourceId" : "49462194-e7d8-4fd7-8c34-ea1d70433558",
      "resourceName" : "sfo01-m01-nsx01.rainpole.io",
      "resourceType" : "NSXT_MANAGER",
      "domainName" : "MGMT"
    },
    "expiry" : {
      "expiryDate" : "2023-07-26T17:58:03.702Z",
      "status" : "ACTIVE"
    }
  } ]
}

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

Operations
DELETE
Cancel Credentials Task
Cancel a failed credentials task for a given ID
POST
Fetch Password Expiration
Fetch expiration details of passwords for a list of credentials
GET
Get Credential
Get Credential for the given ID
GET
Get Credentials
Get the Credentials
GET
Get Credentials Sub Task
Fetch details of a subtask for a given credentials task ID and sub-task ID.
GET
Get Credentials Task
Fetch a credentials task
GET
Get Credentials Task Resources Credentials
Fetch resource credentials for a given credentials task ID
GET
Get Credentials Tasks
Fetch the credentials tasks
GET
Get Expirations For Passwords
Get the status of the password expiration fetch
PATCH
Retry Credentials Task
Retry a failed credentials task for a given ID
PATCH
Update Or Rotate Passwords
Update or rotate passwords for a list of resources