Vasa Providers APIs

Vasa Providers APIs

APIs for managing VASA Providers

Table of Contents

1. Validate VASA Provider

  • This API validates the input specification of the VASA Provider

1.1. Prerequisites API

The following data is required

  • VASA Provider name

  • VASA Provider URL

  • List of storage containers

    • For each storage container

      • Name of the storage container

      • Storage protocol type

  • List of VASA users

    • For each VASA user

      • User name

      • Password.

Tip : Refer to: VasaProvider.

1.2. Steps API

  • Validate the input specification.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/validations' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "username" : "User1",
    "password" : "password"
  }, {
    "username" : "User2",
    "password" : "password"
  } ]
}'

HTTP Request

POST /v1/vasa-providers/validations HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 391
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "username" : "User1",
    "password" : "password"
  }, {
    "username" : "User2",
    "password" : "password"
  } ]
}

HTTP Response

HTTP/1.1 202 Accepted
Location: /v1/vasa-providers/validations/5908a7fb-6734-460a-9c48-10fdce485381
Content-Type: application/json
Content-Length: 321

{
  "id" : "5908a7fb-6734-460a-9c48-10fdce485381",
  "description" : "Validate input specification to add a VASA Provider to VMware Cloud Foundation",
  "executionStatus" : "IN_PROGRESS",
  "validationChecks" : [ {
    "description" : "Validating VASA Provider input specification",
    "resultStatus" : "UNKNOWN"
  } ]
}
  • Poll the status of the validation using the get validation API with the ID from the response.

Tip : Refer to: Get VASA Provider Validation.

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

2. Get VASA Provider Validation

2.1. Prerequisites API

The following data is required

  • ID of the VASA Provider Validation

2.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/validations/02a6add8-45f9-44c9-b757-2a5908c1e82d' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/validations/02a6add8-45f9-44c9-b757-2a5908c1e82d 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: 321

{
  "id" : "02a6add8-45f9-44c9-b757-2a5908c1e82d",
  "description" : "Validate input specification to add a VASA Provider to VMware Cloud Foundation",
  "executionStatus" : "COMPLETED",
  "validationChecks" : [ {
    "description" : "Validating VASA Provider input specification",
    "resultStatus" : "SUCCEEDED"
  } ]
}

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

3. Add VASA Provider

  • This API is used to add a VASA Provider to the system. The added VASA Provider would be used during domain creation, cluster creation flows.

  • If a VASA Provider already exists, you will get an error with HTTP status 400.

3.1. Prerequisites API

The following data is required

  • VASA Provider name

  • VASA Provider URL

  • List of storage containers

    • For each storage container

      • Name of the storage container

      • Storage protocol type

  • List of VASA users

    • For each VASA user

      • User name

      • Password.

Tip : Refer to: VasaProvider.

3.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "username" : "User1",
    "password" : "password"
  }, {
    "username" : "User2",
    "password" : "password"
  } ]
}'

HTTP Request

POST /v1/vasa-providers HTTP/1.1
Content-Type: application/json
Content-Length: 391
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "username" : "User1",
    "password" : "password"
  }, {
    "username" : "User2",
    "password" : "password"
  } ]
}

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 669

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  }, {
    "id" : "6543371c-2dee-4681-a376-8a9c09385671",
    "username" : "User3"
  } ]
}

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

4. Get the VASA Providers

  • This API is used to get the VASA Providers.

4.1. Prerequisites API

None

4.2. Steps API

  • Invoke the API

cURL Request

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

HTTP Request

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

HTTP Response

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

{
  "elements" : [ {
    "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
    "name" : "VASA-Provider1",
    "url" : "https://10.0.0.217:8443/vasa/version.xml",
    "storageContainers" : [ {
      "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
      "name" : "StorageContainer-FC",
      "protocolType" : "FC"
    }, {
      "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
      "name" : "StorageContainer-NFS",
      "protocolType" : "NFS"
    } ],
    "users" : [ {
      "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
      "username" : "User1"
    }, {
      "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
      "username" : "User2"
    } ]
  } ]
}

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

