@altostra/core
Version:
Core library for shared types and logic
24 lines (23 loc) • 1.01 kB
TypeScript
import type { Arn } from "../../CustomTypes/Arn";
import type { AwsResourceCommon } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
import type { TopicSubscription, TopicSubscriptionProtocol } from "./common";
import type { FilterPolicy } from "./FilterPolicy";
export declare type SubscriptionType = 'AWS::SNS::Subscription';
export interface Subscription extends AwsResourceCommon {
Type: SubscriptionType;
Properties: SubscriptionProperties;
}
export interface SubscriptionProperties extends TopicSubscription {
TopicArn: CloudFormationValue<Arn>;
FilterPolicy?: FilterPolicy;
DeliveryPolicy?: object;
Endpoint: CloudFormationValue;
FilterPolicyScope?: FilterPolicyScope;
Protocol: TopicSubscriptionProtocol;
RawMessageDelivery?: boolean;
RedrivePolicy?: object;
Region?: CloudFormationValue;
SubscriptionRoleArn?: CloudFormationValue<Arn>;
}
export declare type FilterPolicyScope = 'MessageAttributes' | 'MessageBody';