/**
* 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 RedshiftServerless
{
/**
* This is an interface reference for Amazon Redshift Serverless. It contains
* documentation for one of the programming or command line interfaces you can use
* to manage Amazon Redshift Serverless.
Amazon Redshift Serverless
* automatically provisions data warehouse capacity and intelligently scales the
* underlying resources based on workload demands. Amazon Redshift Serverless
* adjusts capacity in seconds to deliver consistently high performance and
* simplified operations for even the most demanding and volatile workloads. Amazon
* Redshift Serverless lets you focus on using your data to acquire new insights
* for your business and customers.
To learn more about Amazon Redshift
* Serverless, see What
* is Amazon Redshift Serverless.
*/
class AWS_REDSHIFTSERVERLESS_API RedshiftServerlessClient : 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 RedshiftServerlessClientConfiguration ClientConfigurationType;
typedef RedshiftServerlessEndpointProvider 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.
*/
RedshiftServerlessClient(const Aws::RedshiftServerless::RedshiftServerlessClientConfiguration& clientConfiguration = Aws::RedshiftServerless::RedshiftServerlessClientConfiguration(),
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.
*/
RedshiftServerlessClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::RedshiftServerless::RedshiftServerlessClientConfiguration& clientConfiguration = Aws::RedshiftServerless::RedshiftServerlessClientConfiguration());
/**
* 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
*/
RedshiftServerlessClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::RedshiftServerless::RedshiftServerlessClientConfiguration& clientConfiguration = Aws::RedshiftServerless::RedshiftServerlessClientConfiguration());
/* 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.
*/
RedshiftServerlessClient(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.
*/
RedshiftServerlessClient(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
*/
RedshiftServerlessClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~RedshiftServerlessClient();
/**
* Converts a recovery point to a snapshot. For more information about recovery
* points and snapshots, see Working
* with snapshots and recovery points.
See Also:
AWS
* API Reference
*/
virtual Model::ConvertRecoveryPointToSnapshotOutcome ConvertRecoveryPointToSnapshot(const Model::ConvertRecoveryPointToSnapshotRequest& request) const;
/**
* A Callable wrapper for ConvertRecoveryPointToSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ConvertRecoveryPointToSnapshotOutcomeCallable ConvertRecoveryPointToSnapshotCallable(const ConvertRecoveryPointToSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ConvertRecoveryPointToSnapshot, request);
}
/**
* An Async wrapper for ConvertRecoveryPointToSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ConvertRecoveryPointToSnapshotAsync(const ConvertRecoveryPointToSnapshotRequestT& request, const ConvertRecoveryPointToSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ConvertRecoveryPointToSnapshot, request, handler, context);
}
/**
* Creates an Amazon Redshift Serverless managed VPC endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateEndpointAccessOutcome CreateEndpointAccess(const Model::CreateEndpointAccessRequest& request) const;
/**
* A Callable wrapper for CreateEndpointAccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateEndpointAccessOutcomeCallable CreateEndpointAccessCallable(const CreateEndpointAccessRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::CreateEndpointAccess, request);
}
/**
* An Async wrapper for CreateEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateEndpointAccessAsync(const CreateEndpointAccessRequestT& request, const CreateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::CreateEndpointAccess, request, handler, context);
}
/**
* Creates a namespace in Amazon Redshift Serverless.
See Also:
* AWS
* API Reference
*/
virtual Model::CreateNamespaceOutcome CreateNamespace(const Model::CreateNamespaceRequest& request) const;
/**
* A Callable wrapper for CreateNamespace that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateNamespaceOutcomeCallable CreateNamespaceCallable(const CreateNamespaceRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::CreateNamespace, request);
}
/**
* An Async wrapper for CreateNamespace that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateNamespaceAsync(const CreateNamespaceRequestT& request, const CreateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::CreateNamespace, request, handler, context);
}
/**
* Creates a snapshot of all databases in a namespace. For more information
* about snapshots, see
* Working with snapshots and recovery points.
See Also:
AWS
* API Reference
*/
virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const;
/**
* A Callable wrapper for CreateSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const CreateSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::CreateSnapshot, request);
}
/**
* An Async wrapper for CreateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSnapshotAsync(const CreateSnapshotRequestT& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::CreateSnapshot, request, handler, context);
}
/**
* Creates a usage limit for a specified Amazon Redshift Serverless usage type.
* The usage limit is identified by the returned usage limit identifier.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateUsageLimitOutcome CreateUsageLimit(const Model::CreateUsageLimitRequest& request) const;
/**
* A Callable wrapper for CreateUsageLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateUsageLimitOutcomeCallable CreateUsageLimitCallable(const CreateUsageLimitRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::CreateUsageLimit, request);
}
/**
* An Async wrapper for CreateUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateUsageLimitAsync(const CreateUsageLimitRequestT& request, const CreateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::CreateUsageLimit, request, handler, context);
}
/**
* Creates an workgroup in Amazon Redshift Serverless.
See Also:
* AWS
* API Reference
*/
virtual Model::CreateWorkgroupOutcome CreateWorkgroup(const Model::CreateWorkgroupRequest& request) const;
/**
* A Callable wrapper for CreateWorkgroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateWorkgroupOutcomeCallable CreateWorkgroupCallable(const CreateWorkgroupRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::CreateWorkgroup, request);
}
/**
* An Async wrapper for CreateWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateWorkgroupAsync(const CreateWorkgroupRequestT& request, const CreateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::CreateWorkgroup, request, handler, context);
}
/**
* Deletes an Amazon Redshift Serverless managed VPC endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteEndpointAccessOutcome DeleteEndpointAccess(const Model::DeleteEndpointAccessRequest& request) const;
/**
* A Callable wrapper for DeleteEndpointAccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEndpointAccessOutcomeCallable DeleteEndpointAccessCallable(const DeleteEndpointAccessRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteEndpointAccess, request);
}
/**
* An Async wrapper for DeleteEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEndpointAccessAsync(const DeleteEndpointAccessRequestT& request, const DeleteEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteEndpointAccess, request, handler, context);
}
/**
* Deletes a namespace from Amazon Redshift Serverless. Before you delete the
* namespace, you can create a final snapshot that has all of the data within the
* namespace.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteNamespaceOutcome DeleteNamespace(const Model::DeleteNamespaceRequest& request) const;
/**
* A Callable wrapper for DeleteNamespace that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteNamespaceOutcomeCallable DeleteNamespaceCallable(const DeleteNamespaceRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteNamespace, request);
}
/**
* An Async wrapper for DeleteNamespace that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteNamespaceAsync(const DeleteNamespaceRequestT& request, const DeleteNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteNamespace, request, handler, context);
}
/**
* Deletes the specified resource policy.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteResourcePolicyOutcome DeleteResourcePolicy(const Model::DeleteResourcePolicyRequest& request) const;
/**
* A Callable wrapper for DeleteResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const DeleteResourcePolicyRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteResourcePolicy, request);
}
/**
* An Async wrapper for DeleteResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteResourcePolicyAsync(const DeleteResourcePolicyRequestT& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteResourcePolicy, request, handler, context);
}
/**
* Deletes a snapshot from Amazon Redshift Serverless.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteSnapshotOutcome DeleteSnapshot(const Model::DeleteSnapshotRequest& request) const;
/**
* A Callable wrapper for DeleteSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const DeleteSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteSnapshot, request);
}
/**
* An Async wrapper for DeleteSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteSnapshotAsync(const DeleteSnapshotRequestT& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteSnapshot, request, handler, context);
}
/**
* Deletes a usage limit from Amazon Redshift Serverless.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteUsageLimitOutcome DeleteUsageLimit(const Model::DeleteUsageLimitRequest& request) const;
/**
* A Callable wrapper for DeleteUsageLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteUsageLimitOutcomeCallable DeleteUsageLimitCallable(const DeleteUsageLimitRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteUsageLimit, request);
}
/**
* An Async wrapper for DeleteUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteUsageLimitAsync(const DeleteUsageLimitRequestT& request, const DeleteUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteUsageLimit, request, handler, context);
}
/**
* Deletes a workgroup.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteWorkgroupOutcome DeleteWorkgroup(const Model::DeleteWorkgroupRequest& request) const;
/**
* A Callable wrapper for DeleteWorkgroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteWorkgroupOutcomeCallable DeleteWorkgroupCallable(const DeleteWorkgroupRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::DeleteWorkgroup, request);
}
/**
* An Async wrapper for DeleteWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteWorkgroupAsync(const DeleteWorkgroupRequestT& request, const DeleteWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::DeleteWorkgroup, request, handler, context);
}
/**
* Returns a database user name and temporary password with temporary
* authorization to log in to Amazon Redshift Serverless.
By default, the
* temporary credentials expire in 900 seconds. You can optionally specify a
* duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).
* <p>The Identity and Access Management (IAM) user or role that
* runs GetCredentials must have an IAM policy attached that allows access to all
* necessary actions and resources.</p> <p>If the
* <code>DbName</code> parameter is specified, the IAM policy must
* allow access to the resource dbname for the specified database name.</p>
*
See Also:
AWS
* API Reference
*/
virtual Model::GetCredentialsOutcome GetCredentials(const Model::GetCredentialsRequest& request) const;
/**
* A Callable wrapper for GetCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCredentialsOutcomeCallable GetCredentialsCallable(const GetCredentialsRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetCredentials, request);
}
/**
* An Async wrapper for GetCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCredentialsAsync(const GetCredentialsRequestT& request, const GetCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetCredentials, request, handler, context);
}
/**
* Returns information, such as the name, about a VPC endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetEndpointAccessOutcome GetEndpointAccess(const Model::GetEndpointAccessRequest& request) const;
/**
* A Callable wrapper for GetEndpointAccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetEndpointAccessOutcomeCallable GetEndpointAccessCallable(const GetEndpointAccessRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetEndpointAccess, request);
}
/**
* An Async wrapper for GetEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetEndpointAccessAsync(const GetEndpointAccessRequestT& request, const GetEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetEndpointAccess, request, handler, context);
}
/**
* Returns information about a namespace in Amazon Redshift
* Serverless.
See Also:
AWS
* API Reference
*/
virtual Model::GetNamespaceOutcome GetNamespace(const Model::GetNamespaceRequest& request) const;
/**
* A Callable wrapper for GetNamespace that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetNamespaceOutcomeCallable GetNamespaceCallable(const GetNamespaceRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetNamespace, request);
}
/**
* An Async wrapper for GetNamespace that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetNamespaceAsync(const GetNamespaceRequestT& request, const GetNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetNamespace, request, handler, context);
}
/**
* Returns information about a recovery point.
See Also:
AWS
* API Reference
*/
virtual Model::GetRecoveryPointOutcome GetRecoveryPoint(const Model::GetRecoveryPointRequest& request) const;
/**
* A Callable wrapper for GetRecoveryPoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRecoveryPointOutcomeCallable GetRecoveryPointCallable(const GetRecoveryPointRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetRecoveryPoint, request);
}
/**
* An Async wrapper for GetRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRecoveryPointAsync(const GetRecoveryPointRequestT& request, const GetRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetRecoveryPoint, request, handler, context);
}
/**
* Returns a resource policy.
See Also:
AWS
* API Reference
*/
virtual Model::GetResourcePolicyOutcome GetResourcePolicy(const Model::GetResourcePolicyRequest& request) const;
/**
* A Callable wrapper for GetResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const GetResourcePolicyRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetResourcePolicy, request);
}
/**
* An Async wrapper for GetResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetResourcePolicyAsync(const GetResourcePolicyRequestT& request, const GetResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetResourcePolicy, request, handler, context);
}
/**
* Returns information about a specific snapshot.
See Also:
AWS
* API Reference
*/
virtual Model::GetSnapshotOutcome GetSnapshot(const Model::GetSnapshotRequest& request) const;
/**
* A Callable wrapper for GetSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetSnapshotOutcomeCallable GetSnapshotCallable(const GetSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetSnapshot, request);
}
/**
* An Async wrapper for GetSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetSnapshotAsync(const GetSnapshotRequestT& request, const GetSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetSnapshot, request, handler, context);
}
/**
* Returns information about a TableRestoreStatus
* object.
See Also:
AWS
* API Reference
*/
virtual Model::GetTableRestoreStatusOutcome GetTableRestoreStatus(const Model::GetTableRestoreStatusRequest& request) const;
/**
* A Callable wrapper for GetTableRestoreStatus that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTableRestoreStatusOutcomeCallable GetTableRestoreStatusCallable(const GetTableRestoreStatusRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetTableRestoreStatus, request);
}
/**
* An Async wrapper for GetTableRestoreStatus that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTableRestoreStatusAsync(const GetTableRestoreStatusRequestT& request, const GetTableRestoreStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetTableRestoreStatus, request, handler, context);
}
/**
* Returns information about a usage limit.
See Also:
AWS
* API Reference
*/
virtual Model::GetUsageLimitOutcome GetUsageLimit(const Model::GetUsageLimitRequest& request) const;
/**
* A Callable wrapper for GetUsageLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetUsageLimitOutcomeCallable GetUsageLimitCallable(const GetUsageLimitRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetUsageLimit, request);
}
/**
* An Async wrapper for GetUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetUsageLimitAsync(const GetUsageLimitRequestT& request, const GetUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetUsageLimit, request, handler, context);
}
/**
* Returns information about a specific workgroup.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkgroupOutcome GetWorkgroup(const Model::GetWorkgroupRequest& request) const;
/**
* A Callable wrapper for GetWorkgroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkgroupOutcomeCallable GetWorkgroupCallable(const GetWorkgroupRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::GetWorkgroup, request);
}
/**
* An Async wrapper for GetWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkgroupAsync(const GetWorkgroupRequestT& request, const GetWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::GetWorkgroup, request, handler, context);
}
/**
* Returns an array of EndpointAccess
objects and relevant
* information.
See Also:
AWS
* API Reference
*/
virtual Model::ListEndpointAccessOutcome ListEndpointAccess(const Model::ListEndpointAccessRequest& request) const;
/**
* A Callable wrapper for ListEndpointAccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEndpointAccessOutcomeCallable ListEndpointAccessCallable(const ListEndpointAccessRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListEndpointAccess, request);
}
/**
* An Async wrapper for ListEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEndpointAccessAsync(const ListEndpointAccessRequestT& request, const ListEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListEndpointAccess, request, handler, context);
}
/**
* Returns information about a list of specified namespaces.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListNamespacesOutcome ListNamespaces(const Model::ListNamespacesRequest& request) const;
/**
* A Callable wrapper for ListNamespaces that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListNamespacesOutcomeCallable ListNamespacesCallable(const ListNamespacesRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListNamespaces, request);
}
/**
* An Async wrapper for ListNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListNamespacesAsync(const ListNamespacesRequestT& request, const ListNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListNamespaces, request, handler, context);
}
/**
* Returns an array of recovery points.
See Also:
AWS
* API Reference
*/
virtual Model::ListRecoveryPointsOutcome ListRecoveryPoints(const Model::ListRecoveryPointsRequest& request) const;
/**
* A Callable wrapper for ListRecoveryPoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRecoveryPointsOutcomeCallable ListRecoveryPointsCallable(const ListRecoveryPointsRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListRecoveryPoints, request);
}
/**
* An Async wrapper for ListRecoveryPoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRecoveryPointsAsync(const ListRecoveryPointsRequestT& request, const ListRecoveryPointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListRecoveryPoints, request, handler, context);
}
/**
* Returns a list of snapshots.
See Also:
AWS
* API Reference
*/
virtual Model::ListSnapshotsOutcome ListSnapshots(const Model::ListSnapshotsRequest& request) const;
/**
* A Callable wrapper for ListSnapshots that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListSnapshotsOutcomeCallable ListSnapshotsCallable(const ListSnapshotsRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListSnapshots, request);
}
/**
* An Async wrapper for ListSnapshots that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListSnapshotsAsync(const ListSnapshotsRequestT& request, const ListSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListSnapshots, request, handler, context);
}
/**
* Returns information about an array of TableRestoreStatus
* objects.
See Also:
AWS
* API Reference
*/
virtual Model::ListTableRestoreStatusOutcome ListTableRestoreStatus(const Model::ListTableRestoreStatusRequest& request) const;
/**
* A Callable wrapper for ListTableRestoreStatus that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTableRestoreStatusOutcomeCallable ListTableRestoreStatusCallable(const ListTableRestoreStatusRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListTableRestoreStatus, request);
}
/**
* An Async wrapper for ListTableRestoreStatus that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTableRestoreStatusAsync(const ListTableRestoreStatusRequestT& request, const ListTableRestoreStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListTableRestoreStatus, request, handler, context);
}
/**
* Lists the tags assigned to a 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(&RedshiftServerlessClient::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(&RedshiftServerlessClient::ListTagsForResource, request, handler, context);
}
/**
* Lists all usage limits within Amazon Redshift Serverless.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListUsageLimitsOutcome ListUsageLimits(const Model::ListUsageLimitsRequest& request) const;
/**
* A Callable wrapper for ListUsageLimits that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListUsageLimitsOutcomeCallable ListUsageLimitsCallable(const ListUsageLimitsRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListUsageLimits, request);
}
/**
* An Async wrapper for ListUsageLimits that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListUsageLimitsAsync(const ListUsageLimitsRequestT& request, const ListUsageLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListUsageLimits, request, handler, context);
}
/**
* Returns information about a list of specified workgroups.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListWorkgroupsOutcome ListWorkgroups(const Model::ListWorkgroupsRequest& request) const;
/**
* A Callable wrapper for ListWorkgroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListWorkgroupsOutcomeCallable ListWorkgroupsCallable(const ListWorkgroupsRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::ListWorkgroups, request);
}
/**
* An Async wrapper for ListWorkgroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListWorkgroupsAsync(const ListWorkgroupsRequestT& request, const ListWorkgroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::ListWorkgroups, request, handler, context);
}
/**
* Creates or updates a resource policy. Currently, you can use policies to
* share snapshots across Amazon Web Services accounts.
See Also:
* AWS
* API Reference
*/
virtual Model::PutResourcePolicyOutcome PutResourcePolicy(const Model::PutResourcePolicyRequest& request) const;
/**
* A Callable wrapper for PutResourcePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const PutResourcePolicyRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::PutResourcePolicy, request);
}
/**
* An Async wrapper for PutResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutResourcePolicyAsync(const PutResourcePolicyRequestT& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::PutResourcePolicy, request, handler, context);
}
/**
* Restore the data from a recovery point.
See Also:
AWS
* API Reference
*/
virtual Model::RestoreFromRecoveryPointOutcome RestoreFromRecoveryPoint(const Model::RestoreFromRecoveryPointRequest& request) const;
/**
* A Callable wrapper for RestoreFromRecoveryPoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RestoreFromRecoveryPointOutcomeCallable RestoreFromRecoveryPointCallable(const RestoreFromRecoveryPointRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::RestoreFromRecoveryPoint, request);
}
/**
* An Async wrapper for RestoreFromRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RestoreFromRecoveryPointAsync(const RestoreFromRecoveryPointRequestT& request, const RestoreFromRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::RestoreFromRecoveryPoint, request, handler, context);
}
/**
* Restores a namespace from a snapshot.
See Also:
AWS
* API Reference
*/
virtual Model::RestoreFromSnapshotOutcome RestoreFromSnapshot(const Model::RestoreFromSnapshotRequest& request) const;
/**
* A Callable wrapper for RestoreFromSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RestoreFromSnapshotOutcomeCallable RestoreFromSnapshotCallable(const RestoreFromSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::RestoreFromSnapshot, request);
}
/**
* An Async wrapper for RestoreFromSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RestoreFromSnapshotAsync(const RestoreFromSnapshotRequestT& request, const RestoreFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::RestoreFromSnapshot, request, handler, context);
}
/**
* Restores a table from a snapshot to your Amazon Redshift Serverless instance.
* You can't use this operation to restore tables with interleaved
* sort keys.
See Also:
AWS
* API Reference
*/
virtual Model::RestoreTableFromSnapshotOutcome RestoreTableFromSnapshot(const Model::RestoreTableFromSnapshotRequest& request) const;
/**
* A Callable wrapper for RestoreTableFromSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RestoreTableFromSnapshotOutcomeCallable RestoreTableFromSnapshotCallable(const RestoreTableFromSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::RestoreTableFromSnapshot, request);
}
/**
* An Async wrapper for RestoreTableFromSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RestoreTableFromSnapshotAsync(const RestoreTableFromSnapshotRequestT& request, const RestoreTableFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::RestoreTableFromSnapshot, request, handler, context);
}
/**
* Assigns one or more tags to a 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(&RedshiftServerlessClient::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(&RedshiftServerlessClient::TagResource, request, handler, context);
}
/**
* Removes a tag or set of tags from a resource.
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(&RedshiftServerlessClient::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(&RedshiftServerlessClient::UntagResource, request, handler, context);
}
/**
* Updates an Amazon Redshift Serverless managed endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateEndpointAccessOutcome UpdateEndpointAccess(const Model::UpdateEndpointAccessRequest& request) const;
/**
* A Callable wrapper for UpdateEndpointAccess that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateEndpointAccessOutcomeCallable UpdateEndpointAccessCallable(const UpdateEndpointAccessRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::UpdateEndpointAccess, request);
}
/**
* An Async wrapper for UpdateEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateEndpointAccessAsync(const UpdateEndpointAccessRequestT& request, const UpdateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::UpdateEndpointAccess, request, handler, context);
}
/**
* Updates a namespace with the specified settings. Unless required, you can't
* update multiple parameters in one request. For example, you must specify both
* adminUsername
and adminUserPassword
to update either
* field, but you can't update both kmsKeyId
and
* logExports
in a single request.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateNamespaceOutcome UpdateNamespace(const Model::UpdateNamespaceRequest& request) const;
/**
* A Callable wrapper for UpdateNamespace that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateNamespaceOutcomeCallable UpdateNamespaceCallable(const UpdateNamespaceRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::UpdateNamespace, request);
}
/**
* An Async wrapper for UpdateNamespace that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateNamespaceAsync(const UpdateNamespaceRequestT& request, const UpdateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::UpdateNamespace, request, handler, context);
}
/**
* Updates a snapshot.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateSnapshotOutcome UpdateSnapshot(const Model::UpdateSnapshotRequest& request) const;
/**
* A Callable wrapper for UpdateSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateSnapshotOutcomeCallable UpdateSnapshotCallable(const UpdateSnapshotRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::UpdateSnapshot, request);
}
/**
* An Async wrapper for UpdateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateSnapshotAsync(const UpdateSnapshotRequestT& request, const UpdateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::UpdateSnapshot, request, handler, context);
}
/**
* Update a usage limit in Amazon Redshift Serverless. You can't update the
* usage type or period of a usage limit.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateUsageLimitOutcome UpdateUsageLimit(const Model::UpdateUsageLimitRequest& request) const;
/**
* A Callable wrapper for UpdateUsageLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateUsageLimitOutcomeCallable UpdateUsageLimitCallable(const UpdateUsageLimitRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::UpdateUsageLimit, request);
}
/**
* An Async wrapper for UpdateUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateUsageLimitAsync(const UpdateUsageLimitRequestT& request, const UpdateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::UpdateUsageLimit, request, handler, context);
}
/**
* Updates a workgroup with the specified configuration settings. You can't
* update multiple parameters in one request. For example, you can update
* baseCapacity
or port
in a single request, but you
* can't update both in the same request.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateWorkgroupOutcome UpdateWorkgroup(const Model::UpdateWorkgroupRequest& request) const;
/**
* A Callable wrapper for UpdateWorkgroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateWorkgroupOutcomeCallable UpdateWorkgroupCallable(const UpdateWorkgroupRequestT& request) const
{
return SubmitCallable(&RedshiftServerlessClient::UpdateWorkgroup, request);
}
/**
* An Async wrapper for UpdateWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateWorkgroupAsync(const UpdateWorkgroupRequestT& request, const UpdateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&RedshiftServerlessClient::UpdateWorkgroup, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const RedshiftServerlessClientConfiguration& clientConfiguration);
RedshiftServerlessClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace RedshiftServerless
} // namespace Aws