Amazon Managed Streaming for Apache Kafka (MSK)
AWS::MSK::Cluster
The following example demonstrates how to ingest your AWS MSK clusters to Port.
MSK Cluster supported actions
The table below summarizes the available actions for ingesting Amazon MSK Cluster resources in Port:
| Action | Description | Type | Required AWS Permission |
|---|---|---|---|
| ListClustersAction | Discover MSK clusters and retrieve detailed configuration data. | Default | kafka:ListClusters |
You can use the following Port blueprint definitions and integration configuration:
MSK Cluster blueprint (click to expand)
[
{
"identifier": "mskCluster",
"title": "MSK Cluster",
"icon": "AWS",
"schema": {
"properties": {
"clusterArn": {
"type": "string",
"title": "ARN",
"description": "The Amazon Resource Name (ARN) of the MSK cluster"
},
"state": {
"type": "string",
"title": "State",
"description": "The current state of the cluster",
"enum": [
"ACTIVE",
"CREATING",
"DELETING",
"FAILED",
"HEALING",
"MAINTENANCE",
"REBOOTING_BROKER",
"UPDATING"
]
},
"kafkaVersion": {
"type": "string",
"title": "Kafka Version",
"description": "The version of Apache Kafka"
},
"numberOfBrokerNodes": {
"type": "number",
"title": "Number of Broker Nodes",
"description": "The number of broker nodes in the cluster"
},
"instanceType": {
"type": "string",
"title": "Instance Type",
"description": "The type of broker instances"
},
"enhancedMonitoring": {
"type": "string",
"title": "Enhanced Monitoring",
"description": "The level of enhanced monitoring"
},
"clientAuthentication": {
"type": "object",
"title": "Client Authentication",
"description": "Client authentication settings (IAM, SASL, TLS)"
},
"encryptionInTransit": {
"type": "string",
"title": "Encryption In Transit",
"description": "Encryption setting for data in transit between clients and brokers"
},
"creationTime": {
"type": "string",
"title": "Creation Time",
"description": "The time when the cluster was created",
"format": "date-time"
},
"tags": {
"type": "object",
"title": "Tags",
"description": "Tags associated with the cluster"
}
},
"required": []
},
"calculationProperties": {},
"relations": {
"account": {
"title": "Account",
"target": "awsAccount",
"required": false,
"many": false
}
}
}
]
MSK Cluster mapping configuration (click to expand)
resources:
- kind: AWS::MSK::Cluster
selector:
query: 'true'
port:
entity:
mappings:
identifier: .Properties.ClusterArn
title: .Properties.ClusterName
blueprint: '"mskCluster"'
properties:
clusterArn: .Properties.ClusterArn
state: .Properties.State
kafkaVersion: .Properties.CurrentBrokerSoftwareInfo.KafkaVersion
numberOfBrokerNodes: .Properties.NumberOfBrokerNodes
instanceType: .Properties.BrokerNodeGroupInfo.InstanceType
enhancedMonitoring: .Properties.EnhancedMonitoring
clientAuthentication: .Properties.ClientAuthentication
encryptionInTransit: .Properties.EncryptionInfo.EncryptionInTransit.ClientBroker
creationTime: .Properties.CreationTime
tags: .Properties.Tags
relations:
account: .__ExtraContext.AccountId
For more details about MSK cluster properties, refer to the AWS MSK API documentation.
AWS::MSK::ServerlessCluster
The following example demonstrates how to ingest your AWS MSK serverless clusters to Port.
MSK Serverless Cluster supported actions
The table below summarizes the available actions for ingesting Amazon MSK Serverless Cluster resources in Port:
| Action | Description | Type | Required AWS Permission |
|---|---|---|---|
| ListMskServerlessClustersAction | Discover MSK serverless clusters and retrieve configuration data such as VPC settings, client authentication, and cluster state. | Default | kafka:ListClustersV2 |
MSK serverless clusters expose their key properties via the default ListMskServerlessClustersAction.
You can use the following Port blueprint definitions and integration configuration:
MSK Serverless Cluster blueprint (click to expand)
{
"identifier": "mskServerlessCluster",
"title": "MSK Serverless Cluster",
"icon": "AWS",
"schema": {
"properties": {
"arn": {
"type": "string",
"title": "ARN",
"description": "The Amazon Resource Name (ARN) of the MSK serverless cluster"
},
"clusterName": {
"type": "string",
"title": "Cluster Name",
"description": "The name of the MSK serverless cluster"
},
"state": {
"type": "string",
"title": "State",
"description": "The current state of the cluster",
"enum": [
"ACTIVE",
"CREATING",
"DELETING",
"FAILED",
"HEALING",
"MAINTENANCE",
"REBOOTING_BROKER",
"UPDATING"
]
},
"creationTime": {
"type": "string",
"title": "Creation Time",
"description": "The date and time when the cluster was created",
"format": "date-time"
},
"currentVersion": {
"type": "string",
"title": "Current Version",
"description": "The current version of the MSK cluster"
},
"vpcConfigs": {
"type": "array",
"title": "VPC Configs",
"description": "The VPC configuration for the serverless cluster",
"items": {
"type": "object"
}
},
"clientAuthentication": {
"type": "object",
"title": "Client Authentication",
"description": "The client authentication configuration for the cluster"
},
"tags": {
"type": "object",
"title": "Tags",
"description": "Tags associated with the cluster"
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"account": {
"title": "Account",
"target": "awsAccount",
"required": false,
"many": false
}
}
}
MSK Serverless Cluster mapping configuration (click to expand)
resources:
- kind: AWS::MSK::ServerlessCluster
selector:
query: 'true'
port:
entity:
mappings:
identifier: .Properties.ClusterArn
title: .Properties.ClusterName
blueprint: '"mskServerlessCluster"'
properties:
arn: .Properties.ClusterArn
clusterName: .Properties.ClusterName
state: .Properties.State
creationTime: .Properties.CreationTime
currentVersion: .Properties.CurrentVersion
vpcConfigs: .Properties.Serverless.VpcConfigs
clientAuthentication: .Properties.Serverless.ClientAuthentication
tags: .Properties.Tags
relations:
account: .__ExtraContext.AccountId
For more details about MSK serverless cluster properties, refer to the AWS MSK API documentation.