Come join Pulumi for the industry's first Cloud Engineering Summit! October 7–8. Save Your Spot

Module kinesis

This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource AnalyticsApplication

class AnalyticsApplication extends CustomResource

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.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testStream = new aws.kinesis.Stream("testStream", {shardCount: 1});
const testApplication = new aws.kinesis.AnalyticsApplication("testApplication", {inputs: {
    namePrefix: "test_prefix",
    kinesisStream: {
        resourceArn: testStream.arn,
        roleArn: aws_iam_role.test.arn,
    },
    parallelism: {
        count: 1,
    },
    schema: {
        recordColumns: [{
            mapping: `$.test`,
            name: "test",
            sqlType: "VARCHAR(8)",
        }],
        recordEncoding: "UTF-8",
        recordFormat: {
            mappingParameters: {
                json: {
                    recordRowPath: "$",
                },
            },
        },
    },
}});

constructor

new AnalyticsApplication(name: string, args?: AnalyticsApplicationArgs, opts?: pulumi.CustomResourceOptions)

Create a AnalyticsApplication resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AnalyticsApplicationState, opts?: pulumi.CustomResourceOptions): AnalyticsApplication

Get an existing AnalyticsApplication resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is 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.

property arn

public arn: pulumi.Output<ARN>;

The ARN of the Kinesis Analytics Appliation.

property cloudwatchLoggingOptions

public cloudwatchLoggingOptions: pulumi.Output<AnalyticsApplicationCloudwatchLoggingOptions | undefined>;

The CloudWatch log stream options to monitor application errors. See CloudWatch Logging Options below for more details.

property code

public code: pulumi.Output<string | undefined>;

SQL Code to transform input data, and generate output.

property createTimestamp

public createTimestamp: pulumi.Output<string>;

The Timestamp when the application version was created.

property description

public description: pulumi.Output<string | undefined>;

Description of the application.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property inputs

public inputs: pulumi.Output<AnalyticsApplicationInputs | undefined>;

Input configuration of the application. See Inputs below for more details.

property lastUpdateTimestamp

public lastUpdateTimestamp: pulumi.Output<string>;

The Timestamp when the application was last updated.

property name

public name: pulumi.Output<string>;

Name of the Kinesis Analytics Application.

property outputs

public outputs: pulumi.Output<AnalyticsApplicationOutput[] | undefined>;

Output destination configuration of the application. See Outputs below for more details.

property referenceDataSources

public referenceDataSources: pulumi.Output<AnalyticsApplicationReferenceDataSources | undefined>;

An S3 Reference Data Source for the application. See Reference Data Sources below for more details.

property status

public status: pulumi.Output<string>;

The Status of the application.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of tags for the Kinesis Analytics Application.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<number>;

The Version of the application.

Resource FirehoseDeliveryStream

class FirehoseDeliveryStream extends CustomResource

Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift.

For more details, see the Amazon Kinesis Firehose Documentation.

Example Usage

