Service Reference
MSK — Managed Streaming for Kafka
MSK uses the REST JSON protocol. The v1 endpoints are under /v1/ and the v2 cluster API under /api/v2/.
MSK — Managed Streaming for Kafka
AWS docs: https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html
MSK uses the REST JSON protocol and no other. The v1 endpoints are under /v1/; the v2 cluster
API — CreateClusterV2, DescribeClusterV2, ListClustersV2 — is under /api/v2/clusters, which
is where AWS binds it. Both share one cluster store, so a cluster created through either API is
visible through the other.
When Docker is available, CreateCluster starts a real Redpanda container
(docker.redpanda.com/redpandadata/redpanda) with automatic port allocation from MSK_PORT_BASE
(default 49092). A TCP health check polls port 9092 until the broker is reachable before
transitioning the cluster to “ACTIVE”. When Docker is unavailable, operations are metadata-only
and status transitions immediately.
GetBootstrapBrokers returns the allocated broker endpoint once the container is running.
Summary
| Category | ✅ Supported | ❌ Unsupported |
|---|---|---|
| Clusters | 8 | 13 |
| Configurations | 5 | |
| Kafka versions | 1 | |
| Tagging | 3 |
Endpoints
Clusters
| Operation | Status | Notes | AWS Docs |
|---|---|---|---|
CreateCluster | ✅ Supported | Docker-backed (Redpanda); async CREATING→ACTIVE once the broker answers ApiVersions; a broker that never answers ends in FAILED with stateInfo; port auto-alloc from MSK_PORT_BASE; a cluster name already in use in the region is a ConflictException | docs |
DescribeCluster | ✅ Supported | Look up cluster by ARN | docs |
ListClusters | ✅ Supported | List all clusters; optional clusterNameFilter query param matches on the name prefix | docs |
DeleteCluster | ✅ Supported | Sets state to “DELETING”; stops and removes Docker container asynchronously | docs |
GetBootstrapBrokers | ✅ Supported | Returns bootstrapBrokerString with allocated host:port when Docker container is running | docs |
CreateClusterV2 | ✅ Supported | PROVISIONED: same Docker/Redpanda lifecycle as v1; SERVERLESS: metadata-only, immediately ACTIVE; rejects a request naming both or neither; shares one cluster-name namespace with CreateCluster, so a name already in use is a ConflictException | docs |
DescribeClusterV2 | ✅ Supported | Returns v2 shape with clusterType and provisioned/serverless sub-object | docs |
ListClustersV2 | ✅ Supported | clusterNameFilter (prefix), clusterTypeFilter, maxResults and nextToken query params; page size capped at 100 | docs |
UpdateBrokerCount | ❌ Unsupported | stub; returns 501 | docs |
UpdateBrokerStorage | ❌ Unsupported | stub; returns 501 | docs |
UpdateBrokerType | ❌ Unsupported | stub; returns 501 | docs |
UpdateMonitoring | ❌ Unsupported | stub; returns 501 | docs |
UpdateSecurity | ❌ Unsupported | stub; returns 501 | docs |
RebootBroker | ❌ Unsupported | stub; returns 501 | docs |
BatchAssociateScramSecret | ❌ Unsupported | SCRAM authentication - not implemented | docs |
BatchDisassociateScramSecret | ❌ Unsupported | SCRAM authentication - not implemented | docs |
ListScramSecrets | ❌ Unsupported | SCRAM authentication - not implemented | docs |
CreateVpcConnection | ❌ Unsupported | stub; returns 501 | docs |
DeleteVpcConnection | ❌ Unsupported | stub; returns 501 | docs |
DescribeVpcConnection | ❌ Unsupported | stub; returns 501 | docs |
ListVpcConnections | ❌ Unsupported | stub; returns 501 | docs |
Configurations
| Operation | Status | Notes | AWS Docs |
|---|---|---|---|
CreateConfiguration | ✅ Supported | Stores name, description, kafka versions; a configuration name already in use in the region is a ConflictException | docs |
DescribeConfiguration | ✅ Supported | Look up configuration by ARN | docs |
ListConfigurations | ✅ Supported | List all configurations | docs |
DeleteConfiguration | ✅ Supported | Removes stored configuration | docs |
UpdateClusterConfiguration | ✅ Supported | Reads the modeled configurationInfo object; validates currentVersion; a configuration ARN that does not exist is a NotFoundException; returns clusterOperationArn | docs |
Kafka versions
| Operation | Status | Notes | AWS Docs |
|---|---|---|---|
ListKafkaVersions | ✅ Supported | Returns hardcoded list: 3.6.0, 3.5.1, 3.4.0, 2.8.1, 2.6.0 | docs |
Tagging
| Operation | Status | Notes | AWS Docs |
|---|---|---|---|
TagResource | ✅ Supported | ARN-scoped tag storage | docs |
ListTagsForResource | ✅ Supported | Returns all tags for an ARN | docs |
UntagResource | ✅ Supported | Removes specific tag keys | docs |