@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
353 lines (352 loc) • 14.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Provides a Kinesis Analytics Application resource. Kinesis Analytics is a managed service that
* allows processing and analyzing streaming data using standard SQL.
*
* For more details, see the [Amazon Kinesis Analytics Documentation](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/what-is.html).
*
* !> **WARNING:** _This resource is deprecated and will be removed in a future version._ [Effective January 27, 2026](https://aws.amazon.com/blogs/big-data/migrate-from-amazon-kinesis-data-analytics-for-sql-to-amazon-managed-service-for-apache-flink-and-amazon-managed-service-for-apache-flink-studio/), AWS will [no longer support](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/discontinuation.html) Amazon Kinesis Data Analytics for SQL. Use the `aws.kinesisanalyticsv2.Application` resource instead to manage Amazon Kinesis Data Analytics for Apache Flink applications. AWS provides guidance for migrating from [Amazon Kinesis Data Analytics for SQL Applications to Amazon Managed Service for Apache Flink Studio](https://aws.amazon.com/blogs/big-data/migrate-from-amazon-kinesis-data-analytics-for-sql-applications-to-amazon-managed-service-for-apache-flink-studio/) including [examples](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/migrating-to-kda-studio-overview.html).
*
* > **Note:** To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the `aws.kinesisanalyticsv2.Application` resource.
*
* ## Example Usage
*
* ### Kinesis Stream Input
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const testStream = new aws.kinesis.Stream("test_stream", {
* name: "kinesis-test",
* shardCount: 1,
* });
* const testApplication = new aws.kinesis.AnalyticsApplication("test_application", {
* name: "kinesis-analytics-application-test",
* inputs: {
* namePrefix: "test_prefix",
* kinesisStream: {
* resourceArn: testStream.arn,
* roleArn: test.arn,
* },
* parallelism: {
* count: 1,
* },
* schema: {
* recordColumns: [{
* mapping: "$.test",
* name: "test",
* sqlType: "VARCHAR(8)",
* }],
* recordEncoding: "UTF-8",
* recordFormat: {
* mappingParameters: {
* json: {
* recordRowPath: "$",
* },
* },
* },
* },
* },
* });
* ```
*
* ### Starting An Application
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.cloudwatch.LogGroup("example", {name: "analytics"});
* const exampleLogStream = new aws.cloudwatch.LogStream("example", {
* name: "example-kinesis-application",
* logGroupName: example.name,
* });
* const exampleStream = new aws.kinesis.Stream("example", {
* name: "example-kinesis-stream",
* shardCount: 1,
* });
* const exampleFirehoseDeliveryStream = new aws.kinesis.FirehoseDeliveryStream("example", {
* name: "example-kinesis-delivery-stream",
* destination: "extended_s3",
* extendedS3Configuration: {
* bucketArn: exampleAwsS3Bucket.arn,
* roleArn: exampleAwsIamRole.arn,
* },
* });
* const test = new aws.kinesis.AnalyticsApplication("test", {
* name: "example-application",
* cloudwatchLoggingOptions: {
* logStreamArn: exampleLogStream.arn,
* roleArn: exampleAwsIamRole.arn,
* },
* inputs: {
* namePrefix: "example_prefix",
* schema: {
* recordColumns: [{
* name: "COLUMN_1",
* sqlType: "INTEGER",
* }],
* recordFormat: {
* mappingParameters: {
* csv: {
* recordColumnDelimiter: ",",
* recordRowDelimiter: "|",
* },
* },
* },
* },
* kinesisStream: {
* resourceArn: exampleStream.arn,
* roleArn: exampleAwsIamRole.arn,
* },
* startingPositionConfigurations: [{
* startingPosition: "NOW",
* }],
* },
* outputs: [{
* name: "OUTPUT_1",
* schema: {
* recordFormatType: "CSV",
* },
* kinesisFirehose: {
* resourceArn: exampleFirehoseDeliveryStream.arn,
* roleArn: exampleAwsIamRole.arn,
* },
* }],
* startApplication: true,
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import Kinesis Analytics Application using ARN. For example:
*
* ```sh
* $ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example
* ```
*/
export declare class AnalyticsApplication extends pulumi.CustomResource {
/**
* Get an existing AnalyticsApplication resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AnalyticsApplicationState, opts?: pulumi.CustomResourceOptions): AnalyticsApplication;
/**
* Returns true if the given object is an instance of AnalyticsApplication. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is AnalyticsApplication;
/**
* The ARN of the Kinesis Analytics Appliation.
*/
readonly arn: pulumi.Output<string>;
/**
* The CloudWatch log stream options to monitor application errors.
* See CloudWatch Logging Options below for more details.
*/
readonly cloudwatchLoggingOptions: pulumi.Output<outputs.kinesis.AnalyticsApplicationCloudwatchLoggingOptions | undefined>;
/**
* SQL Code to transform input data, and generate output.
*/
readonly code: pulumi.Output<string | undefined>;
/**
* The Timestamp when the application version was created.
*/
readonly createTimestamp: pulumi.Output<string>;
/**
* Description of the application.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Input configuration of the application. See Inputs below for more details.
*/
readonly inputs: pulumi.Output<outputs.kinesis.AnalyticsApplicationInputs | undefined>;
/**
* The Timestamp when the application was last updated.
*/
readonly lastUpdateTimestamp: pulumi.Output<string>;
/**
* Name of the Kinesis Analytics Application.
*/
readonly name: pulumi.Output<string>;
/**
* Output destination configuration of the application. See Outputs below for more details.
*/
readonly outputs: pulumi.Output<outputs.kinesis.AnalyticsApplicationOutput[] | undefined>;
/**
* An S3 Reference Data Source for the application.
* See Reference Data Sources below for more details.
*/
readonly referenceDataSources: pulumi.Output<outputs.kinesis.AnalyticsApplicationReferenceDataSources | undefined>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
* To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
*/
readonly startApplication: pulumi.Output<boolean | undefined>;
/**
* The Status of the application.
*/
readonly status: pulumi.Output<string>;
/**
* Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* The Version of the application.
*/
readonly version: pulumi.Output<number>;
/**
* Create a AnalyticsApplication resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: AnalyticsApplicationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering AnalyticsApplication resources.
*/
export interface AnalyticsApplicationState {
/**
* The ARN of the Kinesis Analytics Appliation.
*/
arn?: pulumi.Input<string>;
/**
* The CloudWatch log stream options to monitor application errors.
* See CloudWatch Logging Options below for more details.
*/
cloudwatchLoggingOptions?: pulumi.Input<inputs.kinesis.AnalyticsApplicationCloudwatchLoggingOptions>;
/**
* SQL Code to transform input data, and generate output.
*/
code?: pulumi.Input<string>;
/**
* The Timestamp when the application version was created.
*/
createTimestamp?: pulumi.Input<string>;
/**
* Description of the application.
*/
description?: pulumi.Input<string>;
/**
* Input configuration of the application. See Inputs below for more details.
*/
inputs?: pulumi.Input<inputs.kinesis.AnalyticsApplicationInputs>;
/**
* The Timestamp when the application was last updated.
*/
lastUpdateTimestamp?: pulumi.Input<string>;
/**
* Name of the Kinesis Analytics Application.
*/
name?: pulumi.Input<string>;
/**
* Output destination configuration of the application. See Outputs below for more details.
*/
outputs?: pulumi.Input<pulumi.Input<inputs.kinesis.AnalyticsApplicationOutput>[]>;
/**
* An S3 Reference Data Source for the application.
* See Reference Data Sources below for more details.
*/
referenceDataSources?: pulumi.Input<inputs.kinesis.AnalyticsApplicationReferenceDataSources>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
* To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
*/
startApplication?: pulumi.Input<boolean>;
/**
* The Status of the application.
*/
status?: pulumi.Input<string>;
/**
* Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The Version of the application.
*/
version?: pulumi.Input<number>;
}
/**
* The set of arguments for constructing a AnalyticsApplication resource.
*/
export interface AnalyticsApplicationArgs {
/**
* The CloudWatch log stream options to monitor application errors.
* See CloudWatch Logging Options below for more details.
*/
cloudwatchLoggingOptions?: pulumi.Input<inputs.kinesis.AnalyticsApplicationCloudwatchLoggingOptions>;
/**
* SQL Code to transform input data, and generate output.
*/
code?: pulumi.Input<string>;
/**
* Description of the application.
*/
description?: pulumi.Input<string>;
/**
* Input configuration of the application. See Inputs below for more details.
*/
inputs?: pulumi.Input<inputs.kinesis.AnalyticsApplicationInputs>;
/**
* Name of the Kinesis Analytics Application.
*/
name?: pulumi.Input<string>;
/**
* Output destination configuration of the application. See Outputs below for more details.
*/
outputs?: pulumi.Input<pulumi.Input<inputs.kinesis.AnalyticsApplicationOutput>[]>;
/**
* An S3 Reference Data Source for the application.
* See Reference Data Sources below for more details.
*/
referenceDataSources?: pulumi.Input<inputs.kinesis.AnalyticsApplicationReferenceDataSources>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
* To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
*/
startApplication?: pulumi.Input<boolean>;
/**
* Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}