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

Amazon Kinesis Data Analytics is a fully managed service that you can use to * process and analyze streaming data using Java, SQL, or Scala. The service * enables you to quickly author and run Java, SQL, or Scala code against streaming * sources to perform time series analytics, feed real-time dashboards, and create * real-time metrics.

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

Adds an Amazon CloudWatch log stream to monitor application configuration * errors.

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationCloudWatchLoggingOptionOutcome AddApplicationCloudWatchLoggingOption(const Model::AddApplicationCloudWatchLoggingOptionRequest& request) const; /** * A Callable wrapper for AddApplicationCloudWatchLoggingOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationCloudWatchLoggingOptionOutcomeCallable AddApplicationCloudWatchLoggingOptionCallable(const AddApplicationCloudWatchLoggingOptionRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationCloudWatchLoggingOption, request); } /** * An Async wrapper for AddApplicationCloudWatchLoggingOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationCloudWatchLoggingOptionAsync(const AddApplicationCloudWatchLoggingOptionRequestT& request, const AddApplicationCloudWatchLoggingOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationCloudWatchLoggingOption, request, handler, context); } /** *

Adds a streaming source to your SQL-based Kinesis Data Analytics * application.

You can add a streaming source when you create an * application, or you can use this operation to add a streaming source after you * create an application. For more information, see CreateApplication.

*

Any configuration update, including adding a streaming source using this * operation, results in a new version of the application. You can use the * DescribeApplication operation to find the current application version. *

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationInputOutcome AddApplicationInput(const Model::AddApplicationInputRequest& request) const; /** * A Callable wrapper for AddApplicationInput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationInputOutcomeCallable AddApplicationInputCallable(const AddApplicationInputRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationInput, request); } /** * An Async wrapper for AddApplicationInput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationInputAsync(const AddApplicationInputRequestT& request, const AddApplicationInputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationInput, request, handler, context); } /** *

Adds an InputProcessingConfiguration to a SQL-based Kinesis Data * Analytics application. An input processor pre-processes records on the input * stream before the application's SQL code executes. Currently, the only input * processor available is Amazon * Lambda.

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationInputProcessingConfigurationOutcome AddApplicationInputProcessingConfiguration(const Model::AddApplicationInputProcessingConfigurationRequest& request) const; /** * A Callable wrapper for AddApplicationInputProcessingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationInputProcessingConfigurationOutcomeCallable AddApplicationInputProcessingConfigurationCallable(const AddApplicationInputProcessingConfigurationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationInputProcessingConfiguration, request); } /** * An Async wrapper for AddApplicationInputProcessingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationInputProcessingConfigurationAsync(const AddApplicationInputProcessingConfigurationRequestT& request, const AddApplicationInputProcessingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationInputProcessingConfiguration, request, handler, context); } /** *

Adds an external destination to your SQL-based Kinesis Data Analytics * application.

If you want Kinesis Data Analytics to deliver data from an * in-application stream within your application to an external destination (such * as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an Amazon * Lambda function), you add the relevant configuration to your application using * this operation. You can configure one or more outputs for your application. Each * output configuration maps an in-application stream and an external * destination.

You can use one of the output configurations to deliver * data from your in-application error stream to an external destination so that * you can analyze the errors.

Any configuration update, including adding * a streaming source using this operation, results in a new version of the * application. You can use the DescribeApplication operation to find the * current application version.

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationOutputOutcome AddApplicationOutput(const Model::AddApplicationOutputRequest& request) const; /** * A Callable wrapper for AddApplicationOutput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationOutputOutcomeCallable AddApplicationOutputCallable(const AddApplicationOutputRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationOutput, request); } /** * An Async wrapper for AddApplicationOutput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationOutputAsync(const AddApplicationOutputRequestT& request, const AddApplicationOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationOutput, request, handler, context); } /** *

Adds a reference data source to an existing SQL-based Kinesis Data Analytics * application.

Kinesis Data Analytics reads reference data (that is, an * Amazon S3 object) and creates an in-application table within your application. * In the request, you provide the source (S3 bucket name and object key name), * name of the in-application table to create, and the necessary mapping * information that describes how data in an Amazon S3 object maps to columns in * the resulting in-application table.

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationReferenceDataSourceOutcome AddApplicationReferenceDataSource(const Model::AddApplicationReferenceDataSourceRequest& request) const; /** * A Callable wrapper for AddApplicationReferenceDataSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationReferenceDataSourceOutcomeCallable AddApplicationReferenceDataSourceCallable(const AddApplicationReferenceDataSourceRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationReferenceDataSource, request); } /** * An Async wrapper for AddApplicationReferenceDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationReferenceDataSourceAsync(const AddApplicationReferenceDataSourceRequestT& request, const AddApplicationReferenceDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationReferenceDataSource, request, handler, context); } /** *

Adds a Virtual Private Cloud (VPC) configuration to the application. * Applications can use VPCs to store and access resources securely.

Note * the following about VPC configurations for Kinesis Data Analytics * applications:

  • VPC configurations are not supported for SQL * applications.

  • When a VPC is added to a Kinesis Data Analytics * application, the application can no longer be accessed from the Internet * directly. To enable Internet access to the application, add an Internet gateway * to your VPC.

See Also:

AWS * API Reference

*/ virtual Model::AddApplicationVpcConfigurationOutcome AddApplicationVpcConfiguration(const Model::AddApplicationVpcConfigurationRequest& request) const; /** * A Callable wrapper for AddApplicationVpcConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddApplicationVpcConfigurationOutcomeCallable AddApplicationVpcConfigurationCallable(const AddApplicationVpcConfigurationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::AddApplicationVpcConfiguration, request); } /** * An Async wrapper for AddApplicationVpcConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddApplicationVpcConfigurationAsync(const AddApplicationVpcConfigurationRequestT& request, const AddApplicationVpcConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::AddApplicationVpcConfiguration, request, handler, context); } /** *

Creates a Kinesis Data Analytics application. For information about creating * a Kinesis Data Analytics application, see Creating * an Application.

See Also:

AWS * API Reference

*/ virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const; /** * A Callable wrapper for CreateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const CreateApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::CreateApplication, request); } /** * An Async wrapper for CreateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateApplicationAsync(const CreateApplicationRequestT& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::CreateApplication, request, handler, context); } /** *

Creates and returns a URL that you can use to connect to an application's * extension.

The IAM role or user used to call this API defines the * permissions to access the extension. After the presigned URL is created, no * additional permission is required to access this URL. IAM authorization policies * for this API are also enforced for every HTTP request that attempts to connect * to the extension.

You control the amount of time that the URL will be * valid using the SessionExpirationDurationInSeconds parameter. If * you do not provide this parameter, the returned URL is valid for twelve * hours.

The URL that you get from a call to * CreateApplicationPresignedUrl must be used within 3 minutes to be valid. If you * first try to use the URL after the 3-minute limit expires, the service returns * an HTTP 403 Forbidden error.

See Also:

AWS * API Reference

*/ virtual Model::CreateApplicationPresignedUrlOutcome CreateApplicationPresignedUrl(const Model::CreateApplicationPresignedUrlRequest& request) const; /** * A Callable wrapper for CreateApplicationPresignedUrl that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateApplicationPresignedUrlOutcomeCallable CreateApplicationPresignedUrlCallable(const CreateApplicationPresignedUrlRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::CreateApplicationPresignedUrl, request); } /** * An Async wrapper for CreateApplicationPresignedUrl that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateApplicationPresignedUrlAsync(const CreateApplicationPresignedUrlRequestT& request, const CreateApplicationPresignedUrlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::CreateApplicationPresignedUrl, request, handler, context); } /** *

Creates a snapshot of the application's state data.

See Also:

* AWS * API Reference

*/ virtual Model::CreateApplicationSnapshotOutcome CreateApplicationSnapshot(const Model::CreateApplicationSnapshotRequest& request) const; /** * A Callable wrapper for CreateApplicationSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateApplicationSnapshotOutcomeCallable CreateApplicationSnapshotCallable(const CreateApplicationSnapshotRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::CreateApplicationSnapshot, request); } /** * An Async wrapper for CreateApplicationSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateApplicationSnapshotAsync(const CreateApplicationSnapshotRequestT& request, const CreateApplicationSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::CreateApplicationSnapshot, request, handler, context); } /** *

Deletes the specified application. Kinesis Data Analytics halts application * execution and deletes the application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationOutcome DeleteApplication(const Model::DeleteApplicationRequest& request) const; /** * A Callable wrapper for DeleteApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationOutcomeCallable DeleteApplicationCallable(const DeleteApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplication, request); } /** * An Async wrapper for DeleteApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationAsync(const DeleteApplicationRequestT& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplication, request, handler, context); } /** *

Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics * application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationCloudWatchLoggingOptionOutcome DeleteApplicationCloudWatchLoggingOption(const Model::DeleteApplicationCloudWatchLoggingOptionRequest& request) const; /** * A Callable wrapper for DeleteApplicationCloudWatchLoggingOption that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationCloudWatchLoggingOptionOutcomeCallable DeleteApplicationCloudWatchLoggingOptionCallable(const DeleteApplicationCloudWatchLoggingOptionRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationCloudWatchLoggingOption, request); } /** * An Async wrapper for DeleteApplicationCloudWatchLoggingOption that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationCloudWatchLoggingOptionAsync(const DeleteApplicationCloudWatchLoggingOptionRequestT& request, const DeleteApplicationCloudWatchLoggingOptionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationCloudWatchLoggingOption, request, handler, context); } /** *

Deletes an InputProcessingConfiguration from an input.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationInputProcessingConfigurationOutcome DeleteApplicationInputProcessingConfiguration(const Model::DeleteApplicationInputProcessingConfigurationRequest& request) const; /** * A Callable wrapper for DeleteApplicationInputProcessingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationInputProcessingConfigurationOutcomeCallable DeleteApplicationInputProcessingConfigurationCallable(const DeleteApplicationInputProcessingConfigurationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationInputProcessingConfiguration, request); } /** * An Async wrapper for DeleteApplicationInputProcessingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationInputProcessingConfigurationAsync(const DeleteApplicationInputProcessingConfigurationRequestT& request, const DeleteApplicationInputProcessingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationInputProcessingConfiguration, request, handler, context); } /** *

Deletes the output destination configuration from your SQL-based Kinesis Data * Analytics application's configuration. Kinesis Data Analytics will no longer * write data from the corresponding in-application stream to the external output * destination.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationOutputOutcome DeleteApplicationOutput(const Model::DeleteApplicationOutputRequest& request) const; /** * A Callable wrapper for DeleteApplicationOutput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationOutputOutcomeCallable DeleteApplicationOutputCallable(const DeleteApplicationOutputRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationOutput, request); } /** * An Async wrapper for DeleteApplicationOutput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationOutputAsync(const DeleteApplicationOutputRequestT& request, const DeleteApplicationOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationOutput, request, handler, context); } /** *

Deletes a reference data source configuration from the specified SQL-based * Kinesis Data Analytics application's configuration.

If the application is * running, Kinesis Data Analytics immediately removes the in-application table * that you created using the AddApplicationReferenceDataSource operation. *

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationReferenceDataSourceOutcome DeleteApplicationReferenceDataSource(const Model::DeleteApplicationReferenceDataSourceRequest& request) const; /** * A Callable wrapper for DeleteApplicationReferenceDataSource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationReferenceDataSourceOutcomeCallable DeleteApplicationReferenceDataSourceCallable(const DeleteApplicationReferenceDataSourceRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationReferenceDataSource, request); } /** * An Async wrapper for DeleteApplicationReferenceDataSource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationReferenceDataSourceAsync(const DeleteApplicationReferenceDataSourceRequestT& request, const DeleteApplicationReferenceDataSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationReferenceDataSource, request, handler, context); } /** *

Deletes a snapshot of application state.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationSnapshotOutcome DeleteApplicationSnapshot(const Model::DeleteApplicationSnapshotRequest& request) const; /** * A Callable wrapper for DeleteApplicationSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationSnapshotOutcomeCallable DeleteApplicationSnapshotCallable(const DeleteApplicationSnapshotRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationSnapshot, request); } /** * An Async wrapper for DeleteApplicationSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationSnapshotAsync(const DeleteApplicationSnapshotRequestT& request, const DeleteApplicationSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationSnapshot, request, handler, context); } /** *

Removes a VPC configuration from a Kinesis Data Analytics * application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationVpcConfigurationOutcome DeleteApplicationVpcConfiguration(const Model::DeleteApplicationVpcConfigurationRequest& request) const; /** * A Callable wrapper for DeleteApplicationVpcConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationVpcConfigurationOutcomeCallable DeleteApplicationVpcConfigurationCallable(const DeleteApplicationVpcConfigurationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DeleteApplicationVpcConfiguration, request); } /** * An Async wrapper for DeleteApplicationVpcConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationVpcConfigurationAsync(const DeleteApplicationVpcConfigurationRequestT& request, const DeleteApplicationVpcConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DeleteApplicationVpcConfiguration, request, handler, context); } /** *

Returns information about a specific Kinesis Data Analytics application.

*

If you want to retrieve a list of all applications in your account, use the * ListApplications operation.

See Also:

AWS * API Reference

*/ virtual Model::DescribeApplicationOutcome DescribeApplication(const Model::DescribeApplicationRequest& request) const; /** * A Callable wrapper for DescribeApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeApplicationOutcomeCallable DescribeApplicationCallable(const DescribeApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DescribeApplication, request); } /** * An Async wrapper for DescribeApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeApplicationAsync(const DescribeApplicationRequestT& request, const DescribeApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DescribeApplication, request, handler, context); } /** *

Returns information about a snapshot of application state data.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeApplicationSnapshotOutcome DescribeApplicationSnapshot(const Model::DescribeApplicationSnapshotRequest& request) const; /** * A Callable wrapper for DescribeApplicationSnapshot that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeApplicationSnapshotOutcomeCallable DescribeApplicationSnapshotCallable(const DescribeApplicationSnapshotRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DescribeApplicationSnapshot, request); } /** * An Async wrapper for DescribeApplicationSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeApplicationSnapshotAsync(const DescribeApplicationSnapshotRequestT& request, const DescribeApplicationSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DescribeApplicationSnapshot, request, handler, context); } /** *

Provides a detailed description of a specified version of the application. To * see a list of all the versions of an application, invoke the * ListApplicationVersions operation.

This operation is * supported only for Amazon Kinesis Data Analytics for Apache Flink.

*

See Also:

AWS * API Reference

*/ virtual Model::DescribeApplicationVersionOutcome DescribeApplicationVersion(const Model::DescribeApplicationVersionRequest& request) const; /** * A Callable wrapper for DescribeApplicationVersion that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeApplicationVersionOutcomeCallable DescribeApplicationVersionCallable(const DescribeApplicationVersionRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DescribeApplicationVersion, request); } /** * An Async wrapper for DescribeApplicationVersion that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeApplicationVersionAsync(const DescribeApplicationVersionRequestT& request, const DescribeApplicationVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DescribeApplicationVersion, request, handler, context); } /** *

Infers a schema for a SQL-based Kinesis Data Analytics application by * evaluating sample records on the specified streaming source (Kinesis data stream * or Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response, * the operation returns the inferred schema and also the sample records that the * operation used to infer the schema.

You can use the inferred schema when * configuring a streaming source for your application. When you create an * application using the Kinesis Data Analytics console, the console uses this * operation to infer a schema and show it in the console user interface. *

See Also:

AWS * API Reference

*/ virtual Model::DiscoverInputSchemaOutcome DiscoverInputSchema(const Model::DiscoverInputSchemaRequest& request) const; /** * A Callable wrapper for DiscoverInputSchema that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DiscoverInputSchemaOutcomeCallable DiscoverInputSchemaCallable(const DiscoverInputSchemaRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::DiscoverInputSchema, request); } /** * An Async wrapper for DiscoverInputSchema that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DiscoverInputSchemaAsync(const DiscoverInputSchemaRequestT& request, const DiscoverInputSchemaResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::DiscoverInputSchema, request, handler, context); } /** *

Lists information about the current application snapshots.

See * Also:

AWS * API Reference

*/ virtual Model::ListApplicationSnapshotsOutcome ListApplicationSnapshots(const Model::ListApplicationSnapshotsRequest& request) const; /** * A Callable wrapper for ListApplicationSnapshots that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListApplicationSnapshotsOutcomeCallable ListApplicationSnapshotsCallable(const ListApplicationSnapshotsRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::ListApplicationSnapshots, request); } /** * An Async wrapper for ListApplicationSnapshots that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListApplicationSnapshotsAsync(const ListApplicationSnapshotsRequestT& request, const ListApplicationSnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::ListApplicationSnapshots, request, handler, context); } /** *

Lists all the versions for the specified application, including versions that * were rolled back. The response also includes a summary of the configuration * associated with each version.

To get the complete description of a * specific application version, invoke the DescribeApplicationVersion * operation.

This operation is supported only for Amazon Kinesis * Data Analytics for Apache Flink.

See Also:

AWS * API Reference

*/ virtual Model::ListApplicationVersionsOutcome ListApplicationVersions(const Model::ListApplicationVersionsRequest& request) const; /** * A Callable wrapper for ListApplicationVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListApplicationVersionsOutcomeCallable ListApplicationVersionsCallable(const ListApplicationVersionsRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::ListApplicationVersions, request); } /** * An Async wrapper for ListApplicationVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListApplicationVersionsAsync(const ListApplicationVersionsRequestT& request, const ListApplicationVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::ListApplicationVersions, request, handler, context); } /** *

Returns a list of Kinesis Data Analytics applications in your account. For * each application, the response includes the application name, Amazon Resource * Name (ARN), and status.

If you want detailed information about a * specific application, use DescribeApplication.

See Also:

* AWS * API Reference

*/ virtual Model::ListApplicationsOutcome ListApplications(const Model::ListApplicationsRequest& request) const; /** * A Callable wrapper for ListApplications that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListApplicationsOutcomeCallable ListApplicationsCallable(const ListApplicationsRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::ListApplications, request); } /** * An Async wrapper for ListApplications that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListApplicationsAsync(const ListApplicationsRequestT& request, const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::ListApplications, request, handler, context); } /** *

Retrieves the list of key-value tags assigned to the application. For more * information, see Using * Tagging.

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

Reverts the application to the previous running version. You can roll back an * application if you suspect it is stuck in a transient status.

You can * roll back an application only if it is in the UPDATING or * AUTOSCALING status.

When you rollback an application, it * loads state data from the last successful snapshot. If the application has no * snapshots, Kinesis Data Analytics rejects the rollback request.

This * action is not supported for Kinesis Data Analytics for SQL * applications.

See Also:

AWS * API Reference

*/ virtual Model::RollbackApplicationOutcome RollbackApplication(const Model::RollbackApplicationRequest& request) const; /** * A Callable wrapper for RollbackApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RollbackApplicationOutcomeCallable RollbackApplicationCallable(const RollbackApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::RollbackApplication, request); } /** * An Async wrapper for RollbackApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RollbackApplicationAsync(const RollbackApplicationRequestT& request, const RollbackApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::RollbackApplication, request, handler, context); } /** *

Starts the specified Kinesis Data Analytics application. After creating an * application, you must exclusively call this operation to start your * application.

See Also:

AWS * API Reference

*/ virtual Model::StartApplicationOutcome StartApplication(const Model::StartApplicationRequest& request) const; /** * A Callable wrapper for StartApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartApplicationOutcomeCallable StartApplicationCallable(const StartApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::StartApplication, request); } /** * An Async wrapper for StartApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartApplicationAsync(const StartApplicationRequestT& request, const StartApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::StartApplication, request, handler, context); } /** *

Stops the application from processing data. You can stop an application only * if it is in the running status, unless you set the Force parameter * to true.

You can use the DescribeApplication * operation to find the application status.

Kinesis Data Analytics takes a * snapshot when the application is stopped, unless Force is set to * true.

See Also:

AWS * API Reference

*/ virtual Model::StopApplicationOutcome StopApplication(const Model::StopApplicationRequest& request) const; /** * A Callable wrapper for StopApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopApplicationOutcomeCallable StopApplicationCallable(const StopApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::StopApplication, request); } /** * An Async wrapper for StopApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopApplicationAsync(const StopApplicationRequestT& request, const StopApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::StopApplication, request, handler, context); } /** *

Adds one or more key-value tags to a Kinesis Data Analytics application. Note * that the maximum number of application tags includes system tags. The maximum * number of user-defined application tags is 50. For more information, see Using * Tagging.

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

Removes one or more tags from a Kinesis Data Analytics application. For more * information, see Using * Tagging.

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

Updates an existing Kinesis Data Analytics application. Using this operation, * you can update application code, input configuration, and output configuration. *

Kinesis Data Analytics updates the ApplicationVersionId * each time you update your application.

You cannot update the * RuntimeEnvironment of an existing application. If you need to * update an application's RuntimeEnvironment, you must delete the * application and create it again.

See Also:

AWS * API Reference

*/ virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const; /** * A Callable wrapper for UpdateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const UpdateApplicationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::UpdateApplication, request); } /** * An Async wrapper for UpdateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateApplicationAsync(const UpdateApplicationRequestT& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::UpdateApplication, request, handler, context); } /** *

Updates the maintenance configuration of the Kinesis Data Analytics * application.

You can invoke this operation on an application that is in * one of the two following states: READY or RUNNING. If * you invoke it when the application is in a state other than these two states, it * throws a ResourceInUseException. The service makes use of the * updated configuration the next time it schedules maintenance for the * application. If you invoke this operation after the service schedules * maintenance, the service will apply the configuration update the next time it * schedules maintenance for the application. This means that you might not see the * maintenance configuration update applied to the maintenance process that follows * a successful invocation of this operation, but to the following maintenance * process instead.

To see the current maintenance configuration of your * application, invoke the DescribeApplication operation.

For * information about application maintenance, see Kinesis * Data Analytics for Apache Flink Maintenance.

This operation is * supported only for Amazon Kinesis Data Analytics for Apache Flink.

*

See Also:

AWS * API Reference

*/ virtual Model::UpdateApplicationMaintenanceConfigurationOutcome UpdateApplicationMaintenanceConfiguration(const Model::UpdateApplicationMaintenanceConfigurationRequest& request) const; /** * A Callable wrapper for UpdateApplicationMaintenanceConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateApplicationMaintenanceConfigurationOutcomeCallable UpdateApplicationMaintenanceConfigurationCallable(const UpdateApplicationMaintenanceConfigurationRequestT& request) const { return SubmitCallable(&KinesisAnalyticsV2Client::UpdateApplicationMaintenanceConfiguration, request); } /** * An Async wrapper for UpdateApplicationMaintenanceConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateApplicationMaintenanceConfigurationAsync(const UpdateApplicationMaintenanceConfigurationRequestT& request, const UpdateApplicationMaintenanceConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&KinesisAnalyticsV2Client::UpdateApplicationMaintenanceConfiguration, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const KinesisAnalyticsV2ClientConfiguration& clientConfiguration); KinesisAnalyticsV2ClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace KinesisAnalyticsV2 } // namespace Aws