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

Use the Amazon OpenSearch Ingestion API to create and manage ingestion * pipelines. OpenSearch Ingestion is a fully managed data collector that delivers * real-time log and trace data to OpenSearch Service domains. For more * information, see Getting * data into your cluster using OpenSearch Ingestion.

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

Creates an OpenSearch Ingestion pipeline. For more information, see Creating * Amazon OpenSearch Ingestion pipelines.

See Also:

AWS * API Reference

*/ virtual Model::CreatePipelineOutcome CreatePipeline(const Model::CreatePipelineRequest& request) const; /** * A Callable wrapper for CreatePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePipelineOutcomeCallable CreatePipelineCallable(const CreatePipelineRequestT& request) const { return SubmitCallable(&OSISClient::CreatePipeline, request); } /** * An Async wrapper for CreatePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePipelineAsync(const CreatePipelineRequestT& request, const CreatePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::CreatePipeline, request, handler, context); } /** *

Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting * Amazon OpenSearch Ingestion pipelines.

See Also:

AWS * API Reference

*/ virtual Model::DeletePipelineOutcome DeletePipeline(const Model::DeletePipelineRequest& request) const; /** * A Callable wrapper for DeletePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeletePipelineOutcomeCallable DeletePipelineCallable(const DeletePipelineRequestT& request) const { return SubmitCallable(&OSISClient::DeletePipeline, request); } /** * An Async wrapper for DeletePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeletePipelineAsync(const DeletePipelineRequestT& request, const DeletePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::DeletePipeline, request, handler, context); } /** *

Retrieves information about an OpenSearch Ingestion pipeline.

See * Also:

AWS * API Reference

*/ virtual Model::GetPipelineOutcome GetPipeline(const Model::GetPipelineRequest& request) const; /** * A Callable wrapper for GetPipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetPipelineOutcomeCallable GetPipelineCallable(const GetPipelineRequestT& request) const { return SubmitCallable(&OSISClient::GetPipeline, request); } /** * An Async wrapper for GetPipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetPipelineAsync(const GetPipelineRequestT& request, const GetPipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::GetPipeline, request, handler, context); } /** *

Retrieves information about a specific blueprint for OpenSearch Ingestion. * Blueprints are templates for the configuration needed for a * CreatePipeline request. For more information, see Using * blueprints to create a pipeline.

See Also:

AWS * API Reference

*/ virtual Model::GetPipelineBlueprintOutcome GetPipelineBlueprint(const Model::GetPipelineBlueprintRequest& request) const; /** * A Callable wrapper for GetPipelineBlueprint that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetPipelineBlueprintOutcomeCallable GetPipelineBlueprintCallable(const GetPipelineBlueprintRequestT& request) const { return SubmitCallable(&OSISClient::GetPipelineBlueprint, request); } /** * An Async wrapper for GetPipelineBlueprint that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetPipelineBlueprintAsync(const GetPipelineBlueprintRequestT& request, const GetPipelineBlueprintResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::GetPipelineBlueprint, request, handler, context); } /** *

Returns progress information for the current change happening on an * OpenSearch Ingestion pipeline. Currently, this operation only returns * information when a pipeline is being created.

For more information, see * Tracking * the status of pipeline creation.

See Also:

AWS * API Reference

*/ virtual Model::GetPipelineChangeProgressOutcome GetPipelineChangeProgress(const Model::GetPipelineChangeProgressRequest& request) const; /** * A Callable wrapper for GetPipelineChangeProgress that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetPipelineChangeProgressOutcomeCallable GetPipelineChangeProgressCallable(const GetPipelineChangeProgressRequestT& request) const { return SubmitCallable(&OSISClient::GetPipelineChangeProgress, request); } /** * An Async wrapper for GetPipelineChangeProgress that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetPipelineChangeProgressAsync(const GetPipelineChangeProgressRequestT& request, const GetPipelineChangeProgressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::GetPipelineChangeProgress, request, handler, context); } /** *

Retrieves a list of all available blueprints for Data Prepper. For more * information, see Using * blueprints to create a pipeline.

See Also:

AWS * API Reference

*/ virtual Model::ListPipelineBlueprintsOutcome ListPipelineBlueprints(const Model::ListPipelineBlueprintsRequest& request) const; /** * A Callable wrapper for ListPipelineBlueprints that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPipelineBlueprintsOutcomeCallable ListPipelineBlueprintsCallable(const ListPipelineBlueprintsRequestT& request) const { return SubmitCallable(&OSISClient::ListPipelineBlueprints, request); } /** * An Async wrapper for ListPipelineBlueprints that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPipelineBlueprintsAsync(const ListPipelineBlueprintsRequestT& request, const ListPipelineBlueprintsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::ListPipelineBlueprints, request, handler, context); } /** *

Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services * account and Region. For more information, see Viewing * Amazon OpenSearch Ingestion pipelines.

See Also:

AWS * API Reference

*/ virtual Model::ListPipelinesOutcome ListPipelines(const Model::ListPipelinesRequest& request) const; /** * A Callable wrapper for ListPipelines that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPipelinesOutcomeCallable ListPipelinesCallable(const ListPipelinesRequestT& request) const { return SubmitCallable(&OSISClient::ListPipelines, request); } /** * An Async wrapper for ListPipelines that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPipelinesAsync(const ListPipelinesRequestT& request, const ListPipelinesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::ListPipelines, request, handler, context); } /** *

Lists all resource tags associated with an OpenSearch Ingestion pipeline. For * more information, see Tagging * Amazon OpenSearch Ingestion pipelines.

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(&OSISClient::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(&OSISClient::ListTagsForResource, request, handler, context); } /** *

Starts an OpenSearch Ingestion pipeline. For more information, see Starting * an OpenSearch Ingestion pipeline.

See Also:

AWS * API Reference

*/ virtual Model::StartPipelineOutcome StartPipeline(const Model::StartPipelineRequest& request) const; /** * A Callable wrapper for StartPipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartPipelineOutcomeCallable StartPipelineCallable(const StartPipelineRequestT& request) const { return SubmitCallable(&OSISClient::StartPipeline, request); } /** * An Async wrapper for StartPipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartPipelineAsync(const StartPipelineRequestT& request, const StartPipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::StartPipeline, request, handler, context); } /** *

Stops an OpenSearch Ingestion pipeline. For more information, see Stopping * an OpenSearch Ingestion pipeline.

See Also:

AWS * API Reference

*/ virtual Model::StopPipelineOutcome StopPipeline(const Model::StopPipelineRequest& request) const; /** * A Callable wrapper for StopPipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopPipelineOutcomeCallable StopPipelineCallable(const StopPipelineRequestT& request) const { return SubmitCallable(&OSISClient::StopPipeline, request); } /** * An Async wrapper for StopPipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopPipelineAsync(const StopPipelineRequestT& request, const StopPipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::StopPipeline, request, handler, context); } /** *

Tags an OpenSearch Ingestion pipeline. For more information, see Tagging * Amazon OpenSearch Ingestion pipelines.

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(&OSISClient::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(&OSISClient::TagResource, request, handler, context); } /** *

Removes one or more tags from an OpenSearch Ingestion pipeline. For more * information, see Tagging * Amazon OpenSearch Ingestion pipelines.

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(&OSISClient::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(&OSISClient::UntagResource, request, handler, context); } /** *

Updates an OpenSearch Ingestion pipeline. For more information, see Updating * Amazon OpenSearch Ingestion pipelines.

See Also:

AWS * API Reference

*/ virtual Model::UpdatePipelineOutcome UpdatePipeline(const Model::UpdatePipelineRequest& request) const; /** * A Callable wrapper for UpdatePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdatePipelineOutcomeCallable UpdatePipelineCallable(const UpdatePipelineRequestT& request) const { return SubmitCallable(&OSISClient::UpdatePipeline, request); } /** * An Async wrapper for UpdatePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdatePipelineAsync(const UpdatePipelineRequestT& request, const UpdatePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::UpdatePipeline, request, handler, context); } /** *

Checks whether an OpenSearch Ingestion pipeline configuration is valid prior * to creation. For more information, see Creating * Amazon OpenSearch Ingestion pipelines.

See Also:

AWS * API Reference

*/ virtual Model::ValidatePipelineOutcome ValidatePipeline(const Model::ValidatePipelineRequest& request) const; /** * A Callable wrapper for ValidatePipeline that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ValidatePipelineOutcomeCallable ValidatePipelineCallable(const ValidatePipelineRequestT& request) const { return SubmitCallable(&OSISClient::ValidatePipeline, request); } /** * An Async wrapper for ValidatePipeline that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ValidatePipelineAsync(const ValidatePipelineRequestT& request, const ValidatePipelineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&OSISClient::ValidatePipeline, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const OSISClientConfiguration& clientConfiguration); OSISClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace OSIS } // namespace Aws