> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

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:

ActionDescriptionTypeRequired AWS Permission
ListClustersActionDiscover MSK clusters and retrieve detailed configuration data.Defaultkafka: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:

ActionDescriptionTypeRequired AWS Permission
ListMskServerlessClustersActionDiscover MSK serverless clusters and retrieve configuration data such as VPC settings, client authentication, and cluster state.Defaultkafka:ListClustersV2
All properties available by default

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.