/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.kinesisanalyticsv2; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.kinesisanalyticsv2.AmazonKinesisAnalyticsV2ClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.kinesisanalyticsv2.model.*; import com.amazonaws.services.kinesisanalyticsv2.model.transform.*; /** * Client for accessing Kinesis Analytics V2. All service calls made using this client are blocking, and will not return * until the service call completes. *
*
* 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. *
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonKinesisAnalyticsV2Client extends AmazonWebServiceClient implements AmazonKinesisAnalyticsV2 { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonKinesisAnalyticsV2.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "kinesisanalytics"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConcurrentModificationException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.ConcurrentModificationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnableToDetectSchemaException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.UnableToDetectSchemaExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidRequestException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.InvalidRequestExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceProvisionedThroughputExceededException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.ResourceProvisionedThroughputExceededExceptionUnmarshaller .getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.LimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnsupportedOperationException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.UnsupportedOperationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceInUseException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.ResourceInUseExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidApplicationConfigurationException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.InvalidApplicationConfigurationExceptionUnmarshaller .getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TooManyTagsException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.TooManyTagsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CodeValidationException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.CodeValidationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidArgumentException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.InvalidArgumentExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceUnavailableException").withExceptionUnmarshaller( com.amazonaws.services.kinesisanalyticsv2.model.transform.ServiceUnavailableExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.kinesisanalyticsv2.model.AmazonKinesisAnalyticsV2Exception.class)); public static AmazonKinesisAnalyticsV2ClientBuilder builder() { return AmazonKinesisAnalyticsV2ClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Kinesis Analytics V2 using the specified parameters. * ** All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonKinesisAnalyticsV2Client(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Kinesis Analytics V2 using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonKinesisAnalyticsV2Client(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("kinesisanalytics.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/kinesisanalyticsv2/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/kinesisanalyticsv2/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* Adds an Amazon CloudWatch log stream to monitor application configuration errors. *
* * @param addApplicationCloudWatchLoggingOptionRequest * @return Result of the AddApplicationCloudWatchLoggingOption operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @sample AmazonKinesisAnalyticsV2.AddApplicationCloudWatchLoggingOption * @see AWS API Documentation */ @Override public AddApplicationCloudWatchLoggingOptionResult addApplicationCloudWatchLoggingOption(AddApplicationCloudWatchLoggingOptionRequest request) { request = beforeClientExecution(request); return executeAddApplicationCloudWatchLoggingOption(request); } @SdkInternalApi final AddApplicationCloudWatchLoggingOptionResult executeAddApplicationCloudWatchLoggingOption( AddApplicationCloudWatchLoggingOptionRequest addApplicationCloudWatchLoggingOptionRequest) { ExecutionContext executionContext = createExecutionContext(addApplicationCloudWatchLoggingOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param addApplicationInputRequest * @return Result of the AddApplicationInput operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws CodeValidationException * The user-provided application code (query) is not valid. This can be a simple syntax error. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.AddApplicationInput * @see AWS API Documentation */ @Override public AddApplicationInputResult addApplicationInput(AddApplicationInputRequest request) { request = beforeClientExecution(request); return executeAddApplicationInput(request); } @SdkInternalApi final AddApplicationInputResult executeAddApplicationInput(AddApplicationInputRequest addApplicationInputRequest) { ExecutionContext executionContext = createExecutionContext(addApplicationInputRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param addApplicationInputProcessingConfigurationRequest * @return Result of the AddApplicationInputProcessingConfiguration operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.AddApplicationInputProcessingConfiguration * @see AWS API Documentation */ @Override public AddApplicationInputProcessingConfigurationResult addApplicationInputProcessingConfiguration(AddApplicationInputProcessingConfigurationRequest request) { request = beforeClientExecution(request); return executeAddApplicationInputProcessingConfiguration(request); } @SdkInternalApi final AddApplicationInputProcessingConfigurationResult executeAddApplicationInputProcessingConfiguration( AddApplicationInputProcessingConfigurationRequest addApplicationInputProcessingConfigurationRequest) { ExecutionContext executionContext = createExecutionContext(addApplicationInputProcessingConfigurationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param addApplicationOutputRequest * @return Result of the AddApplicationOutput operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.AddApplicationOutput * @see AWS API Documentation */ @Override public AddApplicationOutputResult addApplicationOutput(AddApplicationOutputRequest request) { request = beforeClientExecution(request); return executeAddApplicationOutput(request); } @SdkInternalApi final AddApplicationOutputResult executeAddApplicationOutput(AddApplicationOutputRequest addApplicationOutputRequest) { ExecutionContext executionContext = createExecutionContext(addApplicationOutputRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param addApplicationReferenceDataSourceRequest * @return Result of the AddApplicationReferenceDataSource operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.AddApplicationReferenceDataSource * @see AWS API Documentation */ @Override public AddApplicationReferenceDataSourceResult addApplicationReferenceDataSource(AddApplicationReferenceDataSourceRequest request) { request = beforeClientExecution(request); return executeAddApplicationReferenceDataSource(request); } @SdkInternalApi final AddApplicationReferenceDataSourceResult executeAddApplicationReferenceDataSource( AddApplicationReferenceDataSourceRequest addApplicationReferenceDataSourceRequest) { ExecutionContext executionContext = createExecutionContext(addApplicationReferenceDataSourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
** Creates a Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics * application, see Creating * an Application. *
* * @param createApplicationRequest * @return Result of the CreateApplication operation returned by the service. * @throws CodeValidationException * The user-provided application code (query) is not valid. This can be a simple syntax error. * @throws ResourceInUseException * The application is not available for this operation. * @throws LimitExceededException * The number of allowed resources has been exceeded. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws TooManyTagsException * Application created with too many tags, or too many tags added to an application. Note that the maximum * number of application tags includes system tags. The maximum number of user-defined application tags is * 50. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @sample AmazonKinesisAnalyticsV2.CreateApplication * @see AWS API Documentation */ @Override public CreateApplicationResult createApplication(CreateApplicationRequest request) { request = beforeClientExecution(request); return executeCreateApplication(request); } @SdkInternalApi final CreateApplicationResult executeCreateApplication(CreateApplicationRequest createApplicationRequest) { ExecutionContext executionContext = createExecutionContext(createApplicationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
** Creates a snapshot of the application's state data. *
* * @param createApplicationSnapshotRequest * @return Result of the CreateApplicationSnapshot operation returned by the service. * @throws ResourceInUseException * The application is not available for this operation. * @throws ResourceNotFoundException * Specified application can't be found. * @throws LimitExceededException * The number of allowed resources has been exceeded. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @sample AmazonKinesisAnalyticsV2.CreateApplicationSnapshot * @see AWS API Documentation */ @Override public CreateApplicationSnapshotResult createApplicationSnapshot(CreateApplicationSnapshotRequest request) { request = beforeClientExecution(request); return executeCreateApplicationSnapshot(request); } @SdkInternalApi final CreateApplicationSnapshotResult executeCreateApplicationSnapshot(CreateApplicationSnapshotRequest createApplicationSnapshotRequest) { ExecutionContext executionContext = createExecutionContext(createApplicationSnapshotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the * application. *
* * @param deleteApplicationRequest * @return Result of the DeleteApplication operation returned by the service. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @sample AmazonKinesisAnalyticsV2.DeleteApplication * @see AWS API Documentation */ @Override public DeleteApplicationResult deleteApplication(DeleteApplicationRequest request) { request = beforeClientExecution(request); return executeDeleteApplication(request); } @SdkInternalApi final DeleteApplicationResult executeDeleteApplication(DeleteApplicationRequest deleteApplicationRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics application. *
* * @param deleteApplicationCloudWatchLoggingOptionRequest * @return Result of the DeleteApplicationCloudWatchLoggingOption operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationCloudWatchLoggingOption * @see AWS API Documentation */ @Override public DeleteApplicationCloudWatchLoggingOptionResult deleteApplicationCloudWatchLoggingOption(DeleteApplicationCloudWatchLoggingOptionRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationCloudWatchLoggingOption(request); } @SdkInternalApi final DeleteApplicationCloudWatchLoggingOptionResult executeDeleteApplicationCloudWatchLoggingOption( DeleteApplicationCloudWatchLoggingOptionRequest deleteApplicationCloudWatchLoggingOptionRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationCloudWatchLoggingOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes an InputProcessingConfiguration from an input. *
* * @param deleteApplicationInputProcessingConfigurationRequest * @return Result of the DeleteApplicationInputProcessingConfiguration operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationInputProcessingConfiguration * @see AWS API Documentation */ @Override public DeleteApplicationInputProcessingConfigurationResult deleteApplicationInputProcessingConfiguration( DeleteApplicationInputProcessingConfigurationRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationInputProcessingConfiguration(request); } @SdkInternalApi final DeleteApplicationInputProcessingConfigurationResult executeDeleteApplicationInputProcessingConfiguration( DeleteApplicationInputProcessingConfigurationRequest deleteApplicationInputProcessingConfigurationRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationInputProcessingConfigurationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param deleteApplicationOutputRequest * @return Result of the DeleteApplicationOutput operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationOutput * @see AWS API Documentation */ @Override public DeleteApplicationOutputResult deleteApplicationOutput(DeleteApplicationOutputRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationOutput(request); } @SdkInternalApi final DeleteApplicationOutputResult executeDeleteApplicationOutput(DeleteApplicationOutputRequest deleteApplicationOutputRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationOutputRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param deleteApplicationReferenceDataSourceRequest * @return Result of the DeleteApplicationReferenceDataSource operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationReferenceDataSource * @see AWS API Documentation */ @Override public DeleteApplicationReferenceDataSourceResult deleteApplicationReferenceDataSource(DeleteApplicationReferenceDataSourceRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationReferenceDataSource(request); } @SdkInternalApi final DeleteApplicationReferenceDataSourceResult executeDeleteApplicationReferenceDataSource( DeleteApplicationReferenceDataSourceRequest deleteApplicationReferenceDataSourceRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationReferenceDataSourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes a snapshot of application state. *
* * @param deleteApplicationSnapshotRequest * @return Result of the DeleteApplicationSnapshot operation returned by the service. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationSnapshot * @see AWS API Documentation */ @Override public DeleteApplicationSnapshotResult deleteApplicationSnapshot(DeleteApplicationSnapshotRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationSnapshot(request); } @SdkInternalApi final DeleteApplicationSnapshotResult executeDeleteApplicationSnapshot(DeleteApplicationSnapshotRequest deleteApplicationSnapshotRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationSnapshotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Removes a VPC configuration from a Kinesis Data Analytics application. *
* * @param deleteApplicationVpcConfigurationRequest * @return Result of the DeleteApplicationVpcConfiguration operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @sample AmazonKinesisAnalyticsV2.DeleteApplicationVpcConfiguration * @see AWS API Documentation */ @Override public DeleteApplicationVpcConfigurationResult deleteApplicationVpcConfiguration(DeleteApplicationVpcConfigurationRequest request) { request = beforeClientExecution(request); return executeDeleteApplicationVpcConfiguration(request); } @SdkInternalApi final DeleteApplicationVpcConfigurationResult executeDeleteApplicationVpcConfiguration( DeleteApplicationVpcConfigurationRequest deleteApplicationVpcConfigurationRequest) { ExecutionContext executionContext = createExecutionContext(deleteApplicationVpcConfigurationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param describeApplicationRequest * @return Result of the DescribeApplication operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.DescribeApplication * @see AWS API Documentation */ @Override public DescribeApplicationResult describeApplication(DescribeApplicationRequest request) { request = beforeClientExecution(request); return executeDescribeApplication(request); } @SdkInternalApi final DescribeApplicationResult executeDescribeApplication(DescribeApplicationRequest describeApplicationRequest) { ExecutionContext executionContext = createExecutionContext(describeApplicationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns information about a snapshot of application state data. *
* * @param describeApplicationSnapshotRequest * @return Result of the DescribeApplicationSnapshot operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @sample AmazonKinesisAnalyticsV2.DescribeApplicationSnapshot * @see AWS API Documentation */ @Override public DescribeApplicationSnapshotResult describeApplicationSnapshot(DescribeApplicationSnapshotRequest request) { request = beforeClientExecution(request); return executeDescribeApplicationSnapshot(request); } @SdkInternalApi final DescribeApplicationSnapshotResult executeDescribeApplicationSnapshot(DescribeApplicationSnapshotRequest describeApplicationSnapshotRequest) { ExecutionContext executionContext = createExecutionContext(describeApplicationSnapshotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
** 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. *
* * @param discoverInputSchemaRequest * @return Result of the DiscoverInputSchema operation returned by the service. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws UnableToDetectSchemaException * The data format is not valid. Kinesis Data Analytics cannot detect the schema for the given streaming * source. * @throws ResourceProvisionedThroughputExceededException * Discovery failed to get a record from the streaming source because of the Kinesis Streams *ProvisionedThroughputExceededException
. For more information, see GetRecords in the
* Amazon Kinesis Streams API Reference.
* @throws ServiceUnavailableException
* The service cannot complete the request.
* @throws InvalidRequestException
* The request JSON is not valid for the operation.
* @throws UnsupportedOperationException
* The request was rejected because a specified parameter is not supported or a specified resource is not
* valid for this operation.
* @sample AmazonKinesisAnalyticsV2.DiscoverInputSchema
* @see AWS API Documentation
*/
@Override
public DiscoverInputSchemaResult discoverInputSchema(DiscoverInputSchemaRequest request) {
request = beforeClientExecution(request);
return executeDiscoverInputSchema(request);
}
@SdkInternalApi
final DiscoverInputSchemaResult executeDiscoverInputSchema(DiscoverInputSchemaRequest discoverInputSchemaRequest) {
ExecutionContext executionContext = createExecutionContext(discoverInputSchemaRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* Lists information about the current application snapshots. *
* * @param listApplicationSnapshotsRequest * @return Result of the ListApplicationSnapshots operation returned by the service. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @sample AmazonKinesisAnalyticsV2.ListApplicationSnapshots * @see AWS API Documentation */ @Override public ListApplicationSnapshotsResult listApplicationSnapshots(ListApplicationSnapshotsRequest request) { request = beforeClientExecution(request); return executeListApplicationSnapshots(request); } @SdkInternalApi final ListApplicationSnapshotsResult executeListApplicationSnapshots(ListApplicationSnapshotsRequest listApplicationSnapshotsRequest) { ExecutionContext executionContext = createExecutionContext(listApplicationSnapshotsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
** 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. *
* * @param listApplicationsRequest * @return Result of the ListApplications operation returned by the service. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.ListApplications * @see AWS API Documentation */ @Override public ListApplicationsResult listApplications(ListApplicationsRequest request) { request = beforeClientExecution(request); return executeListApplications(request); } @SdkInternalApi final ListApplicationsResult executeListApplications(ListApplicationsRequest listApplicationsRequest) { ExecutionContext executionContext = createExecutionContext(listApplicationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @sample AmazonKinesisAnalyticsV2.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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. *
* * @param rollbackApplicationRequest * @return Result of the RollbackApplication operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @throws UnsupportedOperationException * The request was rejected because a specified parameter is not supported or a specified resource is not * valid for this operation. * @sample AmazonKinesisAnalyticsV2.RollbackApplication * @see AWS API Documentation */ @Override public RollbackApplicationResult rollbackApplication(RollbackApplicationRequest request) { request = beforeClientExecution(request); return executeRollbackApplication(request); } @SdkInternalApi final RollbackApplicationResult executeRollbackApplication(RollbackApplicationRequest rollbackApplicationRequest) { ExecutionContext executionContext = createExecutionContext(rollbackApplicationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Starts the specified Kinesis Data Analytics application. After creating an application, you must exclusively call * this operation to start your application. *
* * @param startApplicationRequest * @return Result of the StartApplication operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws InvalidApplicationConfigurationException * The user-provided application configuration is not valid. * @throws InvalidRequestException * The request JSON is not valid for the operation. * @sample AmazonKinesisAnalyticsV2.StartApplication * @see AWS API Documentation */ @Override public StartApplicationResult startApplication(StartApplicationRequest request) { request = beforeClientExecution(request); return executeStartApplication(request); } @SdkInternalApi final StartApplicationResult executeStartApplication(StartApplicationRequest startApplicationRequest) { ExecutionContext executionContext = createExecutionContext(startApplicationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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
.
*
* 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. *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws TooManyTagsException * Application created with too many tags, or too many tags added to an application. Note that the maximum * number of application tags includes system tags. The maximum number of user-defined application tags is * 50. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @sample AmazonKinesisAnalyticsV2.TagResource * @see AWS * API Documentation */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Removes one or more tags from a Kinesis Data Analytics application. For more information, see Using Tagging. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * Specified application can't be found. * @throws ResourceInUseException * The application is not available for this operation. * @throws TooManyTagsException * Application created with too many tags, or too many tags added to an application. Note that the maximum * number of application tags includes system tags. The maximum number of user-defined application tags is * 50. * @throws InvalidArgumentException * The specified input parameter value is not valid. * @throws ConcurrentModificationException * Exception thrown as a result of concurrent modifications to an application. This error can be the result * of attempting to modify an application without using the current application ID. * @sample AmazonKinesisAnalyticsV2.UntagResource * @see AWS API Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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.
*
* 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. *
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private