VASA Providers
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/19eef63a-72e3-4397-b570-9b24da451d61
Content-Type: application/json
Content-Length: 321
{
"id" : "19eef63a-72e3-4397-b570-9b24da451d61",
"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.
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/c6060160-fa16-4ac9-af3e-60a22cca7825' -i -X GET \
-H 'Accept: application/json' \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/validations/c6060160-fa16-4ac9-af3e-60a22cca7825 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" : "c6060160-fa16-4ac9-af3e-60a22cca7825",
"description" : "Validate input specification to add a VASA Provider to VMware Cloud Foundation",
"executionStatus" : "COMPLETED",
"validationChecks" : [ {
"description" : "Validating VASA Provider input specification",
"resultStatus" : "SUCCEEDED"
} ]
}
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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
}, {
"id" : "3c43a343-d716-447b-8f92-698df4e16255",
"username" : "User3"
} ]
}
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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422 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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422' -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/82faa4bb-cf7b-4f96-bcd4-9c104b416422 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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "new-VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422 HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ]
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers?protocolType=FC' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
} ]
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
}, {
"id" : "113a5cda-09ec-4209-b88f-946970a59785",
"name" : "StorageContainer-ISCSI",
"protocolType" : "ISCSI"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers/b7c35d72-bf4e-44f4-aff9-7493fad783ec' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"name" : "new-StorageContainer-FC"
}'
HTTP Request
PATCH /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers/b7c35d72-bf4e-44f4-aff9-7493fad783ec 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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "new-StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers/b7c35d72-bf4e-44f4-aff9-7493fad783ec' -i -X DELETE \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
DELETE /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/storage-containers/b7c35d72-bf4e-44f4-aff9-7493fad783ec HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWRta....
HTTP Response
HTTP/1.1 204 No Content
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/users' -i -X GET \
-H 'Authorization: Bearer etYWRta....'
HTTP Request
GET /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/users' -i -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '[ {
"username" : "User3",
"password" : "password"
} ]'
HTTP Request
POST /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
}, {
"id" : "ce7e85ab-604e-4d8a-b3ce-d6c5779cf16b",
"username" : "User3"
} ]
}
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/82faa4bb-cf7b-4f96-bcd4-9c104b416422/users/6a180b49-3289-486d-b486-b915f9167691' -i -X PATCH \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer etYWRta....' \
-d '{
"username" : "new-User1",
"password" : "password"
}'
HTTP Request
PATCH /v1/vasa-providers/82faa4bb-cf7b-4f96-bcd4-9c104b416422/users/6a180b49-3289-486d-b486-b915f9167691 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" : "82faa4bb-cf7b-4f96-bcd4-9c104b416422",
"name" : "VASA-Provider1",
"url" : "https://10.0.0.217:8443/vasa/version.xml",
"storageContainers" : [ {
"id" : "b7c35d72-bf4e-44f4-aff9-7493fad783ec",
"name" : "StorageContainer-FC",
"protocolType" : "FC"
}, {
"id" : "e0d71d2f-be85-4a02-bdcd-0d97128a7d16",
"name" : "StorageContainer-NFS",
"protocolType" : "NFS"
} ],
"users" : [ {
"id" : "6a180b49-3289-486d-b486-b915f9167691",
"username" : "new-User1"
}, {
"id" : "a5fd8e0e-18f4-41bb-958f-ad638c10c6f7",
"username" : "User2"
} ]
}
Last updated 2023-04-27 11:11:39 PDT