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.