/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the kafka-2018-11-14.normal.json service model.
 */
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Kafka.Model;
namespace Amazon.Kafka
{
    /// 
    /// Interface for accessing Kafka
    ///
    /// The operations for managing an Amazon MSK cluster.
    /// 
    public partial interface IAmazonKafka : IAmazonService, IDisposable
    {
#if AWS_ASYNC_ENUMERABLES_API
        /// 
        /// Paginators for the service
        /// 
        IKafkaPaginatorFactory Paginators { get; }
#endif
                
        #region  BatchAssociateScramSecret
        /// 
        /// Associates one or more Scram Secrets with an Amazon MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the BatchAssociateScramSecret service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the BatchAssociateScramSecret service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for BatchAssociateScramSecret Operation
        Task BatchAssociateScramSecretAsync(BatchAssociateScramSecretRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  BatchDisassociateScramSecret
        /// 
        /// Disassociates one or more Scram Secrets from an Amazon MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the BatchDisassociateScramSecret service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the BatchDisassociateScramSecret service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for BatchDisassociateScramSecret Operation
        Task BatchDisassociateScramSecretAsync(BatchDisassociateScramSecretRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  CreateCluster
        /// 
        /// Creates a new MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the CreateCluster service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateCluster service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for CreateCluster Operation
        Task CreateClusterAsync(CreateClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  CreateClusterV2
        /// 
        /// Creates a new MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the CreateClusterV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateClusterV2 service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for CreateClusterV2 Operation
        Task CreateClusterV2Async(CreateClusterV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  CreateConfiguration
        /// 
        /// Creates a new MSK configuration.
        /// 
        /// Container for the necessary parameters to execute the CreateConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateConfiguration service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for CreateConfiguration Operation
        Task CreateConfigurationAsync(CreateConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  CreateVpcConnection
        /// 
        /// Creates a new MSK VPC connection.
        /// 
        /// Container for the necessary parameters to execute the CreateVpcConnection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateVpcConnection service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for CreateVpcConnection Operation
        Task CreateVpcConnectionAsync(CreateVpcConnectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DeleteCluster
        /// 
        /// Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.
        /// 
        /// Container for the necessary parameters to execute the DeleteCluster service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteCluster service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DeleteCluster Operation
        Task DeleteClusterAsync(DeleteClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DeleteClusterPolicy
        /// 
        /// Deletes the MSK cluster policy specified by the Amazon Resource Name (ARN) in the
        /// request.
        /// 
        /// Container for the necessary parameters to execute the DeleteClusterPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteClusterPolicy service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DeleteClusterPolicy Operation
        Task DeleteClusterPolicyAsync(DeleteClusterPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DeleteConfiguration
        /// 
        /// Deletes an MSK Configuration.
        /// 
        /// Container for the necessary parameters to execute the DeleteConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteConfiguration service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DeleteConfiguration Operation
        Task DeleteConfigurationAsync(DeleteConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DeleteVpcConnection
        /// 
        /// Deletes a MSK VPC connection.
        /// 
        /// Container for the necessary parameters to execute the DeleteVpcConnection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteVpcConnection service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DeleteVpcConnection Operation
        Task DeleteVpcConnectionAsync(DeleteVpcConnectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeCluster
        /// 
        /// Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified
        /// in the request.
        /// 
        /// Container for the necessary parameters to execute the DescribeCluster service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeCluster service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeCluster Operation
        Task DescribeClusterAsync(DescribeClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeClusterOperation
        /// 
        /// Returns a description of the cluster operation specified by the ARN.
        /// 
        /// Container for the necessary parameters to execute the DescribeClusterOperation service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeClusterOperation service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeClusterOperation Operation
        Task DescribeClusterOperationAsync(DescribeClusterOperationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeClusterOperationV2
        /// 
        /// Returns a description of the cluster operation specified by the ARN.
        /// 
        /// Container for the necessary parameters to execute the DescribeClusterOperationV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeClusterOperationV2 service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeClusterOperationV2 Operation
        Task DescribeClusterOperationV2Async(DescribeClusterOperationV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeClusterV2
        /// 
        /// Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified
        /// in the request.
        /// 
        /// Container for the necessary parameters to execute the DescribeClusterV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeClusterV2 service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeClusterV2 Operation
        Task DescribeClusterV2Async(DescribeClusterV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeConfiguration
        /// 
        /// Returns a description of this MSK configuration.
        /// 
        /// Container for the necessary parameters to execute the DescribeConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeConfiguration service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeConfiguration Operation
        Task DescribeConfigurationAsync(DescribeConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeConfigurationRevision
        /// 
        /// Returns a description of this revision of the configuration.
        /// 
        /// Container for the necessary parameters to execute the DescribeConfigurationRevision service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeConfigurationRevision service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeConfigurationRevision Operation
        Task DescribeConfigurationRevisionAsync(DescribeConfigurationRevisionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  DescribeVpcConnection
        /// 
        /// Returns a description of this MSK VPC connection.
        /// 
        /// Container for the necessary parameters to execute the DescribeVpcConnection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeVpcConnection service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for DescribeVpcConnection Operation
        Task DescribeVpcConnectionAsync(DescribeVpcConnectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  GetBootstrapBrokers
        /// 
        /// A list of brokers that a client application can use to bootstrap.
        /// 
        /// Container for the necessary parameters to execute the GetBootstrapBrokers service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBootstrapBrokers service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for GetBootstrapBrokers Operation
        Task GetBootstrapBrokersAsync(GetBootstrapBrokersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  GetClusterPolicy
        /// 
        /// Get the MSK cluster policy specified by the Amazon Resource Name (ARN) in the request.
        /// 
        /// Container for the necessary parameters to execute the GetClusterPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetClusterPolicy service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for GetClusterPolicy Operation
        Task GetClusterPolicyAsync(GetClusterPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  GetCompatibleKafkaVersions
        /// 
        /// Gets the Apache Kafka versions to which you can update the MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the GetCompatibleKafkaVersions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetCompatibleKafkaVersions service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for GetCompatibleKafkaVersions Operation
        Task GetCompatibleKafkaVersionsAsync(GetCompatibleKafkaVersionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListClientVpcConnections
        /// 
        /// Returns a list of all the VPC connections in this Region.
        /// 
        /// Container for the necessary parameters to execute the ListClientVpcConnections service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListClientVpcConnections service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListClientVpcConnections Operation
        Task ListClientVpcConnectionsAsync(ListClientVpcConnectionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListClusterOperations
        /// 
        /// Returns a list of all the operations that have been performed on the specified MSK
        /// cluster.
        /// 
        /// Container for the necessary parameters to execute the ListClusterOperations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListClusterOperations service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListClusterOperations Operation
        Task ListClusterOperationsAsync(ListClusterOperationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListClusterOperationsV2
        /// 
        /// Returns a list of all the operations that have been performed on the specified MSK
        /// cluster.
        /// 
        /// Container for the necessary parameters to execute the ListClusterOperationsV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListClusterOperationsV2 service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListClusterOperationsV2 Operation
        Task ListClusterOperationsV2Async(ListClusterOperationsV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListClusters
        /// 
        /// Returns a list of all the MSK clusters in the current Region.
        /// 
        /// Container for the necessary parameters to execute the ListClusters service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListClusters service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListClusters Operation
        Task ListClustersAsync(ListClustersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListClustersV2
        /// 
        /// Returns a list of all the MSK clusters in the current Region.
        /// 
        /// Container for the necessary parameters to execute the ListClustersV2 service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListClustersV2 service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListClustersV2 Operation
        Task ListClustersV2Async(ListClustersV2Request request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListConfigurationRevisions
        /// 
        /// Returns a list of all the MSK configurations in this Region.
        /// 
        /// Container for the necessary parameters to execute the ListConfigurationRevisions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListConfigurationRevisions service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListConfigurationRevisions Operation
        Task ListConfigurationRevisionsAsync(ListConfigurationRevisionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListConfigurations
        /// 
        /// Returns a list of all the MSK configurations in this Region.
        /// 
        /// Container for the necessary parameters to execute the ListConfigurations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListConfigurations service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListConfigurations Operation
        Task ListConfigurationsAsync(ListConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListKafkaVersions
        /// 
        /// Returns a list of Apache Kafka versions.
        /// 
        /// Container for the necessary parameters to execute the ListKafkaVersions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListKafkaVersions service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListKafkaVersions Operation
        Task ListKafkaVersionsAsync(ListKafkaVersionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListNodes
        /// 
        /// Returns a list of the broker nodes in the cluster.
        /// 
        /// Container for the necessary parameters to execute the ListNodes service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListNodes service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListNodes Operation
        Task ListNodesAsync(ListNodesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListScramSecrets
        /// 
        /// Returns a list of the Scram Secrets associated with an Amazon MSK cluster.
        /// 
        /// Container for the necessary parameters to execute the ListScramSecrets service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListScramSecrets service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListScramSecrets Operation
        Task ListScramSecretsAsync(ListScramSecretsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListTagsForResource
        /// 
        /// Returns a list of the tags associated with the specified resource.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListTagsForResource service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  ListVpcConnections
        /// 
        /// Returns a list of all the VPC connections in this Region.
        /// 
        /// Container for the necessary parameters to execute the ListVpcConnections service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListVpcConnections service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for ListVpcConnections Operation
        Task ListVpcConnectionsAsync(ListVpcConnectionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  PutClusterPolicy
        /// 
        /// Creates or updates the MSK cluster policy specified by the cluster Amazon Resource
        /// Name (ARN) in the request.
        /// 
        /// Container for the necessary parameters to execute the PutClusterPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutClusterPolicy service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for PutClusterPolicy Operation
        Task PutClusterPolicyAsync(PutClusterPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  RebootBroker
        /// 
        /// Reboots brokers.
        /// 
        /// Container for the necessary parameters to execute the RebootBroker service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the RebootBroker service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for RebootBroker Operation
        Task RebootBrokerAsync(RebootBrokerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  RejectClientVpcConnection
        /// 
        /// Returns empty response.
        /// 
        /// Container for the necessary parameters to execute the RejectClientVpcConnection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the RejectClientVpcConnection service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for RejectClientVpcConnection Operation
        Task RejectClientVpcConnectionAsync(RejectClientVpcConnectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  TagResource
        /// 
        /// Adds tags to the specified MSK resource.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the TagResource service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for TagResource Operation
        Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UntagResource
        /// 
        /// Removes the tags associated with the keys that are provided in the query.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UntagResource service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UntagResource Operation
        Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateBrokerCount
        /// 
        /// Updates the number of broker nodes in the cluster.
        /// 
        /// Container for the necessary parameters to execute the UpdateBrokerCount service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateBrokerCount service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateBrokerCount Operation
        Task UpdateBrokerCountAsync(UpdateBrokerCountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateBrokerStorage
        /// 
        /// Updates the EBS storage associated with MSK brokers.
        /// 
        /// Container for the necessary parameters to execute the UpdateBrokerStorage service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateBrokerStorage service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateBrokerStorage Operation
        Task UpdateBrokerStorageAsync(UpdateBrokerStorageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateBrokerType
        /// 
        /// Updates EC2 instance type.
        /// 
        /// Container for the necessary parameters to execute the UpdateBrokerType service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateBrokerType service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateBrokerType Operation
        Task UpdateBrokerTypeAsync(UpdateBrokerTypeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateClusterConfiguration
        /// 
        /// Updates the cluster with the configuration that is specified in the request body.
        /// 
        /// Container for the necessary parameters to execute the UpdateClusterConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateClusterConfiguration service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateClusterConfiguration Operation
        Task UpdateClusterConfigurationAsync(UpdateClusterConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateClusterKafkaVersion
        /// 
        /// Updates the Apache Kafka version for the cluster.
        /// 
        /// Container for the necessary parameters to execute the UpdateClusterKafkaVersion service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateClusterKafkaVersion service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateClusterKafkaVersion Operation
        Task UpdateClusterKafkaVersionAsync(UpdateClusterKafkaVersionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateConfiguration
        /// 
        /// Updates an MSK configuration.
        /// 
        /// Container for the necessary parameters to execute the UpdateConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateConfiguration service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateConfiguration Operation
        Task UpdateConfigurationAsync(UpdateConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateConnectivity
        /// 
        /// Updates the cluster's connectivity configuration.
        /// 
        /// Container for the necessary parameters to execute the UpdateConnectivity service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateConnectivity service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateConnectivity Operation
        Task UpdateConnectivityAsync(UpdateConnectivityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateMonitoring
        /// 
        /// Updates the monitoring settings for the cluster. You can use this operation to specify
        /// which Apache Kafka metrics you want Amazon MSK to send to Amazon CloudWatch. You can
        /// also specify settings for open monitoring with Prometheus.
        /// 
        /// Container for the necessary parameters to execute the UpdateMonitoring service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateMonitoring service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateMonitoring Operation
        Task UpdateMonitoringAsync(UpdateMonitoringRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateSecurity
        /// 
        /// Updates the security settings for the cluster. You can use this operation to specify
        /// encryption and authentication on existing clusters.
        /// 
        /// Container for the necessary parameters to execute the UpdateSecurity service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateSecurity service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateSecurity Operation
        Task UpdateSecurityAsync(UpdateSecurityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
                
        #region  UpdateStorage
        /// 
        /// Updates cluster broker volume size (or) sets cluster storage mode to TIERED.
        /// 
        /// Container for the necessary parameters to execute the UpdateStorage service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateStorage service method, as returned by Kafka.
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// 
        /// Returns information about an error.
        /// 
        /// REST API Reference for UpdateStorage Operation
        Task UpdateStorageAsync(UpdateStorageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
    }
}