5. Get a VASA Provider

This API is used to get a VASA Provider.

5.1. Prerequisites API

The following data is required:

  • ID of the VASA Provider

5.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  } ]
}

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

6. Update a VASA Provider

  • This API is used to update a VASA Provider.

6.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

The following data is optional

  • VASA Provider name

  • VASA Provider URL

Tip : Refer to: Get the VASA Providers

6.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "new-VASA-Provider1",
  "url" : "https://10.0.32.217/vasa/version.xml"
}'

HTTP Request

PATCH /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c HTTP/1.1
Content-Type: application/json
Content-Length: 85
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "name" : "new-VASA-Provider1",
  "url" : "https://10.0.32.217/vasa/version.xml"
}

HTTP Response

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

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "new-VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  } ]
}

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

7. Delete a VASA Provider

  • Used to delete a VASA Provider.

  • Deleting a VASA Provider which is being used, will give an error.

  • Deleting a VASA Provider which does not exist, will give a HTTP response code 404.

7.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

7.2. Steps API

  • Invoke the API

Tip : Refer to: Get the VASA Providers API to retrieve all VASA providers in the system and use the ID of VASA Provider to be deleted.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c' -i -X DELETE \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

DELETE /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

HTTP/1.1 204 No Content

[_validatevasaproviderspec] API [_getvasaprovidervalidation] API [_addvasaprovider] API [_getvasaproviders] API [_getvasaprovider] API [_updatevasaprovider] API [_removevasaprovider] API

8. Get the Storage Containers of a VASA Provider

  • This API is used to fetch all the storage containers of a VASA Provider

8.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

Tip : Refer to: Get the VASA Providers

8.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

[ {
  "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
  "name" : "StorageContainer-FC",
  "protocolType" : "FC"
}, {
  "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
  "name" : "StorageContainer-NFS",
  "protocolType" : "NFS"
} ]

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

9. Get the Storage Containers by ProtocolType

  • This API is used to fetch all the storage containers for a given protocol type

9.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • Protocol type of the storage container

Tip : Refer to: Get the VASA Providers

9.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers?protocolType=FC' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers?protocolType=FC HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

[ {
  "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
  "name" : "StorageContainer-FC",
  "protocolType" : "FC"
} ]

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

10. Add the Storage Containers to a VASA Provider

  • This API is used to add the storage containers to a VASA Provider.

  • If a storage container already exists, you will get an error with HTTP status 400.

10.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • List of storage containers

    • For each storage container

      • Name of the storage container

      • Storage protocol type

Tip : Refer to: Get the VASA Providers

10.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '[ {
  "name" : "StorageContainer-ISCSI",
  "protocolType" : "ISCSI"
} ]'

HTTP Request

POST /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers HTTP/1.1
Content-Type: application/json
Content-Length: 71
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

[ {
  "name" : "StorageContainer-ISCSI",
  "protocolType" : "ISCSI"
} ]

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 712

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  }, {
    "id" : "e016936f-8916-4e5e-89a6-e3719db3d1cb",
    "name" : "StorageContainer-ISCSI",
    "protocolType" : "ISCSI"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  } ]
}

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

11. Rename a Storage Container of a VASA Provider

  • This API is used to rename a storage container of a VASA Provider.

11.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • ID of the storage container

  • New storage container name

Tip : Refer to: Get the VASA Providers and Get the Storage Containers of a VASA Provider

11.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers/d4a6dd86-ee66-48de-8e1f-02762bf4cf68' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "new-StorageContainer-FC"
}'

HTTP Request

PATCH /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers/d4a6dd86-ee66-48de-8e1f-02762bf4cf68 HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "name" : "new-StorageContainer-FC"
}

HTTP Response

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

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "new-StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  } ]
}

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

