import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Resource Type definition for AWS::KinesisFirehose::DeliveryStream */ export declare class DeliveryStream extends pulumi.CustomResource { /** * Get an existing DeliveryStream 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DeliveryStream; /** * Returns true if the given object is an instance of DeliveryStream. 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 DeliveryStream; /** * Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service. */ readonly amazonOpenSearchServerlessDestinationConfiguration: pulumi.Output; /** * The destination in Amazon OpenSearch Service. You can specify only one destination. */ readonly amazonopensearchserviceDestinationConfiguration: pulumi.Output; /** * The Amazon Resource Name (ARN) of the delivery stream, such as `arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name` . */ readonly arn: pulumi.Output; /** * The top level object for configuring streams with database as a source. * * Amazon Data Firehose is in preview release and is subject to change. */ readonly databaseSourceConfiguration: pulumi.Output; /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). */ readonly deliveryStreamEncryptionConfigurationInput: pulumi.Output; /** * The name of the Firehose stream. */ readonly deliveryStreamName: pulumi.Output; /** * The Firehose stream type. This can be one of the following values: * * - `DirectPut` : Provider applications access the Firehose stream directly. * - `KinesisStreamAsSource` : The Firehose stream uses a Kinesis data stream as a source. */ readonly deliveryStreamType: pulumi.Output; /** * The structure that configures parameters such as `ThroughputHintInMBs` for a stream configured with Direct PUT as a source. */ readonly directPutSourceConfiguration: pulumi.Output; /** * An Amazon ES destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon ES destination to an Amazon S3 or Amazon Redshift destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ readonly elasticsearchDestinationConfiguration: pulumi.Output; /** * An Amazon S3 destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon Extended S3 destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ readonly extendedS3DestinationConfiguration: pulumi.Output; /** * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one destination. */ readonly httpEndpointDestinationConfiguration: pulumi.Output; /** * Specifies the destination configure settings for Apache Iceberg Table. */ readonly icebergDestinationConfiguration: pulumi.Output; /** * When a Kinesis stream is used as the source for the delivery stream, a [KinesisStreamSourceConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html) containing the Kinesis stream ARN and the role ARN for the source stream. */ readonly kinesisStreamSourceConfiguration: pulumi.Output; /** * The configuration for the Amazon MSK cluster to be used as the source for a delivery stream. */ readonly mskSourceConfiguration: pulumi.Output; /** * An Amazon Redshift destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon Redshift destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ readonly redshiftDestinationConfiguration: pulumi.Output; /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon S3 destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ readonly s3DestinationConfiguration: pulumi.Output; /** * Configure Snowflake destination */ readonly snowflakeDestinationConfiguration: pulumi.Output; /** * The configuration of a destination in Splunk for the delivery stream. */ readonly splunkDestinationConfiguration: pulumi.Output; /** * A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can define and assign to AWS resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the AWS Billing and Cost Management User Guide. * * You can specify up to 50 tags when creating a Firehose stream. * * If you specify tags in the `CreateDeliveryStream` action, Amazon Data Firehose performs an additional authorization on the `firehose:TagDeliveryStream` action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose streams with IAM resource tags will fail with an `AccessDeniedException` such as following. * * *AccessDeniedException* * * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. * * For an example IAM policy, see [Tag example.](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html#API_CreateDeliveryStream_Examples) */ readonly tags: pulumi.Output; /** * Create a DeliveryStream 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?: DeliveryStreamArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a DeliveryStream resource. */ export interface DeliveryStreamArgs { /** * Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service. */ amazonOpenSearchServerlessDestinationConfiguration?: pulumi.Input; /** * The destination in Amazon OpenSearch Service. You can specify only one destination. */ amazonopensearchserviceDestinationConfiguration?: pulumi.Input; /** * The top level object for configuring streams with database as a source. * * Amazon Data Firehose is in preview release and is subject to change. */ databaseSourceConfiguration?: pulumi.Input; /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). */ deliveryStreamEncryptionConfigurationInput?: pulumi.Input; /** * The name of the Firehose stream. */ deliveryStreamName?: pulumi.Input; /** * The Firehose stream type. This can be one of the following values: * * - `DirectPut` : Provider applications access the Firehose stream directly. * - `KinesisStreamAsSource` : The Firehose stream uses a Kinesis data stream as a source. */ deliveryStreamType?: pulumi.Input; /** * The structure that configures parameters such as `ThroughputHintInMBs` for a stream configured with Direct PUT as a source. */ directPutSourceConfiguration?: pulumi.Input; /** * An Amazon ES destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon ES destination to an Amazon S3 or Amazon Redshift destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ elasticsearchDestinationConfiguration?: pulumi.Input; /** * An Amazon S3 destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon Extended S3 destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ extendedS3DestinationConfiguration?: pulumi.Input; /** * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one destination. */ httpEndpointDestinationConfiguration?: pulumi.Input; /** * Specifies the destination configure settings for Apache Iceberg Table. */ icebergDestinationConfiguration?: pulumi.Input; /** * When a Kinesis stream is used as the source for the delivery stream, a [KinesisStreamSourceConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html) containing the Kinesis stream ARN and the role ARN for the source stream. */ kinesisStreamSourceConfiguration?: pulumi.Input; /** * The configuration for the Amazon MSK cluster to be used as the source for a delivery stream. */ mskSourceConfiguration?: pulumi.Input; /** * An Amazon Redshift destination for the delivery stream. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon Redshift destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ redshiftDestinationConfiguration?: pulumi.Input; /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. * * Conditional. You must specify only one destination configuration. * * If you change the delivery stream destination from an Amazon S3 destination to an Amazon ES destination, update requires [some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt) . */ s3DestinationConfiguration?: pulumi.Input; /** * Configure Snowflake destination */ snowflakeDestinationConfiguration?: pulumi.Input; /** * The configuration of a destination in Splunk for the delivery stream. */ splunkDestinationConfiguration?: pulumi.Input; /** * A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can define and assign to AWS resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the AWS Billing and Cost Management User Guide. * * You can specify up to 50 tags when creating a Firehose stream. * * If you specify tags in the `CreateDeliveryStream` action, Amazon Data Firehose performs an additional authorization on the `firehose:TagDeliveryStream` action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose streams with IAM resource tags will fail with an `AccessDeniedException` such as following. * * *AccessDeniedException* * * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. * * For an example IAM policy, see [Tag example.](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html#API_CreateDeliveryStream_Examples) */ tags?: pulumi.Input[]>; }