/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace RedshiftServerless { namespace Model { class ConvertRecoveryPointToSnapshotRequest; class CreateEndpointAccessRequest; class CreateNamespaceRequest; class CreateSnapshotRequest; class CreateUsageLimitRequest; class CreateWorkgroupRequest; class DeleteEndpointAccessRequest; class DeleteNamespaceRequest; class DeleteResourcePolicyRequest; class DeleteSnapshotRequest; class DeleteUsageLimitRequest; class DeleteWorkgroupRequest; class GetCredentialsRequest; class GetEndpointAccessRequest; class GetNamespaceRequest; class GetRecoveryPointRequest; class GetResourcePolicyRequest; class GetSnapshotRequest; class GetUsageLimitRequest; class GetWorkgroupRequest; class ListEndpointAccessRequest; class ListNamespacesRequest; class ListRecoveryPointsRequest; class ListSnapshotsRequest; class ListTagsForResourceRequest; class ListUsageLimitsRequest; class ListWorkgroupsRequest; class PutResourcePolicyRequest; class RestoreFromRecoveryPointRequest; class RestoreFromSnapshotRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateEndpointAccessRequest; class UpdateNamespaceRequest; class UpdateSnapshotRequest; class UpdateUsageLimitRequest; class UpdateWorkgroupRequest; typedef Aws::Utils::Outcome ConvertRecoveryPointToSnapshotOutcome; typedef Aws::Utils::Outcome CreateEndpointAccessOutcome; typedef Aws::Utils::Outcome CreateNamespaceOutcome; typedef Aws::Utils::Outcome CreateSnapshotOutcome; typedef Aws::Utils::Outcome CreateUsageLimitOutcome; typedef Aws::Utils::Outcome CreateWorkgroupOutcome; typedef Aws::Utils::Outcome DeleteEndpointAccessOutcome; typedef Aws::Utils::Outcome DeleteNamespaceOutcome; typedef Aws::Utils::Outcome DeleteResourcePolicyOutcome; typedef Aws::Utils::Outcome DeleteSnapshotOutcome; typedef Aws::Utils::Outcome DeleteUsageLimitOutcome; typedef Aws::Utils::Outcome DeleteWorkgroupOutcome; typedef Aws::Utils::Outcome GetCredentialsOutcome; typedef Aws::Utils::Outcome GetEndpointAccessOutcome; typedef Aws::Utils::Outcome GetNamespaceOutcome; typedef Aws::Utils::Outcome GetRecoveryPointOutcome; typedef Aws::Utils::Outcome GetResourcePolicyOutcome; typedef Aws::Utils::Outcome GetSnapshotOutcome; typedef Aws::Utils::Outcome GetUsageLimitOutcome; typedef Aws::Utils::Outcome GetWorkgroupOutcome; typedef Aws::Utils::Outcome ListEndpointAccessOutcome; typedef Aws::Utils::Outcome ListNamespacesOutcome; typedef Aws::Utils::Outcome ListRecoveryPointsOutcome; typedef Aws::Utils::Outcome ListSnapshotsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListUsageLimitsOutcome; typedef Aws::Utils::Outcome ListWorkgroupsOutcome; typedef Aws::Utils::Outcome PutResourcePolicyOutcome; typedef Aws::Utils::Outcome RestoreFromRecoveryPointOutcome; typedef Aws::Utils::Outcome RestoreFromSnapshotOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateEndpointAccessOutcome; typedef Aws::Utils::Outcome UpdateNamespaceOutcome; typedef Aws::Utils::Outcome UpdateSnapshotOutcome; typedef Aws::Utils::Outcome UpdateUsageLimitOutcome; typedef Aws::Utils::Outcome UpdateWorkgroupOutcome; typedef std::future ConvertRecoveryPointToSnapshotOutcomeCallable; typedef std::future CreateEndpointAccessOutcomeCallable; typedef std::future CreateNamespaceOutcomeCallable; typedef std::future CreateSnapshotOutcomeCallable; typedef std::future CreateUsageLimitOutcomeCallable; typedef std::future CreateWorkgroupOutcomeCallable; typedef std::future DeleteEndpointAccessOutcomeCallable; typedef std::future DeleteNamespaceOutcomeCallable; typedef std::future DeleteResourcePolicyOutcomeCallable; typedef std::future DeleteSnapshotOutcomeCallable; typedef std::future DeleteUsageLimitOutcomeCallable; typedef std::future DeleteWorkgroupOutcomeCallable; typedef std::future GetCredentialsOutcomeCallable; typedef std::future GetEndpointAccessOutcomeCallable; typedef std::future GetNamespaceOutcomeCallable; typedef std::future GetRecoveryPointOutcomeCallable; typedef std::future GetResourcePolicyOutcomeCallable; typedef std::future GetSnapshotOutcomeCallable; typedef std::future GetUsageLimitOutcomeCallable; typedef std::future GetWorkgroupOutcomeCallable; typedef std::future ListEndpointAccessOutcomeCallable; typedef std::future ListNamespacesOutcomeCallable; typedef std::future ListRecoveryPointsOutcomeCallable; typedef std::future ListSnapshotsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListUsageLimitsOutcomeCallable; typedef std::future ListWorkgroupsOutcomeCallable; typedef std::future PutResourcePolicyOutcomeCallable; typedef std::future RestoreFromRecoveryPointOutcomeCallable; typedef std::future RestoreFromSnapshotOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateEndpointAccessOutcomeCallable; typedef std::future UpdateNamespaceOutcomeCallable; typedef std::future UpdateSnapshotOutcomeCallable; typedef std::future UpdateUsageLimitOutcomeCallable; typedef std::future UpdateWorkgroupOutcomeCallable; } // namespace Model class RedshiftServerlessClient; typedef std::function&) > ConvertRecoveryPointToSnapshotResponseReceivedHandler; typedef std::function&) > CreateEndpointAccessResponseReceivedHandler; typedef std::function&) > CreateNamespaceResponseReceivedHandler; typedef std::function&) > CreateSnapshotResponseReceivedHandler; typedef std::function&) > CreateUsageLimitResponseReceivedHandler; typedef std::function&) > CreateWorkgroupResponseReceivedHandler; typedef std::function&) > DeleteEndpointAccessResponseReceivedHandler; typedef std::function&) > DeleteNamespaceResponseReceivedHandler; typedef std::function&) > DeleteResourcePolicyResponseReceivedHandler; typedef std::function&) > DeleteSnapshotResponseReceivedHandler; typedef std::function&) > DeleteUsageLimitResponseReceivedHandler; typedef std::function&) > DeleteWorkgroupResponseReceivedHandler; typedef std::function&) > GetCredentialsResponseReceivedHandler; typedef std::function&) > GetEndpointAccessResponseReceivedHandler; typedef std::function&) > GetNamespaceResponseReceivedHandler; typedef std::function&) > GetRecoveryPointResponseReceivedHandler; typedef std::function&) > GetResourcePolicyResponseReceivedHandler; typedef std::function&) > GetSnapshotResponseReceivedHandler; typedef std::function&) > GetUsageLimitResponseReceivedHandler; typedef std::function&) > GetWorkgroupResponseReceivedHandler; typedef std::function&) > ListEndpointAccessResponseReceivedHandler; typedef std::function&) > ListNamespacesResponseReceivedHandler; typedef std::function&) > ListRecoveryPointsResponseReceivedHandler; typedef std::function&) > ListSnapshotsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListUsageLimitsResponseReceivedHandler; typedef std::function&) > ListWorkgroupsResponseReceivedHandler; typedef std::function&) > PutResourcePolicyResponseReceivedHandler; typedef std::function&) > RestoreFromRecoveryPointResponseReceivedHandler; typedef std::function&) > RestoreFromSnapshotResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateEndpointAccessResponseReceivedHandler; typedef std::function&) > UpdateNamespaceResponseReceivedHandler; typedef std::function&) > UpdateSnapshotResponseReceivedHandler; typedef std::function&) > UpdateUsageLimitResponseReceivedHandler; typedef std::function&) > UpdateWorkgroupResponseReceivedHandler; /** *

This is prerelease documentation for Amazon Redshift Serverless, which is * in preview release. The documentation and the feature are both subject to * change. We recommend that you use this feature only in test environments, and * not in production environments. For preview terms and conditions, see Beta * Service Participation in Amazon * Web Services Service Terms.

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: typedef Aws::Client::AWSJsonClient BASECLASS; /** * 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 = Aws::Client::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 = Aws::Client::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 = Aws::Client::ClientConfiguration()); 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. */ virtual Model::ConvertRecoveryPointToSnapshotOutcomeCallable ConvertRecoveryPointToSnapshotCallable(const Model::ConvertRecoveryPointToSnapshotRequest& request) const; /** * An Async wrapper for ConvertRecoveryPointToSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ConvertRecoveryPointToSnapshotAsync(const Model::ConvertRecoveryPointToSnapshotRequest& request, const ConvertRecoveryPointToSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::CreateEndpointAccessOutcomeCallable CreateEndpointAccessCallable(const Model::CreateEndpointAccessRequest& request) const; /** * An Async wrapper for CreateEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateEndpointAccessAsync(const Model::CreateEndpointAccessRequest& request, const CreateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::CreateNamespaceOutcomeCallable CreateNamespaceCallable(const Model::CreateNamespaceRequest& request) const; /** * An Async wrapper for CreateNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateNamespaceAsync(const Model::CreateNamespaceRequest& request, const CreateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const Model::CreateSnapshotRequest& request) const; /** * An Async wrapper for CreateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSnapshotAsync(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::CreateUsageLimitOutcomeCallable CreateUsageLimitCallable(const Model::CreateUsageLimitRequest& request) const; /** * An Async wrapper for CreateUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateUsageLimitAsync(const Model::CreateUsageLimitRequest& request, const CreateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::CreateWorkgroupOutcomeCallable CreateWorkgroupCallable(const Model::CreateWorkgroupRequest& request) const; /** * An Async wrapper for CreateWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateWorkgroupAsync(const Model::CreateWorkgroupRequest& request, const CreateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteEndpointAccessOutcomeCallable DeleteEndpointAccessCallable(const Model::DeleteEndpointAccessRequest& request) const; /** * An Async wrapper for DeleteEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteEndpointAccessAsync(const Model::DeleteEndpointAccessRequest& request, const DeleteEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteNamespaceOutcomeCallable DeleteNamespaceCallable(const Model::DeleteNamespaceRequest& request) const; /** * An Async wrapper for DeleteNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteNamespaceAsync(const Model::DeleteNamespaceRequest& request, const DeleteNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteResourcePolicyOutcomeCallable DeleteResourcePolicyCallable(const Model::DeleteResourcePolicyRequest& request) const; /** * An Async wrapper for DeleteResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteResourcePolicyAsync(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteSnapshotOutcomeCallable DeleteSnapshotCallable(const Model::DeleteSnapshotRequest& request) const; /** * An Async wrapper for DeleteSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSnapshotAsync(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteUsageLimitOutcomeCallable DeleteUsageLimitCallable(const Model::DeleteUsageLimitRequest& request) const; /** * An Async wrapper for DeleteUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteUsageLimitAsync(const Model::DeleteUsageLimitRequest& request, const DeleteUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::DeleteWorkgroupOutcomeCallable DeleteWorkgroupCallable(const Model::DeleteWorkgroupRequest& request) const; /** * An Async wrapper for DeleteWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteWorkgroupAsync(const Model::DeleteWorkgroupRequest& request, const DeleteWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetCredentialsOutcomeCallable GetCredentialsCallable(const Model::GetCredentialsRequest& request) const; /** * An Async wrapper for GetCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetCredentialsAsync(const Model::GetCredentialsRequest& request, const GetCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetEndpointAccessOutcomeCallable GetEndpointAccessCallable(const Model::GetEndpointAccessRequest& request) const; /** * An Async wrapper for GetEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetEndpointAccessAsync(const Model::GetEndpointAccessRequest& request, const GetEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetNamespaceOutcomeCallable GetNamespaceCallable(const Model::GetNamespaceRequest& request) const; /** * An Async wrapper for GetNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetNamespaceAsync(const Model::GetNamespaceRequest& request, const GetNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetRecoveryPointOutcomeCallable GetRecoveryPointCallable(const Model::GetRecoveryPointRequest& request) const; /** * An Async wrapper for GetRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRecoveryPointAsync(const Model::GetRecoveryPointRequest& request, const GetRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetResourcePolicyOutcomeCallable GetResourcePolicyCallable(const Model::GetResourcePolicyRequest& request) const; /** * An Async wrapper for GetResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetResourcePolicyAsync(const Model::GetResourcePolicyRequest& request, const GetResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetSnapshotOutcomeCallable GetSnapshotCallable(const Model::GetSnapshotRequest& request) const; /** * An Async wrapper for GetSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSnapshotAsync(const Model::GetSnapshotRequest& request, const GetSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetUsageLimitOutcomeCallable GetUsageLimitCallable(const Model::GetUsageLimitRequest& request) const; /** * An Async wrapper for GetUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetUsageLimitAsync(const Model::GetUsageLimitRequest& request, const GetUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::GetWorkgroupOutcomeCallable GetWorkgroupCallable(const Model::GetWorkgroupRequest& request) const; /** * An Async wrapper for GetWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetWorkgroupAsync(const Model::GetWorkgroupRequest& request, const GetWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListEndpointAccessOutcomeCallable ListEndpointAccessCallable(const Model::ListEndpointAccessRequest& request) const; /** * An Async wrapper for ListEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListEndpointAccessAsync(const Model::ListEndpointAccessRequest& request, const ListEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListNamespacesOutcomeCallable ListNamespacesCallable(const Model::ListNamespacesRequest& request) const; /** * An Async wrapper for ListNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListNamespacesAsync(const Model::ListNamespacesRequest& request, const ListNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListRecoveryPointsOutcomeCallable ListRecoveryPointsCallable(const Model::ListRecoveryPointsRequest& request) const; /** * An Async wrapper for ListRecoveryPoints that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRecoveryPointsAsync(const Model::ListRecoveryPointsRequest& request, const ListRecoveryPointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListSnapshotsOutcomeCallable ListSnapshotsCallable(const Model::ListSnapshotsRequest& request) const; /** * An Async wrapper for ListSnapshots that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSnapshotsAsync(const Model::ListSnapshotsRequest& request, const ListSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListUsageLimitsOutcomeCallable ListUsageLimitsCallable(const Model::ListUsageLimitsRequest& request) const; /** * An Async wrapper for ListUsageLimits that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListUsageLimitsAsync(const Model::ListUsageLimitsRequest& request, const ListUsageLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::ListWorkgroupsOutcomeCallable ListWorkgroupsCallable(const Model::ListWorkgroupsRequest& request) const; /** * An Async wrapper for ListWorkgroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListWorkgroupsAsync(const Model::ListWorkgroupsRequest& request, const ListWorkgroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::PutResourcePolicyOutcomeCallable PutResourcePolicyCallable(const Model::PutResourcePolicyRequest& request) const; /** * An Async wrapper for PutResourcePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutResourcePolicyAsync(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::RestoreFromRecoveryPointOutcomeCallable RestoreFromRecoveryPointCallable(const Model::RestoreFromRecoveryPointRequest& request) const; /** * An Async wrapper for RestoreFromRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RestoreFromRecoveryPointAsync(const Model::RestoreFromRecoveryPointRequest& request, const RestoreFromRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::RestoreFromSnapshotOutcomeCallable RestoreFromSnapshotCallable(const Model::RestoreFromSnapshotRequest& request) const; /** * An Async wrapper for RestoreFromSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RestoreFromSnapshotAsync(const Model::RestoreFromSnapshotRequest& request, const RestoreFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::UpdateEndpointAccessOutcomeCallable UpdateEndpointAccessCallable(const Model::UpdateEndpointAccessRequest& request) const; /** * An Async wrapper for UpdateEndpointAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateEndpointAccessAsync(const Model::UpdateEndpointAccessRequest& request, const UpdateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a namespace with the specified settings.

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. */ virtual Model::UpdateNamespaceOutcomeCallable UpdateNamespaceCallable(const Model::UpdateNamespaceRequest& request) const; /** * An Async wrapper for UpdateNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateNamespaceAsync(const Model::UpdateNamespaceRequest& request, const UpdateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::UpdateSnapshotOutcomeCallable UpdateSnapshotCallable(const Model::UpdateSnapshotRequest& request) const; /** * An Async wrapper for UpdateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSnapshotAsync(const Model::UpdateSnapshotRequest& request, const UpdateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. */ virtual Model::UpdateUsageLimitOutcomeCallable UpdateUsageLimitCallable(const Model::UpdateUsageLimitRequest& request) const; /** * An Async wrapper for UpdateUsageLimit that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateUsageLimitAsync(const Model::UpdateUsageLimitRequest& request, const UpdateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates a workgroup with the specified configuration settings.

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. */ virtual Model::UpdateWorkgroupOutcomeCallable UpdateWorkgroupCallable(const Model::UpdateWorkgroupRequest& request) const; /** * An Async wrapper for UpdateWorkgroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateWorkgroupAsync(const Model::UpdateWorkgroupRequest& request, const UpdateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void ConvertRecoveryPointToSnapshotAsyncHelper(const Model::ConvertRecoveryPointToSnapshotRequest& request, const ConvertRecoveryPointToSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateEndpointAccessAsyncHelper(const Model::CreateEndpointAccessRequest& request, const CreateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateNamespaceAsyncHelper(const Model::CreateNamespaceRequest& request, const CreateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSnapshotAsyncHelper(const Model::CreateSnapshotRequest& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateUsageLimitAsyncHelper(const Model::CreateUsageLimitRequest& request, const CreateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateWorkgroupAsyncHelper(const Model::CreateWorkgroupRequest& request, const CreateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteEndpointAccessAsyncHelper(const Model::DeleteEndpointAccessRequest& request, const DeleteEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteNamespaceAsyncHelper(const Model::DeleteNamespaceRequest& request, const DeleteNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteResourcePolicyAsyncHelper(const Model::DeleteResourcePolicyRequest& request, const DeleteResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSnapshotAsyncHelper(const Model::DeleteSnapshotRequest& request, const DeleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteUsageLimitAsyncHelper(const Model::DeleteUsageLimitRequest& request, const DeleteUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteWorkgroupAsyncHelper(const Model::DeleteWorkgroupRequest& request, const DeleteWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetCredentialsAsyncHelper(const Model::GetCredentialsRequest& request, const GetCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetEndpointAccessAsyncHelper(const Model::GetEndpointAccessRequest& request, const GetEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetNamespaceAsyncHelper(const Model::GetNamespaceRequest& request, const GetNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRecoveryPointAsyncHelper(const Model::GetRecoveryPointRequest& request, const GetRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetResourcePolicyAsyncHelper(const Model::GetResourcePolicyRequest& request, const GetResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSnapshotAsyncHelper(const Model::GetSnapshotRequest& request, const GetSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetUsageLimitAsyncHelper(const Model::GetUsageLimitRequest& request, const GetUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetWorkgroupAsyncHelper(const Model::GetWorkgroupRequest& request, const GetWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListEndpointAccessAsyncHelper(const Model::ListEndpointAccessRequest& request, const ListEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListNamespacesAsyncHelper(const Model::ListNamespacesRequest& request, const ListNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRecoveryPointsAsyncHelper(const Model::ListRecoveryPointsRequest& request, const ListRecoveryPointsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSnapshotsAsyncHelper(const Model::ListSnapshotsRequest& request, const ListSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListUsageLimitsAsyncHelper(const Model::ListUsageLimitsRequest& request, const ListUsageLimitsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListWorkgroupsAsyncHelper(const Model::ListWorkgroupsRequest& request, const ListWorkgroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutResourcePolicyAsyncHelper(const Model::PutResourcePolicyRequest& request, const PutResourcePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RestoreFromRecoveryPointAsyncHelper(const Model::RestoreFromRecoveryPointRequest& request, const RestoreFromRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RestoreFromSnapshotAsyncHelper(const Model::RestoreFromSnapshotRequest& request, const RestoreFromSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateEndpointAccessAsyncHelper(const Model::UpdateEndpointAccessRequest& request, const UpdateEndpointAccessResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateNamespaceAsyncHelper(const Model::UpdateNamespaceRequest& request, const UpdateNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSnapshotAsyncHelper(const Model::UpdateSnapshotRequest& request, const UpdateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateUsageLimitAsyncHelper(const Model::UpdateUsageLimitRequest& request, const UpdateUsageLimitResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateWorkgroupAsyncHelper(const Model::UpdateWorkgroupRequest& request, const UpdateWorkgroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace RedshiftServerless } // namespace Aws