DocsAWS 101BlogServices

Cloud Control API

Cloud Control API — the generic resource control plane behind Terraform's awscc provider and CDK L1 constructs. Create / Get / Update / Delete / List resources plus resource-request status and cancel, returning the AWS ProgressEvent and ResourceDescription shapes (Properties as a JSON string).

JSON-RPC (X-Amz-Target) multi-tenant 8 operations

Quick start

import boto3, json
cc = boto3.client("cloudcontrol", endpoint_url="http://localhost:4566",
                  region_name="us-east-1",
                  aws_access_key_id="test", aws_secret_access_key="test")
event = cc.create_resource(TypeName="AWS::S3::Bucket",
    DesiredState=json.dumps({"BucketName": "demo-bucket"}))["ProgressEvent"]
print(event["OperationStatus"], event.get("Identifier"))

Supported operations

8 operations exposed by this service as of MiniStack 1.4.21. Extracted directly from the handler dispatch in the source module.

CancelResourceRequest CreateResource DeleteResource GetResource GetResourceRequestStatus ListResourceRequests ListResources UpdateResource

CloudFormation

No CloudFormation resource types map to this service yet. Resources can still be created via the SDK or CLI.

Known limitations

  • Cloud Control keeps its own resource store and does not provision the underlying resource in the target service — a bucket created via CreateResource does not appear to the S3 API. There is no schema validation and all operations complete synchronously with SUCCESS.

Source

  • ministack/services/cloudcontrol.py

Read the source to verify the ops list above — dispatch tables and handler functions are the ground truth.