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

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

  • 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/f28d1151-6d1b-4716-a03b-c2704512fc5d
Content-Type: application/json
Content-Length: 321

{
  "id" : "f28d1151-6d1b-4716-a03b-c2704512fc5d",
  "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

The following data is required

  • ID of the VASA Provider Validation

2.2. Steps

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/validations/80a34a91-07ac-4bac-b4ac-720e16f8d91f' -i -X GET \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/validations/80a34a91-07ac-4bac-b4ac-720e16f8d91f 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" : "80a34a91-07ac-4bac-b4ac-720e16f8d91f",
  "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

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

  • 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "username" : "User2"
  }, {
    "id" : "7af8dec5-a92a-424d-83ca-f995c087031a",
    "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

None

4.2. Steps

  • 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
    "name" : "VASA-Provider1",
    "url" : "https://10.0.0.217:8443/vasa/version.xml",
    "storageContainers" : [ {
      "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
      "name" : "StorageContainer-FC",
      "protocolType" : "FC"
    }, {
      "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
      "name" : "StorageContainer-NFS",
      "protocolType" : "NFS"
    } ],
    "users" : [ {
      "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
      "username" : "User1"
    }, {
      "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
      "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

The following data is required:

  • ID of the VASA Provider

5.2. Steps

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db' -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/447157a1-a289-4a15-b6c5-c4dd746f60db 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "new-VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "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

The following data is required

  • ID of the VASA Provider

7.2. Steps

  • 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/447157a1-a289-4a15-b6c5-c4dd746f60db' -i -X DELETE \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

DELETE /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db 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

The following data is required

  • ID of the VASA Provider

Tip : Refer to: Get the VASA Providers |

8.2. Steps

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/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" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
  "name" : "StorageContainer-FC",
  "protocolType" : "FC"
}, {
  "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
  "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers?protocolType=FC' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/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" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
  "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/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/447157a1-a289-4a15-b6c5-c4dd746f60db/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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  }, {
    "id" : "8f3571cc-8f11-44b6-8e57-1414719bac2a",
    "name" : "StorageContainer-ISCSI",
    "protocolType" : "ISCSI"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers/b50b4d26-dd58-477e-a156-ff1a265e898b' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "name" : "new-StorageContainer-FC"
}'

HTTP Request

PATCH /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers/b50b4d26-dd58-477e-a156-ff1a265e898b 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "new-StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "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

The following data is required

  • ID of the VASA Provider

  • ID of the storage containers

12.2. Steps

  • 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/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers/b50b4d26-dd58-477e-a156-ff1a265e898b' -i -X DELETE \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

DELETE /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/storage-containers/b50b4d26-dd58-477e-a156-ff1a265e898b 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

The following data is required

  • ID of the VASA Provider

Tip : Refer to: Get the VASA Providers |

13.2. Steps

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/users' -i -X GET \
    -H 'Authorization: Bearer etYWRta....'

HTTP Request

GET /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/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" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
  "username" : "User1"
}, {
  "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
  "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/users' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '[ {
  "username" : "User3",
  "password" : "password"
} ]'

HTTP Request

POST /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "username" : "User2"
  }, {
    "id" : "f88fb230-c0d8-4865-8ada-dbabd8503ae5",
    "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

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

  • Invoke the API

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/users/5c9a80f4-229b-4494-bff8-647e2405aae7' -i -X PATCH \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWRta....' \
    -d '{
  "username" : "new-User1",
  "password" : "password"
}'

HTTP Request

PATCH /v1/vasa-providers/447157a1-a289-4a15-b6c5-c4dd746f60db/users/5c9a80f4-229b-4494-bff8-647e2405aae7 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" : "447157a1-a289-4a15-b6c5-c4dd746f60db",
  "name" : "VASA-Provider1",
  "url" : "https://10.0.0.217:8443/vasa/version.xml",
  "storageContainers" : [ {
    "id" : "b50b4d26-dd58-477e-a156-ff1a265e898b",
    "name" : "StorageContainer-FC",
    "protocolType" : "FC"
  }, {
    "id" : "d3611a4e-8918-4a39-8f59-cd56c05d6e9d",
    "name" : "StorageContainer-NFS",
    "protocolType" : "NFS"
  } ],
  "users" : [ {
    "id" : "5c9a80f4-229b-4494-bff8-647e2405aae7",
    "username" : "new-User1"
  }, {
    "id" : "6b8572f9-5d3c-4b5e-aee0-f44555007cd0",
    "username" : "User2"
  } ]
}

[_getvasaproviders] API [_getvasaproviderstoragecontainers] API [_getvasaprovideruser] API [_addvasaproviderstoragecontainer] API [_addvasaprovideruser] API [_updatevasaproviderstoragecontainer] API [_updatevasaprovideruser] API [_removevasaproviderstoragecontainer] API
Last updated 2025-03-21 15:13:04 +0530

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