AWS Cloud Control API

AWS has recently launched a new API service that makes it easy for developers and APN partners to manage the lifecycle of AWS and third-party services. Cloud Control API provides five operations for developers to create, read, update, delete, and list (CRUDL) their cloud infrastructure resources. Cloud Control API standardized the set of application programming interfaces (APIs), needed to perform the CRUD-L operations on any supported resources inside the AWS account. Developers don’t need to generate code or scripts specific to each individual service responsible for those resources, instead, they can use the uniform programmatic interface for making calls directly to the various resource.

The following table shows the Cloud Control API operations you can use to generate CRUD-L resource requests.

How Cloud Control API works

AWS Cloud Control API works on top of resources published in the CloudFormation Public Registry. Any resource published in the registry exposes its attributes with standard JSON schemas that defines the resource, its properties, and their attributes in a uniform way.

When you create or update a resource, you specify JSON that represents the properties and property values you want to set for the resource. Cloud Control API handles the actual calls to the underlying web services to perform the requested changes. For read requests, Cloud Control API returns JSON that represents the current state of the specified resource. For list requests, Cloud Control API returns either the resource identifier or JSON that represents the current state of the specified resources.

Use the create-resource command to create a resource and specifies in the desired-state parameter

create-resource
--type-name <value>
[--type-version-id <value>]
[--role-arn <value>]
[--client-token <value>]
--desired-state <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Use the delete-resource command to delete an existing resource. You can delete the resource whether or not the resource was originally provisioned using Cloud Control API.

delete-resource
--type-name <value>
[--type-version-id <value>]
[--role-arn <value>]
[--client-token <value>]
--identifier <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Use the get-resources command to retrieve detailed information about the resource currently provisioned in your AWS account and AWS Region.

get-resource
--type-name <value>
[--type-version-id <value>]
[--role-arn <value>]
--identifier <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Use the list-resources command to discover the resources currently provisioned in your AWS account and AWS Region.

list-resources
--type-name <value>
[--type-version-id <value>]
[--role-arn <value>]
[--next-token <value>]
[--max-results <value>]
[--resource-model <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Use the update-resource command to make updates to an existing resource. This includes resources that were not originally provisioned using Cloud Control API.

update-resource
--type-name <value>
[--type-version-id <value>]
[--role-arn <value>]
[--client-token <value>]
--identifier <value>
--patch-document <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Use cases of AWS Cloud Control API

AWS Cloud Control API remains up-to-date with the latest AWS resources, enabling Amazon partners to integrate their own solutions with Cloud Control API just once, and then automatically access the new AWS services and features without assuming additional integration work. Cloud Control API provides developers with the ability to provision AWS resources with partner infrastructure tools such as HashiCorp Terraform and Pulumi. Both solutions are integrated with Cloud Control API & gives them faster access to the latest AWS innovations, typically the day they launch, without any need for them to manually implement changes in aws resources.

Please go through the official Blogs of HashiCorp & Pulumi to understand their integration with Cloud Control API .

Note:- I have collected this information from AWS official documentation and try to concise it for the readers. Please refer this for detailed understanding of AWS services
https://docs.aws.amazon.com/