Add a Google Cloud Platform Cloud Account
To create a
Google Cloud Platform
(GCP) cloud account, you make a POST request. The request body includes parameters specific
to Google Cloud Platform
that are required
to create the cloud account. - Verify that all general prerequisites and prerequisites for theAutomation AssemblerInfrastructure as a Service (IaaS) service have been satisfied. See Prerequisites for API Use Case Examples.
- Verify that you have the following parameters for the new cloud account:
- GCP project ID
- GCP private key ID
- GCP private key
- GCP client email
- Assign the GCP account variables.gcp_project_id='<your_gcp_projct_id>' gcp_private_key_id='<your_gcp_private_key_id>' gcp_private_key='<your_gcp_private_key>' gcp_client_email='<your_gcp_client_email>'
- Submit a request to create a GCP 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 '{ "cloudAccountType":"gcp", "privateKeyId":"'$gcp_private_key_id'", "privateKey":"'$gcp_private_key'", "cloudAccountProperties":{ "projectId":"'$gcp_project_id'", "clientEmail":"'$gcp_client_email'" }, "regionIds":["<your_region_id>"], "createDefaultZones":true, "name":"<your_gcp_cloud_account>", "description": "This is a demo GCP cloud account", }' | jq "."
- 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 "."
- Examine the response and verify that the name and ID of the GCP cloud account you created is listed.
Create a
Google Cloud Platform
Cloud AccountAssign the required variables.
$ url='https://appliance.domain.com' $ api_version='2021-07-15' $ gcp_project_id='Example-e2e' $ gcp_private_key_id='defg3c20c85abcde6a95b44222c4c1d68554b87e' $ gcp_private_key='-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAA ... 3izE4KDeebLh7SkWFbUt7lFW25UL20\\nKAY7FRTKpvbO+6Z/BnVePVI=\\n-----END PRIVATE KEY-----\\n' $ gcp_client_email='123456789123-example@developer.gserviceaccount.com'
Create the cloud account.
$ curl -X POST \ "$url/iaas/api/cloud-accounts?apiVersion=$api_version" \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $access_token" \ -d '{ "cloudAccountType":"gcp", "privateKeyId":"'$gcp_private_key_id'", "privateKey":"'$gcp_private_key'", "cloudAccountProperties":{ "projectId":"'$gcp_project_id'", "clientEmail":"'$gcp_client_email'" }, "regionIds":["us-west2"], "createDefaultZones":true, "name":"demo-gcp-account", "description": "This is a demo GCP cloud account", }' | jq "."
A snippet of the response from your
request shows the account ID.
... "tags": [], "name": "demo-GCP-account", "id": "c8c3c9bfdb449475-7f703c5265a63d87-f8e705d89b2569e1aac66c6d00bf4fc7ef4b1c44100f0e944af31eb8ba3d2a5a-f4226a20b65c4675574bc5fbff6c0", "updatedAt": "2022-04-02", "organizationId": "8327d53f-91ea-420a-8613-ba8f3149db95", ...