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