12. Delete a Storage Container of a VASA Provider

  • Used to delete a storage container of a VASA Provider

  • Deleting a storage container which is being used, will give an error.

  • Deleting a storage container which does not exist, will give a HTTP response code 404.

12.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • ID of the storage containers

12.2. Steps API

  • Invoke the API

Tip : Refer to: Get the VASA Providers and Get the Storage Containers of a VASA Provider

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers/d4a6dd86-ee66-48de-8e1f-02762bf4cf68' -i -X DELETE \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

DELETE /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/storage-containers/d4a6dd86-ee66-48de-8e1f-02762bf4cf68 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

HTTP/1.1 204 No Content

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

13. Get the Users of a VASA Provider

13.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

Tip : Refer to: Get the VASA Providers

13.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

HTTP Response

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

[ {
  "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
  "username" : "User1"
}, {
  "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
  "username" : "User2"
} ]

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

14. Add the Users to a VASA Provider

  • This API is used to add the VASA users to a VASA Provider.

  • If a VASA user already exists, you will get an error with HTTP status 400.

14.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • List of VASA users

    • For each VASA user

      • User name

      • Password.

Tip : Refer to: Get the VASA Providers

14.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '[ {
  "username" : "User3",
  "password" : "password"
} ]'

HTTP Request

POST /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users HTTP/1.1
Content-Type: application/json
Content-Length: 57
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

[ {
  "username" : "User3",
  "password" : "password"
} ]

HTTP Response

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 669

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  }, {
    "id" : "3a4c2cd4-1b6e-4000-ba89-d91fd632ac48",
    "username" : "User3"
  } ]
}

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API

15. Update the User of a VASA Provider

  • This API is used to update the user of a VASA Provider.

15.1. Prerequisites API

The following data is required

  • ID of the VASA Provider

  • ID of the VASA User

The following data is optional

  • VASA user name

  • VASA password

Tip : Refer to: Get the VASA Providers and Get the Users of a VASA Provider

15.2. Steps API

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users/e273c8ae-1e0a-493b-9851-128b58217e6f' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "username" : "new-User1",
  "password" : "password"
}'

HTTP Request

PATCH /v1/vasa-providers/5945bb45-386c-44c2-a29d-6db8835bbd3c/users/e273c8ae-1e0a-493b-9851-128b58217e6f HTTP/1.1
Content-Type: application/json
Content-Length: 57
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....

{
  "username" : "new-User1",
  "password" : "password"
}

HTTP Response

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

{
  "id" : "5945bb45-386c-44c2-a29d-6db8835bbd3c",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "d4a6dd86-ee66-48de-8e1f-02762bf4cf68",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "1fc6bd28-84fe-4329-a6a8-a7b5e85f82de",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "e273c8ae-1e0a-493b-9851-128b58217e6f",
    "username" : "new-User1"
  }, {
    "id" : "206686ed-273a-44bc-9560-0acb9c35ef30",
    "username" : "User2"
  } ]
}

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API
Last updated 2024-06-21 01:22:12 -0700

Operations
POST
Add Vasa Provider
Add a VASA Provider
POST
Add Vasa Provider Storage Container
Add the storage containers to a VASA Provider
POST
Add Vasa Provider User
Add the users to a VASA Provider
GET
Get Vasa Provider
Get a VASA Provider
GET
Get Vasa Providers
Get the VASA Providers
GET
Get Vasa Provider Storage Containers
Get the storage containers of a VASA Provider
GET
Get Vasa Provider User
Get the users of a VASA Provider
GET
Get Vasa Provider Validation
Get the status of the validation of the VASA Provider
DELETE
Remove Vasa Provider
Delete a VASA Provider
DELETE
Remove Vasa Provider Storage Container
Delete a storage container of a VASA Provider
PATCH
Update Vasa Provider
Update a VASA Provider
PATCH
Update Vasa Provider Storage Container
Update the storage container of a VASA Provider
PATCH
Update Vasa Provider User
Update the user of a VASA Provider
POST
Validate Vasa Provider Spec
Validate VasaProvider input specification