import cdk = require('@aws-cdk/cdk'); export declare namespace cloudformation { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html */ interface SubscriptionResourceProps { /** * ``AWS::SNS::Subscription.Endpoint`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint */ endpoint?: string | cdk.Token; /** * ``AWS::SNS::Subscription.Protocol`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol */ protocol?: string | cdk.Token; /** * ``AWS::SNS::Subscription.TopicArn`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn */ topicArn?: string | cdk.Token; } /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html */ class SubscriptionResource extends cdk.Resource { /** * The CloudFormation resource type name for this resource class. */ static readonly resourceTypeName: string; /** * Creates a new ``AWS::SNS::Subscription``. * * @param parent the ``cdk.Construct`` this ``SubscriptionResource`` is a part of * @param name the name of the resource in the ``cdk.Construct`` tree * @param properties the properties of this ``SubscriptionResource`` */ constructor(parent: cdk.Construct, name: string, properties?: SubscriptionResourceProps); protected renderProperties(): { [key: string]: any; }; } } export declare namespace cloudformation { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html */ interface TopicResourceProps { /** * ``AWS::SNS::Topic.DisplayName`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname */ displayName?: string | cdk.Token; /** * ``AWS::SNS::Topic.Subscription`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription */ subscription?: Array | cdk.Token; /** * ``AWS::SNS::Topic.TopicName`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname */ topicName?: string | cdk.Token; } /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html */ class TopicResource extends cdk.Resource { /** * The CloudFormation resource type name for this resource class. */ static readonly resourceTypeName: string; /** * @cloudformation_attribute TopicName */ readonly topicName: TopicName; /** * Creates a new ``AWS::SNS::Topic``. * * @param parent the ``cdk.Construct`` this ``TopicResource`` is a part of * @param name the name of the resource in the ``cdk.Construct`` tree * @param properties the properties of this ``TopicResource`` */ constructor(parent: cdk.Construct, name: string, properties?: TopicResourceProps); protected renderProperties(): { [key: string]: any; }; } namespace TopicResource { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html */ interface SubscriptionProperty { /** * ``TopicResource.SubscriptionProperty.Endpoint`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-endpoint */ endpoint: string | cdk.Token; /** * ``TopicResource.SubscriptionProperty.Protocol`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-protocol */ protocol: string | cdk.Token; } } } export declare class TopicName extends cdk.Token { } export declare namespace cloudformation { /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html */ interface TopicPolicyResourceProps { /** * ``AWS::SNS::TopicPolicy.PolicyDocument`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-policydocument */ policyDocument: object | cdk.Token; /** * ``AWS::SNS::TopicPolicy.Topics`` * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-topics */ topics: Array | cdk.Token; } /** * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html */ class TopicPolicyResource extends cdk.Resource { /** * The CloudFormation resource type name for this resource class. */ static readonly resourceTypeName: string; /** * Creates a new ``AWS::SNS::TopicPolicy``. * * @param parent the ``cdk.Construct`` this ``TopicPolicyResource`` is a part of * @param name the name of the resource in the ``cdk.Construct`` tree * @param properties the properties of this ``TopicPolicyResource`` */ constructor(parent: cdk.Construct, name: string, properties: TopicPolicyResourceProps); protected renderProperties(): { [key: string]: any; }; } }