To create an AWS cloud account with or without cloud zones, you make a POST request. The request body includes the AWS-specific parameters required to create the cloud account.
Procedure
- Assign the AWS account variables.
aws_access_key_id='<your_aws_access_key_id>'
aws_secret_access_key='<your_aws_secret_access_key>'
- Submit a request to create an AWS cloud account without default cloud zones.
When the parameter
createDefaultZones is left unspecified, the cloud account is created without default cloud zones by default.
curl -X POST \
"$url/iaas/api/cloud-accounts?apiVersion=$api_version" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $access_token" \
-d '{
"privateKeyId": "'$aws_access_key_id'",
"cloudAccountType": "aws",
"name": "<your_aws_cloud_account>",
"description": "This is a demo AWS cloud account without cloud zones",
"regionIds": [ "<your_region_id1>", "<your_region_id2>" ],
"privateKey": "'$aws_secret_access_key'"
}' | jq "."
- (Optional) Submit a request to create an AWS cloud account with default cloud zones.
curl -X POST \
"$url/iaas/api/cloud-accounts?apiVersion=$api_version" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $access_token" \
-d '{
"privateKeyId": "'$aws_access_key_id'",
"cloudAccountType": "aws",
"name": "<your_aws_cloud_account>",
"description": "This is a demo AWS cloud account with default cloud zones",
"regionIds": [ "<your_region_id1>", "<your_region_id2>" ],
"createDefaultZones": true,
"privateKey": "'$aws_secret_access_key'"
}' | jq "."
- To obtain your cloud account ID, examine the response.
- Assign the cloud account ID variable to your cloud account ID.
cloud_account_id='<your_cloud_account_id>'
- List all cloud accounts
curl -X GET $url/iaas/api/cloud-accounts?apiVersion=$api_version -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token" | jq "."
- (Optional) To look up the cloud account you created, list the cloud account with your cloud account ID.
curl -X GET $url/iaas/api/cloud-accounts/$cloud_account_id?apiVersion=$api_version -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token" | jq "."
The response shows the cloud account name and ID for the AWS cloud account you created.
Example: Create an AWS Cloud Account
Assign the required variables.
$ url='https://appliance.domain.com'
$ api_version='2021-07-15'
$ aws_access_key_id='FEDCBA5JJ2F43TUVW7XA'
$ aws_secret_access_key='XYZfGo0/Vb5XPezeC58QRSvLMNOwsHhuB2IbEJxL'
Create a cloud account named demo-aws-account without default cloud zones.
$ curl -X POST \
"$url/iaas/api/cloud-accounts?apiVersion=$api_version" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $access_token" \
-d '{
"privateKeyId": "'$aws_access_key_id'",
"cloudAccountType": "aws",
"name": "demo-aws-account",
"description": "This is a demo AWS cloud account without cloud zones",
"regionIds": [ "us-east-1", "us-west-1" ],
"privateKey": "'$aws_secret_access_key'"
}' | jq "."
A snippet of the response from your request shows the account ID.
...
"tags": [],
"name": "demo-aws-account",
"id": "c8c3c9bfdb449475-7f703c5265a63d87-f8e705d89b2569e1aac66c6d00bf4fc7ef4b1c44100f0e944af31eb8ba3d2a5a-f4226a20b65c4675574bc5fbff6c0",
"updatedAt": "2022-04-02",
"organizationId": "8327d53f-91ea-420a-8613-ba8f3149db95",
...