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