Kafka / Client / describe_cluster_operation

describe_cluster_operation#

Kafka.Client.describe_cluster_operation(**kwargs)#

Returns a description of the cluster operation specified by the ARN.

See also: AWS API Documentation

Request Syntax

response = client.describe_cluster_operation(
    ClusterOperationArn='string'
)
Parameters:

ClusterOperationArn (string) –

[REQUIRED]

The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster operation.

Return type:

dict

Returns:

Response Syntax

{
    'ClusterOperationInfo': {
        'ClientRequestId': 'string',
        'ClusterArn': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'ErrorInfo': {
            'ErrorCode': 'string',
            'ErrorString': 'string'
        },
        'OperationArn': 'string',
        'OperationState': 'string',
        'OperationSteps': [
            {
                'StepInfo': {
                    'StepStatus': 'string'
                },
                'StepName': 'string'
            },
        ],
        'OperationType': 'string',
        'SourceClusterInfo': {
            'BrokerEBSVolumeInfo': [
                {
                    'KafkaBrokerNodeId': 'string',
                    'ProvisionedThroughput': {
                        'Enabled': True|False,
                        'VolumeThroughput': 123
                    },
                    'VolumeSizeGB': 123
                },
            ],
            'ConfigurationInfo': {
                'Arn': 'string',
                'Revision': 123
            },
            'NumberOfBrokerNodes': 123,
            'EnhancedMonitoring': 'DEFAULT'|'PER_BROKER'|'PER_TOPIC_PER_BROKER'|'PER_TOPIC_PER_PARTITION',
            'OpenMonitoring': {
                'Prometheus': {
                    'JmxExporter': {
                        'EnabledInBroker': True|False
                    },
                    'NodeExporter': {
                        'EnabledInBroker': True|False
                    }
                }
            },
            'KafkaVersion': 'string',
            'LoggingInfo': {
                'BrokerLogs': {
                    'CloudWatchLogs': {
                        'Enabled': True|False,
                        'LogGroup': 'string'
                    },
                    'Firehose': {
                        'DeliveryStream': 'string',
                        'Enabled': True|False
                    },
                    'S3': {
                        'Bucket': 'string',
                        'Enabled': True|False,
                        'Prefix': 'string'
                    }
                }
            },
            'InstanceType': 'string',
            'ClientAuthentication': {
                'Sasl': {
                    'Scram': {
                        'Enabled': True|False
                    },
                    'Iam': {
                        'Enabled': True|False
                    }
                },
                'Tls': {
                    'CertificateAuthorityArnList': [
                        'string',
                    ],
                    'Enabled': True|False
                },
                'Unauthenticated': {
                    'Enabled': True|False
                }
            },
            'EncryptionInfo': {
                'EncryptionAtRest': {
                    'DataVolumeKMSKeyId': 'string'
                },
                'EncryptionInTransit': {
                    'ClientBroker': 'TLS'|'TLS_PLAINTEXT'|'PLAINTEXT',
                    'InCluster': True|False
                }
            },
            'ConnectivityInfo': {
                'PublicAccess': {
                    'Type': 'string'
                },
                'VpcConnectivity': {
                    'ClientAuthentication': {
                        'Sasl': {
                            'Scram': {
                                'Enabled': True|False
                            },
                            'Iam': {
                                'Enabled': True|False
                            }
                        },
                        'Tls': {
                            'Enabled': True|False
                        }
                    }
                }
            },
            'StorageMode': 'LOCAL'|'TIERED'
        },
        'TargetClusterInfo': {
            'BrokerEBSVolumeInfo': [
                {
                    'KafkaBrokerNodeId': 'string',
                    'ProvisionedThroughput': {
                        'Enabled': True|False,
                        'VolumeThroughput': 123
                    },
                    'VolumeSizeGB': 123
                },
            ],
            'ConfigurationInfo': {
                'Arn': 'string',
                'Revision': 123
            },
            'NumberOfBrokerNodes': 123,
            'EnhancedMonitoring': 'DEFAULT'|'PER_BROKER'|'PER_TOPIC_PER_BROKER'|'PER_TOPIC_PER_PARTITION',
            'OpenMonitoring': {
                'Prometheus': {
                    'JmxExporter': {
                        'EnabledInBroker': True|False
                    },
                    'NodeExporter': {
                        'EnabledInBroker': True|False
                    }
                }
            },
            'KafkaVersion': 'string',
            'LoggingInfo': {
                'BrokerLogs': {
                    'CloudWatchLogs': {
                        'Enabled': True|False,
                        'LogGroup': 'string'
                    },
                    'Firehose': {
                        'DeliveryStream': 'string',
                        'Enabled': True|False
                    },
                    'S3': {
                        'Bucket': 'string',
                        'Enabled': True|False,
                        'Prefix': 'string'
                    }
                }
            },
            'InstanceType': 'string',
            'ClientAuthentication': {
                'Sasl': {
                    'Scram': {
                        'Enabled': True|False
                    },
                    'Iam': {
                        'Enabled': True|False
                    }
                },
                'Tls': {
                    'CertificateAuthorityArnList': [
                        'string',
                    ],
                    'Enabled': True|False
                },
                'Unauthenticated': {
                    'Enabled': True|False
                }
            },
            'EncryptionInfo': {
                'EncryptionAtRest': {
                    'DataVolumeKMSKeyId': 'string'
                },
                'EncryptionInTransit': {
                    'ClientBroker': 'TLS'|'TLS_PLAINTEXT'|'PLAINTEXT',
                    'InCluster': True|False
                }
            },
            'ConnectivityInfo': {
                'PublicAccess': {
                    'Type': 'string'
                },
                'VpcConnectivity': {
                    'ClientAuthentication': {
                        'Sasl': {
                            'Scram': {
                                'Enabled': True|False
                            },
                            'Iam': {
                                'Enabled': True|False
                            }
                        },
                        'Tls': {
                            'Enabled': True|False
                        }
                    }
                }
            },
            'StorageMode': 'LOCAL'|'TIERED'
        },
        'VpcConnectionInfo': {
            'VpcConnectionArn': 'string',
            'Owner': 'string',
            'UserIdentity': {
                'Type': 'AWSACCOUNT'|'AWSSERVICE',
                'PrincipalId': 'string'
            },
            'CreationTime': datetime(2015, 1, 1)
        }
    }
}

