import cdk = require('@aws-cdk/cdk'); export declare namespace cloudformation { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html */ interface QueueResourceProps { /** * ``AWS::SQS::Queue.ContentBasedDeduplication`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-contentbaseddeduplication */ contentBasedDeduplication?: boolean | cdk.Token; /** * ``AWS::SQS::Queue.DelaySeconds`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-delayseconds */ delaySeconds?: number | cdk.Token; /** * ``AWS::SQS::Queue.FifoQueue`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-fifoqueue */ fifoQueue?: boolean | cdk.Token; /** * ``AWS::SQS::Queue.KmsDataKeyReusePeriodSeconds`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsdatakeyreuseperiodseconds */ kmsDataKeyReusePeriodSeconds?: number | cdk.Token; /** * ``AWS::SQS::Queue.KmsMasterKeyId`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsmasterkeyid */ kmsMasterKeyId?: string | cdk.Token; /** * ``AWS::SQS::Queue.MaximumMessageSize`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-maxmesgsize */ maximumMessageSize?: number | cdk.Token; /** * ``AWS::SQS::Queue.MessageRetentionPeriod`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-msgretentionperiod */ messageRetentionPeriod?: number | cdk.Token; /** * ``AWS::SQS::Queue.QueueName`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-name */ queueName?: string | cdk.Token; /** * ``AWS::SQS::Queue.ReceiveMessageWaitTimeSeconds`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-receivemsgwaittime */ receiveMessageWaitTimeSeconds?: number | cdk.Token; /** * ``AWS::SQS::Queue.RedrivePolicy`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-redrive */ redrivePolicy?: object | cdk.Token; /** * ``AWS::SQS::Queue.VisibilityTimeout`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-visiblitytimeout */ visibilityTimeout?: number | cdk.Token; } /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html */ class QueueResource extends cdk.Resource { /** * The CloudFormation resource type name for this resource class. */ static readonly resourceTypeName: string; /** * @cloudformation_attribute Arn */ readonly queueArn: QueueArn; /** * @cloudformation_attribute QueueName */ readonly queueName: QueueName; /** * Creates a new ``AWS::SQS::Queue``. * * @param parent the ``cdk.Construct`` this ``QueueResource`` is a part of * @param name the name of the resource in the ``cdk.Construct`` tree * @param properties the properties of this ``QueueResource`` */ constructor(parent: cdk.Construct, name: string, properties?: QueueResourceProps); protected renderProperties(): { [key: string]: any; }; } } export declare class QueueArn extends cdk.Arn { } export declare class QueueName extends cdk.Token { } export declare namespace cloudformation { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html */ interface QueuePolicyResourceProps { /** * ``AWS::SQS::QueuePolicy.PolicyDocument`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-policydoc */ policyDocument: object | cdk.Token; /** * ``AWS::SQS::QueuePolicy.Queues`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-queues */ queues: Array | cdk.Token; } /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html */ class QueuePolicyResource extends cdk.Resource { /** * The CloudFormation resource type name for this resource class. */ static readonly resourceTypeName: string; /** * Creates a new ``AWS::SQS::QueuePolicy``. * * @param parent the ``cdk.Construct`` this ``QueuePolicyResource`` is a part of * @param name the name of the resource in the ``cdk.Construct`` tree * @param properties the properties of this ``QueuePolicyResource`` */ constructor(parent: cdk.Construct, name: string, properties: QueuePolicyResourceProps); protected renderProperties(): { [key: string]: any; }; } }