/** * 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 KafkaConnect { /** *

*/ class AWS_KAFKACONNECT_API KafkaConnectClient : 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 KafkaConnectClientConfiguration ClientConfigurationType; typedef KafkaConnectEndpointProvider 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. */ KafkaConnectClient(const Aws::KafkaConnect::KafkaConnectClientConfiguration& clientConfiguration = Aws::KafkaConnect::KafkaConnectClientConfiguration(), 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. */ KafkaConnectClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::KafkaConnect::KafkaConnectClientConfiguration& clientConfiguration = Aws::KafkaConnect::KafkaConnectClientConfiguration()); /** * 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 */ KafkaConnectClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::KafkaConnect::KafkaConnectClientConfiguration& clientConfiguration = Aws::KafkaConnect::KafkaConnectClientConfiguration()); /* 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. */ KafkaConnectClient(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. */ KafkaConnectClient(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 */ KafkaConnectClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~KafkaConnectClient(); /** *

Creates a connector using the specified properties.

See Also:

* AWS * API Reference

*/ virtual Model::CreateConnectorOutcome CreateConnector(const Model::CreateConnectorRequest& request) const; /** * A Callable wrapper for CreateConnector that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateConnectorOutcomeCallable CreateConnectorCallable(const CreateConnectorRequestT& request) const { return SubmitCallable(&KafkaConnectClient::CreateConnector, request); } /** * An Async wrapper for CreateConnector that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateConnectorAsync(const CreateConnectorRequestT& request, const CreateConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::CreateConnector, request, handler, context); } /** *

Creates a custom plugin using the specified properties.

See * Also:

AWS * API Reference

*/ virtual Model::CreateCustomPluginOutcome CreateCustomPlugin(const Model::CreateCustomPluginRequest& request) const; /** * A Callable wrapper for CreateCustomPlugin that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateCustomPluginOutcomeCallable CreateCustomPluginCallable(const CreateCustomPluginRequestT& request) const { return SubmitCallable(&KafkaConnectClient::CreateCustomPlugin, request); } /** * An Async wrapper for CreateCustomPlugin that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateCustomPluginAsync(const CreateCustomPluginRequestT& request, const CreateCustomPluginResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::CreateCustomPlugin, request, handler, context); } /** *

Creates a worker configuration using the specified properties.

See * Also:

AWS * API Reference

*/ virtual Model::CreateWorkerConfigurationOutcome CreateWorkerConfiguration(const Model::CreateWorkerConfigurationRequest& request) const; /** * A Callable wrapper for CreateWorkerConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateWorkerConfigurationOutcomeCallable CreateWorkerConfigurationCallable(const CreateWorkerConfigurationRequestT& request) const { return SubmitCallable(&KafkaConnectClient::CreateWorkerConfiguration, request); } /** * An Async wrapper for CreateWorkerConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateWorkerConfigurationAsync(const CreateWorkerConfigurationRequestT& request, const CreateWorkerConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::CreateWorkerConfiguration, request, handler, context); } /** *

Deletes the specified connector.

See Also:

AWS * API Reference

*/ virtual Model::DeleteConnectorOutcome DeleteConnector(const Model::DeleteConnectorRequest& request) const; /** * A Callable wrapper for DeleteConnector that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteConnectorOutcomeCallable DeleteConnectorCallable(const DeleteConnectorRequestT& request) const { return SubmitCallable(&KafkaConnectClient::DeleteConnector, request); } /** * An Async wrapper for DeleteConnector that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteConnectorAsync(const DeleteConnectorRequestT& request, const DeleteConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::DeleteConnector, request, handler, context); } /** *

Deletes a custom plugin.

See Also:

AWS * API Reference

*/ virtual Model::DeleteCustomPluginOutcome DeleteCustomPlugin(const Model::DeleteCustomPluginRequest& request) const; /** * A Callable wrapper for DeleteCustomPlugin that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCustomPluginOutcomeCallable DeleteCustomPluginCallable(const DeleteCustomPluginRequestT& request) const { return SubmitCallable(&KafkaConnectClient::DeleteCustomPlugin, request); } /** * An Async wrapper for DeleteCustomPlugin that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCustomPluginAsync(const DeleteCustomPluginRequestT& request, const DeleteCustomPluginResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::DeleteCustomPlugin, request, handler, context); } /** *

Returns summary information about the connector.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeConnectorOutcome DescribeConnector(const Model::DescribeConnectorRequest& request) const; /** * A Callable wrapper for DescribeConnector that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeConnectorOutcomeCallable DescribeConnectorCallable(const DescribeConnectorRequestT& request) const { return SubmitCallable(&KafkaConnectClient::DescribeConnector, request); } /** * An Async wrapper for DescribeConnector that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeConnectorAsync(const DescribeConnectorRequestT& request, const DescribeConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::DescribeConnector, request, handler, context); } /** *

A summary description of the custom plugin.

See Also:

AWS * API Reference

*/ virtual Model::DescribeCustomPluginOutcome DescribeCustomPlugin(const Model::DescribeCustomPluginRequest& request) const; /** * A Callable wrapper for DescribeCustomPlugin that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeCustomPluginOutcomeCallable DescribeCustomPluginCallable(const DescribeCustomPluginRequestT& request) const { return SubmitCallable(&KafkaConnectClient::DescribeCustomPlugin, request); } /** * An Async wrapper for DescribeCustomPlugin that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeCustomPluginAsync(const DescribeCustomPluginRequestT& request, const DescribeCustomPluginResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::DescribeCustomPlugin, request, handler, context); } /** *

Returns information about a worker configuration.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeWorkerConfigurationOutcome DescribeWorkerConfiguration(const Model::DescribeWorkerConfigurationRequest& request) const; /** * A Callable wrapper for DescribeWorkerConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeWorkerConfigurationOutcomeCallable DescribeWorkerConfigurationCallable(const DescribeWorkerConfigurationRequestT& request) const { return SubmitCallable(&KafkaConnectClient::DescribeWorkerConfiguration, request); } /** * An Async wrapper for DescribeWorkerConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeWorkerConfigurationAsync(const DescribeWorkerConfigurationRequestT& request, const DescribeWorkerConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::DescribeWorkerConfiguration, request, handler, context); } /** *

Returns a list of all the connectors in this account and Region. The list is * limited to connectors whose name starts with the specified prefix. The response * also includes a description of each of the listed connectors.

See * Also:

AWS * API Reference

*/ virtual Model::ListConnectorsOutcome ListConnectors(const Model::ListConnectorsRequest& request) const; /** * A Callable wrapper for ListConnectors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConnectorsOutcomeCallable ListConnectorsCallable(const ListConnectorsRequestT& request) const { return SubmitCallable(&KafkaConnectClient::ListConnectors, request); } /** * An Async wrapper for ListConnectors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConnectorsAsync(const ListConnectorsRequestT& request, const ListConnectorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::ListConnectors, request, handler, context); } /** *

Returns a list of all of the custom plugins in this account and * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListCustomPluginsOutcome ListCustomPlugins(const Model::ListCustomPluginsRequest& request) const; /** * A Callable wrapper for ListCustomPlugins that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListCustomPluginsOutcomeCallable ListCustomPluginsCallable(const ListCustomPluginsRequestT& request) const { return SubmitCallable(&KafkaConnectClient::ListCustomPlugins, request); } /** * An Async wrapper for ListCustomPlugins that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListCustomPluginsAsync(const ListCustomPluginsRequestT& request, const ListCustomPluginsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::ListCustomPlugins, request, handler, context); } /** *

Returns a list of all of the worker configurations in this account and * Region.

See Also:

AWS * API Reference

*/ virtual Model::ListWorkerConfigurationsOutcome ListWorkerConfigurations(const Model::ListWorkerConfigurationsRequest& request) const; /** * A Callable wrapper for ListWorkerConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWorkerConfigurationsOutcomeCallable ListWorkerConfigurationsCallable(const ListWorkerConfigurationsRequestT& request) const { return SubmitCallable(&KafkaConnectClient::ListWorkerConfigurations, request); } /** * An Async wrapper for ListWorkerConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWorkerConfigurationsAsync(const ListWorkerConfigurationsRequestT& request, const ListWorkerConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::ListWorkerConfigurations, request, handler, context); } /** *

Updates the specified connector.

See Also:

AWS * API Reference

*/ virtual Model::UpdateConnectorOutcome UpdateConnector(const Model::UpdateConnectorRequest& request) const; /** * A Callable wrapper for UpdateConnector that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateConnectorOutcomeCallable UpdateConnectorCallable(const UpdateConnectorRequestT& request) const { return SubmitCallable(&KafkaConnectClient::UpdateConnector, request); } /** * An Async wrapper for UpdateConnector that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateConnectorAsync(const UpdateConnectorRequestT& request, const UpdateConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KafkaConnectClient::UpdateConnector, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const KafkaConnectClientConfiguration& clientConfiguration); KafkaConnectClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace KafkaConnect } // namespace Aws