import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::KinesisFirehose::DeliveryStream
 */
export declare function getDeliveryStream(args: GetDeliveryStreamArgs, opts?: pulumi.InvokeOptions): Promise<GetDeliveryStreamResult>;
export interface GetDeliveryStreamArgs {
    /**
     * The name of the Firehose stream.
     */
    deliveryStreamName: string;
}
export interface GetDeliveryStreamResult {
    /**
     * The Amazon Resource Name (ARN) of the delivery stream, such as `arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name` .
     */
    readonly arn?: string;
    /**
     * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE).
     */
    readonly deliveryStreamEncryptionConfigurationInput?: outputs.kinesisfirehose.DeliveryStreamEncryptionConfigurationInput;
    /**
     * 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?: outputs.kinesisfirehose.DeliveryStreamExtendedS3DestinationConfiguration;
    /**
     * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one destination.
     */
    readonly httpEndpointDestinationConfiguration?: outputs.kinesisfirehose.DeliveryStreamHttpEndpointDestinationConfiguration;
    /**
     * 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?: outputs.kinesisfirehose.DeliveryStreamRedshiftDestinationConfiguration;
    /**
     * The configuration of a destination in Splunk for the delivery stream.
     */
    readonly splunkDestinationConfiguration?: outputs.kinesisfirehose.DeliveryStreamSplunkDestinationConfiguration;
    /**
     * 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?: outputs.Tag[];
}
/**
 * Resource Type definition for AWS::KinesisFirehose::DeliveryStream
 */
export declare function getDeliveryStreamOutput(args: GetDeliveryStreamOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDeliveryStreamResult>;
export interface GetDeliveryStreamOutputArgs {
    /**
     * The name of the Firehose stream.
     */
    deliveryStreamName: pulumi.Input<string>;
}
