/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Kafka { /** *

The operations for managing an Amazon MSK cluster.

* */ class AWS_KAFKA_API KafkaClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef KafkaClientConfiguration ClientConfigurationType; typedef KafkaEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ KafkaClient(const Aws::Kafka::KafkaClientConfiguration& clientConfiguration = Aws::Kafka::KafkaClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ KafkaClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Kafka::KafkaClientConfiguration& clientConfiguration = Aws::Kafka::KafkaClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ KafkaClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::Kafka::KafkaClientConfiguration& clientConfiguration = Aws::Kafka::KafkaClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ KafkaClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ KafkaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ KafkaClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~KafkaClient(); /** *

Associates one or more Scram Secrets with an Amazon MSK * cluster.

See Also:

AWS * API Reference

*/ virtual Model::BatchAssociateScramSecretOutcome BatchAssociateScramSecret(const Model::BatchAssociateScramSecretRequest& request) const; /** * A Callable wrapper for BatchAssociateScramSecret that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchAssociateScramSecretOutcomeCallable BatchAssociateScramSecretCallable(const BatchAssociateScramSecretRequestT& request) const { return SubmitCallable(&KafkaClient::BatchAssociateScramSecret, request); } /** * An Async wrapper for BatchAssociateScramSecret that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchAssociateScramSecretAsync(const BatchAssociateScramSecretRequestT& request, const BatchAssociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::BatchAssociateScramSecret, request, handler, context); } /** *

Creates a new MSK cluster.

See Also:

* AWS * API Reference

*/ virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest& request) const; /** * A Callable wrapper for CreateCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateClusterOutcomeCallable CreateClusterCallable(const CreateClusterRequestT& request) const { return SubmitCallable(&KafkaClient::CreateCluster, request); } /** * An Async wrapper for CreateCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateClusterAsync(const CreateClusterRequestT& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::CreateCluster, request, handler, context); } /** *

Creates a new MSK cluster.

See Also:

* AWS * API Reference

*/ virtual Model::CreateClusterV2Outcome CreateClusterV2(const Model::CreateClusterV2Request& request) const; /** * A Callable wrapper for CreateClusterV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateClusterV2OutcomeCallable CreateClusterV2Callable(const CreateClusterV2RequestT& request) const { return SubmitCallable(&KafkaClient::CreateClusterV2, request); } /** * An Async wrapper for CreateClusterV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateClusterV2Async(const CreateClusterV2RequestT& request, const CreateClusterV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::CreateClusterV2, request, handler, context); } /** *

Creates a new MSK configuration.

See * Also:

AWS * API Reference

*/ virtual Model::CreateConfigurationOutcome CreateConfiguration(const Model::CreateConfigurationRequest& request) const; /** * A Callable wrapper for CreateConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateConfigurationOutcomeCallable CreateConfigurationCallable(const CreateConfigurationRequestT& request) const { return SubmitCallable(&KafkaClient::CreateConfiguration, request); } /** * An Async wrapper for CreateConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateConfigurationAsync(const CreateConfigurationRequestT& request, const CreateConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::CreateConfiguration, request, handler, context); } /** *

Creates a new MSK VPC connection.

See * Also:

AWS * API Reference

*/ virtual Model::CreateVpcConnectionOutcome CreateVpcConnection(const Model::CreateVpcConnectionRequest& request) const; /** * A Callable wrapper for CreateVpcConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateVpcConnectionOutcomeCallable CreateVpcConnectionCallable(const CreateVpcConnectionRequestT& request) const { return SubmitCallable(&KafkaClient::CreateVpcConnection, request); } /** * An Async wrapper for CreateVpcConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateVpcConnectionAsync(const CreateVpcConnectionRequestT& request, const CreateVpcConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::CreateVpcConnection, request, handler, context); } /** *

Deletes the MSK cluster specified by the Amazon Resource Name * (ARN) in the request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest& request) const; /** * A Callable wrapper for DeleteCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteClusterOutcomeCallable DeleteClusterCallable(const DeleteClusterRequestT& request) const { return SubmitCallable(&KafkaClient::DeleteCluster, request); } /** * An Async wrapper for DeleteCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteClusterAsync(const DeleteClusterRequestT& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DeleteCluster, request, handler, context); } /** *

Deletes the MSK cluster policy specified by the Amazon Resource * Name (ARN) in the request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteClusterPolicyOutcome DeleteClusterPolicy(const Model::DeleteClusterPolicyRequest& request) const; /** * A Callable wrapper for DeleteClusterPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteClusterPolicyOutcomeCallable DeleteClusterPolicyCallable(const DeleteClusterPolicyRequestT& request) const { return SubmitCallable(&KafkaClient::DeleteClusterPolicy, request); } /** * An Async wrapper for DeleteClusterPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteClusterPolicyAsync(const DeleteClusterPolicyRequestT& request, const DeleteClusterPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DeleteClusterPolicy, request, handler, context); } /** *

Deletes an MSK Configuration.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteConfigurationOutcome DeleteConfiguration(const Model::DeleteConfigurationRequest& request) const; /** * A Callable wrapper for DeleteConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteConfigurationOutcomeCallable DeleteConfigurationCallable(const DeleteConfigurationRequestT& request) const { return SubmitCallable(&KafkaClient::DeleteConfiguration, request); } /** * An Async wrapper for DeleteConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteConfigurationAsync(const DeleteConfigurationRequestT& request, const DeleteConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DeleteConfiguration, request, handler, context); } /** *

Deletes a MSK VPC connection.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteVpcConnectionOutcome DeleteVpcConnection(const Model::DeleteVpcConnectionRequest& request) const; /** * A Callable wrapper for DeleteVpcConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteVpcConnectionOutcomeCallable DeleteVpcConnectionCallable(const DeleteVpcConnectionRequestT& request) const { return SubmitCallable(&KafkaClient::DeleteVpcConnection, request); } /** * An Async wrapper for DeleteVpcConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteVpcConnectionAsync(const DeleteVpcConnectionRequestT& request, const DeleteVpcConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DeleteVpcConnection, request, handler, context); } /** *

Returns a description of the MSK cluster whose Amazon Resource * Name (ARN) is specified in the request.

See Also:

AWS * API Reference

*/ virtual Model::DescribeClusterOutcome DescribeCluster(const Model::DescribeClusterRequest& request) const; /** * A Callable wrapper for DescribeCluster that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeClusterOutcomeCallable DescribeClusterCallable(const DescribeClusterRequestT& request) const { return SubmitCallable(&KafkaClient::DescribeCluster, request); } /** * An Async wrapper for DescribeCluster that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeClusterAsync(const DescribeClusterRequestT& request, const DescribeClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeCluster, request, handler, context); } /** *

Returns a description of the MSK cluster whose Amazon Resource * Name (ARN) is specified in the request.

See Also:

AWS * API Reference

*/ virtual Model::DescribeClusterV2Outcome DescribeClusterV2(const Model::DescribeClusterV2Request& request) const; /** * A Callable wrapper for DescribeClusterV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeClusterV2OutcomeCallable DescribeClusterV2Callable(const DescribeClusterV2RequestT& request) const { return SubmitCallable(&KafkaClient::DescribeClusterV2, request); } /** * An Async wrapper for DescribeClusterV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeClusterV2Async(const DescribeClusterV2RequestT& request, const DescribeClusterV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeClusterV2, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeClusterOperationOutcome DescribeClusterOperation(const Model::DescribeClusterOperationRequest& request) const; /** * A Callable wrapper for DescribeClusterOperation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeClusterOperationOutcomeCallable DescribeClusterOperationCallable(const DescribeClusterOperationRequestT& request) const { return SubmitCallable(&KafkaClient::DescribeClusterOperation, request); } /** * An Async wrapper for DescribeClusterOperation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeClusterOperationAsync(const DescribeClusterOperationRequestT& request, const DescribeClusterOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeClusterOperation, request, handler, context); } /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeClusterOperationV2Outcome DescribeClusterOperationV2(const Model::DescribeClusterOperationV2Request& request) const; /** * A Callable wrapper for DescribeClusterOperationV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeClusterOperationV2OutcomeCallable DescribeClusterOperationV2Callable(const DescribeClusterOperationV2RequestT& request) const { return SubmitCallable(&KafkaClient::DescribeClusterOperationV2, request); } /** * An Async wrapper for DescribeClusterOperationV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeClusterOperationV2Async(const DescribeClusterOperationV2RequestT& request, const DescribeClusterOperationV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeClusterOperationV2, request, handler, context); } /** *

Returns a description of this MSK configuration.

*

See Also:

AWS * API Reference

*/ virtual Model::DescribeConfigurationOutcome DescribeConfiguration(const Model::DescribeConfigurationRequest& request) const; /** * A Callable wrapper for DescribeConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeConfigurationOutcomeCallable DescribeConfigurationCallable(const DescribeConfigurationRequestT& request) const { return SubmitCallable(&KafkaClient::DescribeConfiguration, request); } /** * An Async wrapper for DescribeConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeConfigurationAsync(const DescribeConfigurationRequestT& request, const DescribeConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeConfiguration, request, handler, context); } /** *

Returns a description of this revision of the * configuration.

See Also:

AWS * API Reference

*/ virtual Model::DescribeConfigurationRevisionOutcome DescribeConfigurationRevision(const Model::DescribeConfigurationRevisionRequest& request) const; /** * A Callable wrapper for DescribeConfigurationRevision that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeConfigurationRevisionOutcomeCallable DescribeConfigurationRevisionCallable(const DescribeConfigurationRevisionRequestT& request) const { return SubmitCallable(&KafkaClient::DescribeConfigurationRevision, request); } /** * An Async wrapper for DescribeConfigurationRevision that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeConfigurationRevisionAsync(const DescribeConfigurationRevisionRequestT& request, const DescribeConfigurationRevisionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeConfigurationRevision, request, handler, context); } /** *

Returns a description of this MSK VPC connection.

*

See Also:

AWS * API Reference

*/ virtual Model::DescribeVpcConnectionOutcome DescribeVpcConnection(const Model::DescribeVpcConnectionRequest& request) const; /** * A Callable wrapper for DescribeVpcConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeVpcConnectionOutcomeCallable DescribeVpcConnectionCallable(const DescribeVpcConnectionRequestT& request) const { return SubmitCallable(&KafkaClient::DescribeVpcConnection, request); } /** * An Async wrapper for DescribeVpcConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeVpcConnectionAsync(const DescribeVpcConnectionRequestT& request, const DescribeVpcConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::DescribeVpcConnection, request, handler, context); } /** *

Disassociates one or more Scram Secrets from an Amazon MSK * cluster.

See Also:

AWS * API Reference

*/ virtual Model::BatchDisassociateScramSecretOutcome BatchDisassociateScramSecret(const Model::BatchDisassociateScramSecretRequest& request) const; /** * A Callable wrapper for BatchDisassociateScramSecret that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchDisassociateScramSecretOutcomeCallable BatchDisassociateScramSecretCallable(const BatchDisassociateScramSecretRequestT& request) const { return SubmitCallable(&KafkaClient::BatchDisassociateScramSecret, request); } /** * An Async wrapper for BatchDisassociateScramSecret that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchDisassociateScramSecretAsync(const BatchDisassociateScramSecretRequestT& request, const BatchDisassociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::BatchDisassociateScramSecret, request, handler, context); } /** *

A list of brokers that a client application can use to * bootstrap.

See Also:

AWS * API Reference

*/ virtual Model::GetBootstrapBrokersOutcome GetBootstrapBrokers(const Model::GetBootstrapBrokersRequest& request) const; /** * A Callable wrapper for GetBootstrapBrokers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBootstrapBrokersOutcomeCallable GetBootstrapBrokersCallable(const GetBootstrapBrokersRequestT& request) const { return SubmitCallable(&KafkaClient::GetBootstrapBrokers, request); } /** * An Async wrapper for GetBootstrapBrokers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBootstrapBrokersAsync(const GetBootstrapBrokersRequestT& request, const GetBootstrapBrokersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::GetBootstrapBrokers, request, handler, context); } /** *

Gets the Apache Kafka versions to which you can update the MSK * cluster.

See Also:

AWS * API Reference

*/ virtual Model::GetCompatibleKafkaVersionsOutcome GetCompatibleKafkaVersions(const Model::GetCompatibleKafkaVersionsRequest& request) const; /** * A Callable wrapper for GetCompatibleKafkaVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCompatibleKafkaVersionsOutcomeCallable GetCompatibleKafkaVersionsCallable(const GetCompatibleKafkaVersionsRequestT& request) const { return SubmitCallable(&KafkaClient::GetCompatibleKafkaVersions, request); } /** * An Async wrapper for GetCompatibleKafkaVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCompatibleKafkaVersionsAsync(const GetCompatibleKafkaVersionsRequestT& request, const GetCompatibleKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::GetCompatibleKafkaVersions, request, handler, context); } /** *

Get the MSK cluster policy specified by the Amazon Resource Name * (ARN) in the request.

See Also:

AWS * API Reference

*/ virtual Model::GetClusterPolicyOutcome GetClusterPolicy(const Model::GetClusterPolicyRequest& request) const; /** * A Callable wrapper for GetClusterPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetClusterPolicyOutcomeCallable GetClusterPolicyCallable(const GetClusterPolicyRequestT& request) const { return SubmitCallable(&KafkaClient::GetClusterPolicy, request); } /** * An Async wrapper for GetClusterPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetClusterPolicyAsync(const GetClusterPolicyRequestT& request, const GetClusterPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::GetClusterPolicy, request, handler, context); } /** *

Returns a list of all the operations that have been performed on * the specified MSK cluster.

See Also:

AWS * API Reference

*/ virtual Model::ListClusterOperationsOutcome ListClusterOperations(const Model::ListClusterOperationsRequest& request) const; /** * A Callable wrapper for ListClusterOperations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListClusterOperationsOutcomeCallable ListClusterOperationsCallable(const ListClusterOperationsRequestT& request) const { return SubmitCallable(&KafkaClient::ListClusterOperations, request); } /** * An Async wrapper for ListClusterOperations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListClusterOperationsAsync(const ListClusterOperationsRequestT& request, const ListClusterOperationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListClusterOperations, request, handler, context); } /** *

Returns a list of all the operations that have been performed on * the specified MSK cluster.

See Also:

AWS * API Reference

*/ virtual Model::ListClusterOperationsV2Outcome ListClusterOperationsV2(const Model::ListClusterOperationsV2Request& request) const; /** * A Callable wrapper for ListClusterOperationsV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListClusterOperationsV2OutcomeCallable ListClusterOperationsV2Callable(const ListClusterOperationsV2RequestT& request) const { return SubmitCallable(&KafkaClient::ListClusterOperationsV2, request); } /** * An Async wrapper for ListClusterOperationsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListClusterOperationsV2Async(const ListClusterOperationsV2RequestT& request, const ListClusterOperationsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListClusterOperationsV2, request, handler, context); } /** *

Returns a list of all the MSK clusters in the current * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListClustersOutcome ListClusters(const Model::ListClustersRequest& request) const; /** * A Callable wrapper for ListClusters that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListClustersOutcomeCallable ListClustersCallable(const ListClustersRequestT& request) const { return SubmitCallable(&KafkaClient::ListClusters, request); } /** * An Async wrapper for ListClusters that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListClustersAsync(const ListClustersRequestT& request, const ListClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListClusters, request, handler, context); } /** *

Returns a list of all the MSK clusters in the current * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListClustersV2Outcome ListClustersV2(const Model::ListClustersV2Request& request) const; /** * A Callable wrapper for ListClustersV2 that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListClustersV2OutcomeCallable ListClustersV2Callable(const ListClustersV2RequestT& request) const { return SubmitCallable(&KafkaClient::ListClustersV2, request); } /** * An Async wrapper for ListClustersV2 that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListClustersV2Async(const ListClustersV2RequestT& request, const ListClustersV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListClustersV2, request, handler, context); } /** *

Returns a list of all the MSK configurations in this * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListConfigurationRevisionsOutcome ListConfigurationRevisions(const Model::ListConfigurationRevisionsRequest& request) const; /** * A Callable wrapper for ListConfigurationRevisions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConfigurationRevisionsOutcomeCallable ListConfigurationRevisionsCallable(const ListConfigurationRevisionsRequestT& request) const { return SubmitCallable(&KafkaClient::ListConfigurationRevisions, request); } /** * An Async wrapper for ListConfigurationRevisions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConfigurationRevisionsAsync(const ListConfigurationRevisionsRequestT& request, const ListConfigurationRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListConfigurationRevisions, request, handler, context); } /** *

Returns a list of all the MSK configurations in this * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListConfigurationsOutcome ListConfigurations(const Model::ListConfigurationsRequest& request) const; /** * A Callable wrapper for ListConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConfigurationsOutcomeCallable ListConfigurationsCallable(const ListConfigurationsRequestT& request) const { return SubmitCallable(&KafkaClient::ListConfigurations, request); } /** * An Async wrapper for ListConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConfigurationsAsync(const ListConfigurationsRequestT& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListConfigurations, request, handler, context); } /** *

Returns a list of Apache Kafka versions.

See * Also:

AWS * API Reference

*/ virtual Model::ListKafkaVersionsOutcome ListKafkaVersions(const Model::ListKafkaVersionsRequest& request) const; /** * A Callable wrapper for ListKafkaVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListKafkaVersionsOutcomeCallable ListKafkaVersionsCallable(const ListKafkaVersionsRequestT& request) const { return SubmitCallable(&KafkaClient::ListKafkaVersions, request); } /** * An Async wrapper for ListKafkaVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListKafkaVersionsAsync(const ListKafkaVersionsRequestT& request, const ListKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListKafkaVersions, request, handler, context); } /** *

Returns a list of the broker nodes in the cluster.

*

See Also:

AWS API * Reference

*/ virtual Model::ListNodesOutcome ListNodes(const Model::ListNodesRequest& request) const; /** * A Callable wrapper for ListNodes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListNodesOutcomeCallable ListNodesCallable(const ListNodesRequestT& request) const { return SubmitCallable(&KafkaClient::ListNodes, request); } /** * An Async wrapper for ListNodes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListNodesAsync(const ListNodesRequestT& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListNodes, request, handler, context); } /** *

Returns a list of the Scram Secrets associated with an Amazon * MSK cluster.

See Also:

AWS * API Reference

*/ virtual Model::ListScramSecretsOutcome ListScramSecrets(const Model::ListScramSecretsRequest& request) const; /** * A Callable wrapper for ListScramSecrets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListScramSecretsOutcomeCallable ListScramSecretsCallable(const ListScramSecretsRequestT& request) const { return SubmitCallable(&KafkaClient::ListScramSecrets, request); } /** * An Async wrapper for ListScramSecrets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListScramSecretsAsync(const ListScramSecretsRequestT& request, const ListScramSecretsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListScramSecrets, request, handler, context); } /** *

Returns a list of the tags associated with the specified * resource.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&KafkaClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListTagsForResource, request, handler, context); } /** *

Returns a list of all the VPC connections in this Region.

*

See Also:

AWS * API Reference

*/ virtual Model::ListClientVpcConnectionsOutcome ListClientVpcConnections(const Model::ListClientVpcConnectionsRequest& request) const; /** * A Callable wrapper for ListClientVpcConnections that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListClientVpcConnectionsOutcomeCallable ListClientVpcConnectionsCallable(const ListClientVpcConnectionsRequestT& request) const { return SubmitCallable(&KafkaClient::ListClientVpcConnections, request); } /** * An Async wrapper for ListClientVpcConnections that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListClientVpcConnectionsAsync(const ListClientVpcConnectionsRequestT& request, const ListClientVpcConnectionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListClientVpcConnections, request, handler, context); } /** *

Returns a list of all the VPC connections in this Region.

*

See Also:

AWS * API Reference

*/ virtual Model::ListVpcConnectionsOutcome ListVpcConnections(const Model::ListVpcConnectionsRequest& request) const; /** * A Callable wrapper for ListVpcConnections that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListVpcConnectionsOutcomeCallable ListVpcConnectionsCallable(const ListVpcConnectionsRequestT& request) const { return SubmitCallable(&KafkaClient::ListVpcConnections, request); } /** * An Async wrapper for ListVpcConnections that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListVpcConnectionsAsync(const ListVpcConnectionsRequestT& request, const ListVpcConnectionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::ListVpcConnections, request, handler, context); } /** *

Returns empty response.

See Also:

AWS * API Reference

*/ virtual Model::RejectClientVpcConnectionOutcome RejectClientVpcConnection(const Model::RejectClientVpcConnectionRequest& request) const; /** * A Callable wrapper for RejectClientVpcConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RejectClientVpcConnectionOutcomeCallable RejectClientVpcConnectionCallable(const RejectClientVpcConnectionRequestT& request) const { return SubmitCallable(&KafkaClient::RejectClientVpcConnection, request); } /** * An Async wrapper for RejectClientVpcConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RejectClientVpcConnectionAsync(const RejectClientVpcConnectionRequestT& request, const RejectClientVpcConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::RejectClientVpcConnection, request, handler, context); } /** *

Creates or updates the MSK cluster policy specified by the * cluster Amazon Resource Name (ARN) in the request.

See * Also:

AWS * API Reference

*/ virtual Model::PutClusterPolicyOutcome PutClusterPolicy(const Model::PutClusterPolicyRequest& request) const; /** * A Callable wrapper for PutClusterPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutClusterPolicyOutcomeCallable PutClusterPolicyCallable(const PutClusterPolicyRequestT& request) const { return SubmitCallable(&KafkaClient::PutClusterPolicy, request); } /** * An Async wrapper for PutClusterPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutClusterPolicyAsync(const PutClusterPolicyRequestT& request, const PutClusterPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::PutClusterPolicy, request, handler, context); } /** * Reboots brokers.

See Also:

AWS * API Reference

*/ virtual Model::RebootBrokerOutcome RebootBroker(const Model::RebootBrokerRequest& request) const; /** * A Callable wrapper for RebootBroker that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RebootBrokerOutcomeCallable RebootBrokerCallable(const RebootBrokerRequestT& request) const { return SubmitCallable(&KafkaClient::RebootBroker, request); } /** * An Async wrapper for RebootBroker that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RebootBrokerAsync(const RebootBrokerRequestT& request, const RebootBrokerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::RebootBroker, request, handler, context); } /** *

Adds tags to the specified MSK resource.

See * Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&KafkaClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::TagResource, request, handler, context); } /** *

Removes the tags associated with the keys that are provided in * the query.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&KafkaClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UntagResource, request, handler, context); } /** *

Updates the number of broker nodes in the cluster.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateBrokerCountOutcome UpdateBrokerCount(const Model::UpdateBrokerCountRequest& request) const; /** * A Callable wrapper for UpdateBrokerCount that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBrokerCountOutcomeCallable UpdateBrokerCountCallable(const UpdateBrokerCountRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateBrokerCount, request); } /** * An Async wrapper for UpdateBrokerCount that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBrokerCountAsync(const UpdateBrokerCountRequestT& request, const UpdateBrokerCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateBrokerCount, request, handler, context); } /** *

Updates EC2 instance type.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateBrokerTypeOutcome UpdateBrokerType(const Model::UpdateBrokerTypeRequest& request) const; /** * A Callable wrapper for UpdateBrokerType that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBrokerTypeOutcomeCallable UpdateBrokerTypeCallable(const UpdateBrokerTypeRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateBrokerType, request); } /** * An Async wrapper for UpdateBrokerType that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBrokerTypeAsync(const UpdateBrokerTypeRequestT& request, const UpdateBrokerTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateBrokerType, request, handler, context); } /** *

Updates the EBS storage associated with MSK brokers.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateBrokerStorageOutcome UpdateBrokerStorage(const Model::UpdateBrokerStorageRequest& request) const; /** * A Callable wrapper for UpdateBrokerStorage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBrokerStorageOutcomeCallable UpdateBrokerStorageCallable(const UpdateBrokerStorageRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateBrokerStorage, request); } /** * An Async wrapper for UpdateBrokerStorage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBrokerStorageAsync(const UpdateBrokerStorageRequestT& request, const UpdateBrokerStorageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateBrokerStorage, request, handler, context); } /** *

Updates an MSK configuration.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateConfigurationOutcome UpdateConfiguration(const Model::UpdateConfigurationRequest& request) const; /** * A Callable wrapper for UpdateConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateConfigurationOutcomeCallable UpdateConfigurationCallable(const UpdateConfigurationRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateConfiguration, request); } /** * An Async wrapper for UpdateConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateConfigurationAsync(const UpdateConfigurationRequestT& request, const UpdateConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateConfiguration, request, handler, context); } /** *

Updates the cluster's connectivity configuration.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateConnectivityOutcome UpdateConnectivity(const Model::UpdateConnectivityRequest& request) const; /** * A Callable wrapper for UpdateConnectivity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateConnectivityOutcomeCallable UpdateConnectivityCallable(const UpdateConnectivityRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateConnectivity, request); } /** * An Async wrapper for UpdateConnectivity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateConnectivityAsync(const UpdateConnectivityRequestT& request, const UpdateConnectivityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateConnectivity, request, handler, context); } /** *

Updates the cluster with the configuration that is specified in * the request body.

See Also:

AWS * API Reference

*/ virtual Model::UpdateClusterConfigurationOutcome UpdateClusterConfiguration(const Model::UpdateClusterConfigurationRequest& request) const; /** * A Callable wrapper for UpdateClusterConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateClusterConfigurationOutcomeCallable UpdateClusterConfigurationCallable(const UpdateClusterConfigurationRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateClusterConfiguration, request); } /** * An Async wrapper for UpdateClusterConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateClusterConfigurationAsync(const UpdateClusterConfigurationRequestT& request, const UpdateClusterConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateClusterConfiguration, request, handler, context); } /** *

Updates the Apache Kafka version for the cluster.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateClusterKafkaVersionOutcome UpdateClusterKafkaVersion(const Model::UpdateClusterKafkaVersionRequest& request) const; /** * A Callable wrapper for UpdateClusterKafkaVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateClusterKafkaVersionOutcomeCallable UpdateClusterKafkaVersionCallable(const UpdateClusterKafkaVersionRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateClusterKafkaVersion, request); } /** * An Async wrapper for UpdateClusterKafkaVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateClusterKafkaVersionAsync(const UpdateClusterKafkaVersionRequestT& request, const UpdateClusterKafkaVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateClusterKafkaVersion, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::UpdateMonitoringOutcome UpdateMonitoring(const Model::UpdateMonitoringRequest& request) const; /** * A Callable wrapper for UpdateMonitoring that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateMonitoringOutcomeCallable UpdateMonitoringCallable(const UpdateMonitoringRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateMonitoring, request); } /** * An Async wrapper for UpdateMonitoring that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateMonitoringAsync(const UpdateMonitoringRequestT& request, const UpdateMonitoringResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateMonitoring, request, handler, context); } /** *

Updates the security settings for the cluster. You can use this * operation to specify encryption and authentication on existing clusters.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateSecurityOutcome UpdateSecurity(const Model::UpdateSecurityRequest& request) const; /** * A Callable wrapper for UpdateSecurity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSecurityOutcomeCallable UpdateSecurityCallable(const UpdateSecurityRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateSecurity, request); } /** * An Async wrapper for UpdateSecurity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSecurityAsync(const UpdateSecurityRequestT& request, const UpdateSecurityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateSecurity, request, handler, context); } /** * Updates cluster broker volume size (or) sets cluster storage mode to * TIERED.

See Also:

AWS * API Reference

*/ virtual Model::UpdateStorageOutcome UpdateStorage(const Model::UpdateStorageRequest& request) const; /** * A Callable wrapper for UpdateStorage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateStorageOutcomeCallable UpdateStorageCallable(const UpdateStorageRequestT& request) const { return SubmitCallable(&KafkaClient::UpdateStorage, request); } /** * An Async wrapper for UpdateStorage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateStorageAsync(const UpdateStorageRequestT& request, const UpdateStorageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaClient::UpdateStorage, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const KafkaClientConfiguration& clientConfiguration); KafkaClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace Kafka } // namespace Aws