Response Structure

  • (dict) –

    200 response

    • ClusterOperationInfo (dict) –

      Cluster operation information

      • ClientRequestId (string) –

        The ID of the API request that triggered this operation.

      • ClusterArn (string) –

        ARN of the cluster.

      • CreationTime (datetime) –

        The time that the operation was created.

      • EndTime (datetime) –

        The time at which the operation finished.

      • ErrorInfo (dict) –

        Describes the error if the operation fails.

        • ErrorCode (string) –

          A number describing the error programmatically.

        • ErrorString (string) –

          An optional field to provide more details about the error.

      • OperationArn (string) –

        ARN of the cluster operation.

      • OperationState (string) –

        State of the cluster operation.

      • OperationSteps (list) –

        Steps completed during the operation.

        • (dict) –

          Step taken during a cluster operation.

          • StepInfo (dict) –

            Information about the step and its status.

            • StepStatus (string) –

              The steps current status.

          • StepName (string) –

            The name of the step.

      • OperationType (string) –

        Type of the cluster operation.

      • SourceClusterInfo (dict) –

        Information about cluster attributes before a cluster is updated.

        • BrokerEBSVolumeInfo (list) –

          Specifies the size of the EBS volume and the ID of the associated broker.

          • (dict) –

            Specifies the EBS volume upgrade information. The broker identifier must be set to the keyword ALL. This means the changes apply to all the brokers in the cluster.

            • KafkaBrokerNodeId (string) –

              The ID of the broker to update.

            • ProvisionedThroughput (dict) –

              EBS volume provisioned throughput information.

              • Enabled (boolean) –

                Provisioned throughput is enabled or not.

              • VolumeThroughput (integer) –

                Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second.

            • VolumeSizeGB (integer) –

              Size of the EBS volume to update.

        • ConfigurationInfo (dict) –

          Information about the changes in the configuration of the brokers.

          • Arn (string) –

            ARN of the configuration to use.

          • Revision (integer) –

            The revision of the configuration to use.

        • NumberOfBrokerNodes (integer) –

          The number of broker nodes in the cluster.

        • EnhancedMonitoring (string) –

          Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

        • OpenMonitoring (dict) –

          The settings for open monitoring.

          • Prometheus (dict) –

            Prometheus settings.

            • JmxExporter (dict) –

              Indicates whether you want to turn on or turn off the JMX Exporter.

              • EnabledInBroker (boolean) –

                Indicates whether you want to turn on or turn off the JMX Exporter.

            • NodeExporter (dict) –

              Indicates whether you want to turn on or turn off the Node Exporter.

              • EnabledInBroker (boolean) –

                Indicates whether you want to turn on or turn off the Node Exporter.

        • KafkaVersion (string) –

          The Apache Kafka version.

        • LoggingInfo (dict) –

          You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

          • BrokerLogs (dict) –

            • CloudWatchLogs (dict) –

              • Enabled (boolean) –

              • LogGroup (string) –

            • Firehose (dict) –

              • DeliveryStream (string) –

              • Enabled (boolean) –

            • S3 (dict) –

              • Bucket (string) –

              • Enabled (boolean) –

              • Prefix (string) –

        • InstanceType (string) –

          Information about the Amazon MSK broker type.

        • ClientAuthentication (dict) –

          Includes all client authentication information.

          • Sasl (dict) –

            Details for ClientAuthentication using SASL.

            • Scram (dict) –

              Details for SASL/SCRAM client authentication.

              • Enabled (boolean) –

                SASL/SCRAM authentication is enabled or not.

            • Iam (dict) –

              Indicates whether IAM access control is enabled.

              • Enabled (boolean) –

                Indicates whether IAM access control is enabled.

          • Tls (dict) –

            Details for ClientAuthentication using TLS.

            • CertificateAuthorityArnList (list) –

              List of ACM Certificate Authority ARNs.

              • (string) –

            • Enabled (boolean) –

              Specifies whether you want to turn on or turn off TLS authentication.

          • Unauthenticated (dict) –

            Contains information about unauthenticated traffic to the cluster.

            • Enabled (boolean) –

              Specifies whether you want to turn on or turn off unauthenticated traffic to your cluster.

        • EncryptionInfo (dict) –

          Includes all encryption-related information.

          • EncryptionAtRest (dict) –

            The data-volume encryption details.

            • DataVolumeKMSKeyId (string) –

              The ARN of the AWS KMS key for encrypting data at rest. If you don’t specify a KMS key, MSK creates one for you and uses it.

          • EncryptionInTransit (dict) –

            The details for encryption in transit.

            • ClientBroker (string) –

              Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

              TLS means that client-broker communication is enabled with TLS only.

              TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.

              PLAINTEXT means that client-broker communication is enabled in plaintext only.

              The default value is TLS_PLAINTEXT.

            • InCluster (boolean) –

              When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

              The default value is true.

        • ConnectivityInfo (dict) –

          Information about the broker access configuration.

          • PublicAccess (dict) –

            Public access control for brokers.

            • Type (string) –

              The value DISABLED indicates that public access is turned off. SERVICE_PROVIDED_EIPS indicates that public access is turned on.

          • VpcConnectivity (dict) –

            VPC connectivity access control for brokers.

            • ClientAuthentication (dict) –

              Includes all client authentication information for VPC connectivity.

              • Sasl (dict) –

                SASL authentication type details for VPC connectivity.

                • Scram (dict) –

                  Details for SASL/SCRAM client authentication for VPC connectivity.

                  • Enabled (boolean) –

                    SASL/SCRAM authentication is on or off for VPC connectivity.

                • Iam (dict) –

                  Details for SASL/IAM client authentication for VPC connectivity.

                  • Enabled (boolean) –

                    SASL/IAM authentication is on or off for VPC connectivity.

              • Tls (dict) –

                TLS authentication type details for VPC connectivity.

                • Enabled (boolean) –

                  TLS authentication is on or off for VPC connectivity.

        • StorageMode (string) –

          This controls storage mode for supported storage tiers.

      • TargetClusterInfo (dict) –

        Information about cluster attributes after a cluster is updated.

        • BrokerEBSVolumeInfo (list) –

          Specifies the size of the EBS volume and the ID of the associated broker.

          • (dict) –

            Specifies the EBS volume upgrade information. The broker identifier must be set to the keyword ALL. This means the changes apply to all the brokers in the cluster.

            • KafkaBrokerNodeId (string) –

              The ID of the broker to update.

            • ProvisionedThroughput (dict) –

              EBS volume provisioned throughput information.

              • Enabled (boolean) –

                Provisioned throughput is enabled or not.

              • VolumeThroughput (integer) –

                Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second.

            • VolumeSizeGB (integer) –

              Size of the EBS volume to update.

        • ConfigurationInfo (dict) –

          Information about the changes in the configuration of the brokers.

          • Arn (string) –

            ARN of the configuration to use.

          • Revision (integer) –

            The revision of the configuration to use.

        • NumberOfBrokerNodes (integer) –

          The number of broker nodes in the cluster.

        • EnhancedMonitoring (string) –

          Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

        • OpenMonitoring (dict) –

          The settings for open monitoring.

          • Prometheus (dict) –

            Prometheus settings.

            • JmxExporter (dict) –

              Indicates whether you want to turn on or turn off the JMX Exporter.

              • EnabledInBroker (boolean) –

                Indicates whether you want to turn on or turn off the JMX Exporter.

            • NodeExporter (dict) –

              Indicates whether you want to turn on or turn off the Node Exporter.

              • EnabledInBroker (boolean) –

                Indicates whether you want to turn on or turn off the Node Exporter.

        • KafkaVersion (string) –

          The Apache Kafka version.

        • LoggingInfo (dict) –

          You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

          • BrokerLogs (dict) –

            • CloudWatchLogs (dict) –

              • Enabled (boolean) –

              • LogGroup (string) –

            • Firehose (dict) –

              • DeliveryStream (string) –

              • Enabled (boolean) –

            • S3 (dict) –

              • Bucket (string) –

              • Enabled (boolean) –

              • Prefix (string) –

        • InstanceType (string) –

          Information about the Amazon MSK broker type.

        • ClientAuthentication (dict) –

          Includes all client authentication information.

          • Sasl (dict) –

            Details for ClientAuthentication using SASL.

            • Scram (dict) –

              Details for SASL/SCRAM client authentication.

              • Enabled (boolean) –

                SASL/SCRAM authentication is enabled or not.

            • Iam (dict) –

              Indicates whether IAM access control is enabled.

              • Enabled (boolean) –

                Indicates whether IAM access control is enabled.

          • Tls (dict) –

            Details for ClientAuthentication using TLS.

            • CertificateAuthorityArnList (list) –

              List of ACM Certificate Authority ARNs.

              • (string) –

            • Enabled (boolean) –

              Specifies whether you want to turn on or turn off TLS authentication.

          • Unauthenticated (dict) –

            Contains information about unauthenticated traffic to the cluster.

            • Enabled (boolean) –

              Specifies whether you want to turn on or turn off unauthenticated traffic to your cluster.

        • EncryptionInfo (dict) –

          Includes all encryption-related information.

          • EncryptionAtRest (dict) –

            The data-volume encryption details.

            • DataVolumeKMSKeyId (string) –

              The ARN of the AWS KMS key for encrypting data at rest. If you don’t specify a KMS key, MSK creates one for you and uses it.

          • EncryptionInTransit (dict) –

            The details for encryption in transit.

            • ClientBroker (string) –

              Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

              TLS means that client-broker communication is enabled with TLS only.

              TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.

              PLAINTEXT means that client-broker communication is enabled in plaintext only.

              The default value is TLS_PLAINTEXT.

            • InCluster (boolean) –

              When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

              The default value is true.

        • ConnectivityInfo (dict) –

          Information about the broker access configuration.

          • PublicAccess (dict) –

            Public access control for brokers.

            • Type (string) –

              The value DISABLED indicates that public access is turned off. SERVICE_PROVIDED_EIPS indicates that public access is turned on.

          • VpcConnectivity (dict) –

            VPC connectivity access control for brokers.

            • ClientAuthentication (dict) –

              Includes all client authentication information for VPC connectivity.

              • Sasl (dict) –

                SASL authentication type details for VPC connectivity.

                • Scram (dict) –

                  Details for SASL/SCRAM client authentication for VPC connectivity.

                  • Enabled (boolean) –

                    SASL/SCRAM authentication is on or off for VPC connectivity.

                • Iam (dict) –

                  Details for SASL/IAM client authentication for VPC connectivity.

                  • Enabled (boolean) –

                    SASL/IAM authentication is on or off for VPC connectivity.

              • Tls (dict) –

                TLS authentication type details for VPC connectivity.

                • Enabled (boolean) –

                  TLS authentication is on or off for VPC connectivity.

        • StorageMode (string) –

          This controls storage mode for supported storage tiers.

      • VpcConnectionInfo (dict) –

        Description of the VPC connection for CreateVpcConnection and DeleteVpcConnection operations.

        • VpcConnectionArn (string) –

          The Amazon Resource Name (ARN) of the VPC connection.

        • Owner (string) –

          The owner of the VPC Connection.

        • UserIdentity (dict) –

          Description of the requester that calls the API operation.

          • Type (string) –

            The identity type of the requester that calls the API operation.

          • PrincipalId (string) –

            A unique identifier for the requester that calls the API operation.

        • CreationTime (datetime) –

          The time when Amazon MSK creates the VPC Connnection.

Exceptions

  • Kafka.Client.exceptions.NotFoundException

  • Kafka.Client.exceptions.BadRequestException

  • Kafka.Client.exceptions.UnauthorizedException

  • Kafka.Client.exceptions.InternalServerErrorException

  • Kafka.Client.exceptions.ForbiddenException