Extended S3 Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const bucket = new aws.s3.Bucket("bucket", {acl: "private"});
const firehoseRole = new aws.iam.Role("firehoseRole", {assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
`});
const lambdaIam = new aws.iam.Role("lambdaIam", {assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
`});
const lambdaProcessor = new aws.lambda.Function("lambdaProcessor", {
    code: new pulumi.asset.FileArchive("lambda.zip"),
    role: lambdaIam.arn,
    handler: "exports.handler",
    runtime: "nodejs12.x",
});
const extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream("extendedS3Stream", {
    destination: "extended_s3",
    extendedS3Configuration: {
        roleArn: firehoseRole.arn,
        bucketArn: bucket.arn,
        processingConfiguration: {
            enabled: "true",
            processors: [{
                type: "Lambda",
                parameters: [{
                    parameterName: "LambdaArn",
                    parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,
                }],
            }],
        },
    },
});
S3 Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const bucket = new aws.s3.Bucket("bucket", {acl: "private"});
const firehoseRole = new aws.iam.Role("firehoseRole", {assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
`});
const testStream = new aws.kinesis.FirehoseDeliveryStream("testStream", {
    destination: "s3",
    s3Configuration: {
        roleArn: firehoseRole.arn,
        bucketArn: bucket.arn,
    },
});
Redshift Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testCluster = new aws.redshift.Cluster("testCluster", {
    clusterIdentifier: "tf-redshift-cluster",
    databaseName: "test",
    masterUsername: "testuser",
    masterPassword: "T3stPass",
    nodeType: "dc1.large",
    clusterType: "single-node",
});
const testStream = new aws.kinesis.FirehoseDeliveryStream("testStream", {
    destination: "redshift",
    s3Configuration: {
        roleArn: aws_iam_role.firehose_role.arn,
        bucketArn: aws_s3_bucket.bucket.arn,
        bufferSize: 10,
        bufferInterval: 400,
        compressionFormat: "GZIP",
    },
    redshiftConfiguration: {
        roleArn: aws_iam_role.firehose_role.arn,
        clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,
        username: "testuser",
        password: "T3stPass",
        dataTableName: "test-table",
        copyOptions: "delimiter '|'",
        dataTableColumns: "test-col",
        s3BackupMode: "Enabled",
        s3BackupConfiguration: {
            roleArn: aws_iam_role.firehose_role.arn,
            bucketArn: aws_s3_bucket.bucket.arn,
            bufferSize: 15,
            bufferInterval: 300,
            compressionFormat: "GZIP",
        },
    },
});
Elasticsearch Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testCluster = new aws.elasticsearch.Domain("testCluster", {});
const testStream = new aws.kinesis.FirehoseDeliveryStream("testStream", {
    destination: "elasticsearch",
    s3Configuration: {
        roleArn: aws_iam_role.firehose_role.arn,
        bucketArn: aws_s3_bucket.bucket.arn,
        bufferSize: 10,
        bufferInterval: 400,
        compressionFormat: "GZIP",
    },
    elasticsearchConfiguration: {
        domainArn: testCluster.arn,
        roleArn: aws_iam_role.firehose_role.arn,
        indexName: "test",
        typeName: "test",
        processingConfiguration: {
            enabled: "true",
            processors: [{
                type: "Lambda",
                parameters: [{
                    parameterName: "LambdaArn",
                    parameterValue: `${aws_lambda_function.lambda_processor.arn}:$LATEST`,
                }],
            }],
        },
    },
});
Elasticsearch Destination With VPC
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testCluster = new aws.elasticsearch.Domain("testCluster", {
    clusterConfig: {
        instanceCount: 2,
        zoneAwarenessEnabled: true,
        instanceType: "t2.small.elasticsearch",
    },
    ebsOptions: {
        ebsEnabled: true,
        volumeSize: 10,
    },
    vpcOptions: {
        securityGroupIds: [aws_security_group.first.id],
        subnetIds: [
            aws_subnet.first.id,
            aws_subnet.second.id,
        ],
    },
});
const firehose_elasticsearch = new aws.iam.RolePolicy("firehose-elasticsearch", {
    role: aws_iam_role.firehose.id,
    policy: pulumi.interpolate`{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "es:*"
      ],
      "Resource": [
        "${testCluster.arn}",
        "${testCluster.arn}/*"
      ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeVpcAttribute",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeNetworkInterfaces",
            "ec2:CreateNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface"
          ],
          "Resource": [
            "*"
          ]
        }
  ]
}
`,
});
const test = new aws.kinesis.FirehoseDeliveryStream("test", {
    destination: "elasticsearch",
    s3Configuration: {
        roleArn: aws_iam_role.firehose.arn,
        bucketArn: aws_s3_bucket.bucket.arn,
    },
    elasticsearchConfiguration: {
        domainArn: testCluster.arn,
        roleArn: aws_iam_role.firehose.arn,
        indexName: "test",
        typeName: "test",
        vpcConfig: {
            subnetIds: [
                aws_subnet.first.id,
                aws_subnet.second.id,
            ],
            securityGroupIds: [aws_security_group.first.id],
            roleArn: aws_iam_role.firehose.arn,
        },
    },
}, {
    dependsOn: [firehose_elasticsearch],
});
Splunk Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testStream = new aws.kinesis.FirehoseDeliveryStream("testStream", {
    destination: "splunk",
    s3Configuration: {
        roleArn: aws_iam_role.firehose.arn,
        bucketArn: aws_s3_bucket.bucket.arn,
        bufferSize: 10,
        bufferInterval: 400,
        compressionFormat: "GZIP",
    },
    splunkConfiguration: {
        hecEndpoint: "https://http-inputs-mydomain.splunkcloud.com:443",
        hecToken: "51D4DA16-C61B-4F5F-8EC7-ED4301342A4A",
        hecAcknowledgmentTimeout: 600,
        hecEndpointType: "Event",
        s3BackupMode: "FailedEventsOnly",
    },
});

constructor

new FirehoseDeliveryStream(name: string, args: FirehoseDeliveryStreamArgs, opts?: pulumi.CustomResourceOptions)

Create a FirehoseDeliveryStream resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FirehoseDeliveryStreamState, opts?: pulumi.CustomResourceOptions): FirehoseDeliveryStream

Get an existing FirehoseDeliveryStream resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is FirehoseDeliveryStream

Returns true if the given object is an instance of FirehoseDeliveryStream. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name (ARN) specifying the Stream

property destination

public destination: pulumi.Output<string>;

This is the destination to where the data is delivered. The only options are s3 (Deprecated, use extendedS3 instead), extendedS3, redshift, elasticsearch, and splunk.

property destinationId

public destinationId: pulumi.Output<string>;

property elasticsearchConfiguration

public elasticsearchConfiguration: pulumi.Output<FirehoseDeliveryStreamElasticsearchConfiguration | undefined>;

Configuration options if elasticsearch is the destination. More details are given below.

property extendedS3Configuration

public extendedS3Configuration: pulumi.Output<FirehoseDeliveryStreamExtendedS3Configuration | undefined>;

Enhanced configuration options for the s3 destination. More details are given below.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kinesisSourceConfiguration

public kinesisSourceConfiguration: pulumi.Output<FirehoseDeliveryStreamKinesisSourceConfiguration | undefined>;

Allows the ability to specify the kinesis stream that is used as the source of the firehose delivery stream.

property name

public name: pulumi.Output<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property redshiftConfiguration

public redshiftConfiguration: pulumi.Output<FirehoseDeliveryStreamRedshiftConfiguration | undefined>;

Configuration options if redshift is the destination. Using redshiftConfiguration requires the user to also specify a s3Configuration block. More details are given below.

property s3Configuration

public s3Configuration: pulumi.Output<FirehoseDeliveryStreamS3Configuration | undefined>;

Required for non-S3 destinations. For S3 destination, use extendedS3Configuration instead. Configuration options for the s3 destination (or the intermediate bucket if the destination is redshift). More details are given below.

property serverSideEncryption

public serverSideEncryption: pulumi.Output<FirehoseDeliveryStreamServerSideEncryption | undefined>;

Encrypt at rest options. Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.

property splunkConfiguration

public splunkConfiguration: pulumi.Output<FirehoseDeliveryStreamSplunkConfiguration | undefined>;

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property versionId

public versionId: pulumi.Output<string>;

Specifies the table version for the output data schema. Defaults to LATEST.

Resource Stream

class Stream extends CustomResource

Provides a Kinesis Stream resource. Amazon Kinesis is a managed service that scales elastically for real-time processing of streaming big data.

For more details, see the Amazon Kinesis Documentation.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const testStream = new aws.kinesis.Stream("test_stream", {
    retentionPeriod: 48,
    shardCount: 1,
    shardLevelMetrics: [
        "IncomingBytes",
        "OutgoingBytes",
    ],
    tags: {
        Environment: "test",
    },
});

constructor

new Stream(name: string, args: StreamArgs, opts?: pulumi.CustomResourceOptions)

Create a Stream resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StreamState, opts?: pulumi.CustomResourceOptions): Stream

Get an existing Stream resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Stream

Returns true if the given object is an instance of Stream. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method onEvent

onEvent(name: string, handler: StreamEventHandler, args: StreamEventSubscriptionArgs, opts?: pulumi.ComponentResourceOptions): StreamEventSubscription

Creates a new subscription to events fired from this Stream to the handler provided, along with options to control the behavior of the subscription.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name (ARN) specifying the Stream (same as id)

property encryptionType

public encryptionType: pulumi.Output<string | undefined>;

The encryption type to use. The only acceptable values are NONE or KMS. The default value is NONE.

property enforceConsumerDeletion

public enforceConsumerDeletion: pulumi.Output<boolean | undefined>;

A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is false.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kmsKeyId

public kmsKeyId: pulumi.Output<string | undefined>;

The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias alias/aws/kinesis.

property name

public name: pulumi.Output<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property retentionPeriod

public retentionPeriod: pulumi.Output<number | undefined>;

Length of time data records are accessible after they are added to the stream. The maximum value of a stream’s retention period is 168 hours. Minimum value is 24. Default is 24.

property shardCount

public shardCount: pulumi.Output<number>;

The number of shards that the stream will use. Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See Amazon Kinesis Streams for more.

property shardLevelMetrics

public shardLevelMetrics: pulumi.Output<string[] | undefined>;

A list of shard-level CloudWatch metrics which can be enabled for the stream. See Monitoring with CloudWatch for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource VideoStream

class VideoStream extends CustomResource

Provides a Kinesis Video Stream resource. Amazon Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for analytics, machine learning (ML), playback, and other processing.

For more details, see the Amazon Kinesis Documentation.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const defaultVideoStream = new aws.kinesis.VideoStream("default", {
    dataRetentionInHours: 1,
    deviceName: "kinesis-video-device-name",
    mediaType: "video/h264",
    tags: {
        Name: "kinesis-video-stream",
    },
});

constructor

new VideoStream(name: string, args?: VideoStreamArgs, opts?: pulumi.CustomResourceOptions)

Create a VideoStream resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VideoStreamState, opts?: pulumi.CustomResourceOptions): VideoStream

Get an existing VideoStream resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is VideoStream

Returns true if the given object is an instance of VideoStream. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name (ARN) specifying the Stream (same as id)

property creationTime

public creationTime: pulumi.Output<string>;

A time stamp that indicates when the stream was created.

property dataRetentionInHours

public dataRetentionInHours: pulumi.Output<number | undefined>;

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream. The default value is 0, indicating that the stream does not persist data.

property deviceName

public deviceName: pulumi.Output<string | undefined>;

The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kmsKeyId

public kmsKeyId: pulumi.Output<string>;

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data. If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

property mediaType

public mediaType: pulumi.Output<string | undefined>;

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

property name

public name: pulumi.Output<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A map of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string>;

The version of the stream.

Functions

Function getStream

getStream(args: GetStreamArgs, opts?: pulumi.InvokeOptions): Promise<GetStreamResult>

Use this data source to get information about a Kinesis Stream for use in other resources.

For more details, see the Amazon Kinesis Documentation.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const stream = pulumi.output(aws.kinesis.getStream({
    name: "stream-name",
}, { async: true }));

Others

interface AnalyticsApplicationArgs

interface AnalyticsApplicationArgs

The set of arguments for constructing a AnalyticsApplication resource.

property cloudwatchLoggingOptions

cloudwatchLoggingOptions?: pulumi.Input<AnalyticsApplicationCloudwatchLoggingOptions>;

The CloudWatch log stream options to monitor application errors. See CloudWatch Logging Options below for more details.

property code

code?: pulumi.Input<string>;

SQL Code to transform input data, and generate output.

property description

description?: pulumi.Input<string>;

Description of the application.

property inputs

inputs?: pulumi.Input<AnalyticsApplicationInputs>;

Input configuration of the application. See Inputs below for more details.

property name

name?: pulumi.Input<string>;

Name of the Kinesis Analytics Application.

property outputs

outputs?: pulumi.Input<pulumi.Input<AnalyticsApplicationOutput>[]>;

Output destination configuration of the application. See Outputs below for more details.

property referenceDataSources

referenceDataSources?: pulumi.Input<AnalyticsApplicationReferenceDataSources>;

An S3 Reference Data Source for the application. See Reference Data Sources below for more details.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of tags for the Kinesis Analytics Application.

interface AnalyticsApplicationState

interface AnalyticsApplicationState

Input properties used for looking up and filtering AnalyticsApplication resources.

property arn

arn?: pulumi.Input<ARN>;

The ARN of the Kinesis Analytics Appliation.

property cloudwatchLoggingOptions

cloudwatchLoggingOptions?: pulumi.Input<AnalyticsApplicationCloudwatchLoggingOptions>;

The CloudWatch log stream options to monitor application errors. See CloudWatch Logging Options below for more details.

property code

code?: pulumi.Input<string>;

SQL Code to transform input data, and generate output.

property createTimestamp

createTimestamp?: pulumi.Input<string>;

The Timestamp when the application version was created.

property description

description?: pulumi.Input<string>;

Description of the application.

property inputs

inputs?: pulumi.Input<AnalyticsApplicationInputs>;

Input configuration of the application. See Inputs below for more details.

property lastUpdateTimestamp

lastUpdateTimestamp?: pulumi.Input<string>;

The Timestamp when the application was last updated.

property name

name?: pulumi.Input<string>;

Name of the Kinesis Analytics Application.

property outputs

outputs?: pulumi.Input<pulumi.Input<AnalyticsApplicationOutput>[]>;

Output destination configuration of the application. See Outputs below for more details.

property referenceDataSources

referenceDataSources?: pulumi.Input<AnalyticsApplicationReferenceDataSources>;

An S3 Reference Data Source for the application. See Reference Data Sources below for more details.

property status

status?: pulumi.Input<string>;

The Status of the application.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of tags for the Kinesis Analytics Application.

property version

version?: pulumi.Input<number>;

The Version of the application.

interface FirehoseDeliveryStreamArgs

interface FirehoseDeliveryStreamArgs

The set of arguments for constructing a FirehoseDeliveryStream resource.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) specifying the Stream

property destination

destination: pulumi.Input<string>;

This is the destination to where the data is delivered. The only options are s3 (Deprecated, use extendedS3 instead), extendedS3, redshift, elasticsearch, and splunk.

property destinationId

destinationId?: pulumi.Input<string>;

property elasticsearchConfiguration

elasticsearchConfiguration?: pulumi.Input<FirehoseDeliveryStreamElasticsearchConfiguration>;

Configuration options if elasticsearch is the destination. More details are given below.

property extendedS3Configuration

extendedS3Configuration?: pulumi.Input<FirehoseDeliveryStreamExtendedS3Configuration>;

Enhanced configuration options for the s3 destination. More details are given below.

property kinesisSourceConfiguration

kinesisSourceConfiguration?: pulumi.Input<FirehoseDeliveryStreamKinesisSourceConfiguration>;

Allows the ability to specify the kinesis stream that is used as the source of the firehose delivery stream.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property redshiftConfiguration

redshiftConfiguration?: pulumi.Input<FirehoseDeliveryStreamRedshiftConfiguration>;

Configuration options if redshift is the destination. Using redshiftConfiguration requires the user to also specify a s3Configuration block. More details are given below.

property s3Configuration

s3Configuration?: pulumi.Input<FirehoseDeliveryStreamS3Configuration>;

Required for non-S3 destinations. For S3 destination, use extendedS3Configuration instead. Configuration options for the s3 destination (or the intermediate bucket if the destination is redshift). More details are given below.

property serverSideEncryption

serverSideEncryption?: pulumi.Input<FirehoseDeliveryStreamServerSideEncryption>;

Encrypt at rest options. Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.

property splunkConfiguration

splunkConfiguration?: pulumi.Input<FirehoseDeliveryStreamSplunkConfiguration>;

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

property versionId

versionId?: pulumi.Input<string>;

Specifies the table version for the output data schema. Defaults to LATEST.

interface FirehoseDeliveryStreamState

interface FirehoseDeliveryStreamState

Input properties used for looking up and filtering FirehoseDeliveryStream resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) specifying the Stream

property destination

destination?: pulumi.Input<string>;

This is the destination to where the data is delivered. The only options are s3 (Deprecated, use extendedS3 instead), extendedS3, redshift, elasticsearch, and splunk.

property destinationId

destinationId?: pulumi.Input<string>;

property elasticsearchConfiguration

elasticsearchConfiguration?: pulumi.Input<FirehoseDeliveryStreamElasticsearchConfiguration>;

Configuration options if elasticsearch is the destination. More details are given below.

property extendedS3Configuration

extendedS3Configuration?: pulumi.Input<FirehoseDeliveryStreamExtendedS3Configuration>;

Enhanced configuration options for the s3 destination. More details are given below.

property kinesisSourceConfiguration

kinesisSourceConfiguration?: pulumi.Input<FirehoseDeliveryStreamKinesisSourceConfiguration>;

Allows the ability to specify the kinesis stream that is used as the source of the firehose delivery stream.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property redshiftConfiguration

redshiftConfiguration?: pulumi.Input<FirehoseDeliveryStreamRedshiftConfiguration>;

Configuration options if redshift is the destination. Using redshiftConfiguration requires the user to also specify a s3Configuration block. More details are given below.

property s3Configuration

s3Configuration?: pulumi.Input<FirehoseDeliveryStreamS3Configuration>;

Required for non-S3 destinations. For S3 destination, use extendedS3Configuration instead. Configuration options for the s3 destination (or the intermediate bucket if the destination is redshift). More details are given below.

property serverSideEncryption

serverSideEncryption?: pulumi.Input<FirehoseDeliveryStreamServerSideEncryption>;

Encrypt at rest options. Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.

property splunkConfiguration

splunkConfiguration?: pulumi.Input<FirehoseDeliveryStreamSplunkConfiguration>;

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

property versionId

versionId?: pulumi.Input<string>;

Specifies the table version for the output data schema. Defaults to LATEST.

interface GetStreamArgs

interface GetStreamArgs

A collection of arguments for invoking getStream.

property name

name: string;

The name of the Kinesis Stream.

property tags

tags?: undefined | {[key: string]: string};

A map of tags to assigned to the stream.

interface GetStreamResult

interface GetStreamResult

A collection of values returned by getStream.

property arn

arn: string;

The Amazon Resource Name (ARN) of the Kinesis Stream (same as id).

property closedShards

closedShards: string[];

The list of shard ids in the CLOSED state. See Shard State for more.

property creationTimestamp

creationTimestamp: number;

The approximate UNIX timestamp that the stream was created.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

The name of the Kinesis Stream.

property openShards

openShards: string[];

The list of shard ids in the OPEN state. See Shard State for more.

property retentionPeriod

retentionPeriod: number;

Length of time (in hours) data records are accessible after they are added to the stream.

property shardLevelMetrics

shardLevelMetrics: string[];

A list of shard-level CloudWatch metrics which are enabled for the stream. See Monitoring with CloudWatch for more.

property status

status: string;

The current status of the stream. The stream status is one of CREATING, DELETING, ACTIVE, or UPDATING.

property tags

tags: {[key: string]: string};

A map of tags to assigned to the stream.

interface StreamArgs

interface StreamArgs

The set of arguments for constructing a Stream resource.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) specifying the Stream (same as id)

property encryptionType

encryptionType?: pulumi.Input<string>;

The encryption type to use. The only acceptable values are NONE or KMS. The default value is NONE.

property enforceConsumerDeletion

enforceConsumerDeletion?: pulumi.Input<boolean>;

A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is false.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias alias/aws/kinesis.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property retentionPeriod

retentionPeriod?: pulumi.Input<number>;

Length of time data records are accessible after they are added to the stream. The maximum value of a stream’s retention period is 168 hours. Minimum value is 24. Default is 24.

property shardCount

shardCount: pulumi.Input<number>;

The number of shards that the stream will use. Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See Amazon Kinesis Streams for more.

property shardLevelMetrics

shardLevelMetrics?: pulumi.Input<pulumi.Input<string>[]>;

A list of shard-level CloudWatch metrics which can be enabled for the stream. See Monitoring with CloudWatch for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

interface StreamEvent

interface StreamEvent

property Records

Records: StreamEventRecord[];

type StreamEventHandler

type StreamEventHandler = lambda.EventHandler<StreamEvent, void>;

interface StreamEventRecord

interface StreamEventRecord

property awsRegion

awsRegion: string;

property eventID

eventID: string;

property eventName

eventName: "aws:kinesis:record";

property eventSource

eventSource: "aws:kinesis";

property eventSourceARN

eventSourceARN: string;

property eventVersion

eventVersion: string;

property invokeIdentityArn

invokeIdentityArn: string;

property kinesis

kinesis: {
    data: string;
    kinesisSchemaVersion: string;
    partitionKey: string;
    sequenceNumber: string;
};

class StreamEventSubscription

class StreamEventSubscription extends EventSubscription

constructor

new StreamEventSubscription(name: string, stream: Stream, handler: StreamEventHandler, args: StreamEventSubscriptionArgs, opts: ComponentResourceOptions)

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

static isInstance(obj: any): obj is ComponentResource

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property eventSourceMapping

public eventSourceMapping: EventSourceMapping;

property func

public func: LambdaFunction;

property permission

public permission: Permission;

property stream

public stream: Stream;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

interface StreamEventSubscriptionArgs

interface StreamEventSubscriptionArgs

property batchSize

batchSize?: undefined | number;

The largest number of records that Lambda will retrieve from your event source at the time of invocation. Defaults to 100 for Kinesis.

property bisectBatchOnFunctionError

bisectBatchOnFunctionError?: undefined | false | true;

If the function returns an error, split the batch in two and retry. Defaults to false.

property destinationConfig

destinationConfig?: pulumi.Input<EventSourceMappingDestinationConfig>;

An Amazon SQS queue or Amazon SNS topic destination for failed records.

property maximumBatchingWindowInSeconds

maximumBatchingWindowInSeconds?: undefined | number;

The maximum amount of time to gather records before invoking the function, in seconds. Records will continue to buffer until either maximum_batching_window_in_seconds expires or batch_size has been met. Defaults to as soon as records are available in the stream. If the batch it reads from the stream only has one record in it, Lambda only sends one record to the function.

property maximumRecordAgeInSeconds

maximumRecordAgeInSeconds?: undefined | number;

The maximum age of a record that Lambda sends to a function for processing. Minimum of 60, maximum and default of 604800

property maximumRetryAttempts

maximumRetryAttempts?: undefined | number;

The maximum number of times to retry when the function returns an error. Minimum of 0, maximum and default of 10000.

property parallelizationFactor

parallelizationFactor?: undefined | number;

The number of batches to process from each shard concurrently. Minimum and default of 1, maximum of 10

property startingPosition

startingPosition: "TRIM_HORIZON" | "LATEST" | "AT_TIMESTAMP";

The position in the stream where AWS Lambda should start reading. Must be one of either TRIM_HORIZON, LATEST or AT_TIMESTAMP. If AT_TIMESTAMP is provided, [startingPositionTimestamp] must be provided as well.

property startingPositionTimestamp

startingPositionTimestamp?: undefined | string;

A timestamp in RFC3339 format of the data record which to start reading when using starting_position set to AT_TIMESTAMP. If a record with this exact timestamp does not exist, the next later record is chosen. If the timestamp is older than the current trim horizon, the oldest available record is chosen.

interface StreamState

interface StreamState

Input properties used for looking up and filtering Stream resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) specifying the Stream (same as id)

property encryptionType

encryptionType?: pulumi.Input<string>;

The encryption type to use. The only acceptable values are NONE or KMS. The default value is NONE.

property enforceConsumerDeletion

enforceConsumerDeletion?: pulumi.Input<boolean>;

A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is false.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias alias/aws/kinesis.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property retentionPeriod

retentionPeriod?: pulumi.Input<number>;

Length of time data records are accessible after they are added to the stream. The maximum value of a stream’s retention period is 168 hours. Minimum value is 24. Default is 24.

property shardCount

shardCount?: pulumi.Input<number>;

The number of shards that the stream will use. Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See Amazon Kinesis Streams for more.

property shardLevelMetrics

shardLevelMetrics?: pulumi.Input<pulumi.Input<string>[]>;

A list of shard-level CloudWatch metrics which can be enabled for the stream. See Monitoring with CloudWatch for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

interface VideoStreamArgs

interface VideoStreamArgs

The set of arguments for constructing a VideoStream resource.

property dataRetentionInHours

dataRetentionInHours?: pulumi.Input<number>;

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream. The default value is 0, indicating that the stream does not persist data.

property deviceName

deviceName?: pulumi.Input<string>;

The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data. If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

property mediaType

mediaType?: pulumi.Input<string>;

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

interface VideoStreamState

interface VideoStreamState

Input properties used for looking up and filtering VideoStream resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) specifying the Stream (same as id)

property creationTime

creationTime?: pulumi.Input<string>;

A time stamp that indicates when the stream was created.

property dataRetentionInHours

dataRetentionInHours?: pulumi.Input<number>;

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream. The default value is 0, indicating that the stream does not persist data.

property deviceName

deviceName?: pulumi.Input<string>;

The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data. If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

property mediaType

mediaType?: pulumi.Input<string>;

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

property name

name?: pulumi.Input<string>;

A name to identify the stream. This is unique to the AWS account and region the Stream is created in.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of tags to assign to the resource.

property version

version?: pulumi.Input<string>;

The version of the stream.