Documentation ¶
Index ¶
- func CfnSubscription_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubscription_IsCfnElement(x interface{}) *bool
- func CfnSubscription_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubscription_IsConstruct(x interface{}) *bool
- func CfnTopicPolicy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTopicPolicy_IsCfnElement(x interface{}) *bool
- func CfnTopicPolicy_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTopicPolicy_IsConstruct(x interface{}) *bool
- func CfnTopic_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTopic_IsCfnElement(x interface{}) *bool
- func CfnTopic_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTopic_IsConstruct(x interface{}) *bool
- func NewCfnSubscription_Override(c CfnSubscription, scope awscdk.Construct, id *string, ...)
- func NewCfnTopicPolicy_Override(c CfnTopicPolicy, scope awscdk.Construct, id *string, ...)
- func NewCfnTopic_Override(c CfnTopic, scope awscdk.Construct, id *string, props *CfnTopicProps)
- func NewSubscriptionFilter_Override(s SubscriptionFilter, conditions *[]interface{})
- func NewSubscription_Override(s Subscription, scope constructs.Construct, id *string, ...)
- func NewTopicBase_Override(t TopicBase, scope constructs.Construct, id *string, ...)
- func NewTopicPolicy_Override(t TopicPolicy, scope constructs.Construct, id *string, props *TopicPolicyProps)
- func NewTopic_Override(t Topic, scope constructs.Construct, id *string, props *TopicProps)
- func Subscription_IsConstruct(x interface{}) *bool
- func Subscription_IsResource(construct awscdk.IConstruct) *bool
- func TopicBase_IsConstruct(x interface{}) *bool
- func TopicBase_IsResource(construct awscdk.IConstruct) *bool
- func TopicPolicy_IsConstruct(x interface{}) *bool
- func TopicPolicy_IsResource(construct awscdk.IConstruct) *bool
- func Topic_IsConstruct(x interface{}) *bool
- func Topic_IsResource(construct awscdk.IConstruct) *bool
- type BetweenCondition
- type CfnSubscription
- type CfnSubscriptionProps
- type CfnTopic
- type CfnTopicPolicy
- type CfnTopicPolicyProps
- type CfnTopicProps
- type CfnTopic_SubscriptionProperty
- type ITopic
- type ITopicSubscription
- type NumericConditions
- type StringConditions
- type Subscription
- type SubscriptionFilter
- func NewSubscriptionFilter(conditions *[]interface{}) SubscriptionFilter
- func SubscriptionFilter_ExistsFilter() SubscriptionFilter
- func SubscriptionFilter_NumericFilter(numericConditions *NumericConditions) SubscriptionFilter
- func SubscriptionFilter_StringFilter(stringConditions *StringConditions) SubscriptionFilter
- type SubscriptionOptions
- type SubscriptionProps
- type SubscriptionProtocol
- type Topic
- type TopicBase
- type TopicPolicy
- type TopicPolicyProps
- type TopicProps
- type TopicSubscriptionConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnSubscription_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubscription_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubscription_IsCfnElement ¶
func CfnSubscription_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnSubscription_IsCfnResource ¶
func CfnSubscription_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnSubscription_IsConstruct ¶
func CfnSubscription_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnTopicPolicy_CFN_RESOURCE_TYPE_NAME ¶
func CfnTopicPolicy_CFN_RESOURCE_TYPE_NAME() *string
func CfnTopicPolicy_IsCfnElement ¶
func CfnTopicPolicy_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnTopicPolicy_IsCfnResource ¶
func CfnTopicPolicy_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTopicPolicy_IsConstruct ¶
func CfnTopicPolicy_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnTopic_CFN_RESOURCE_TYPE_NAME ¶
func CfnTopic_CFN_RESOURCE_TYPE_NAME() *string
func CfnTopic_IsCfnElement ¶
func CfnTopic_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnTopic_IsCfnResource ¶
func CfnTopic_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTopic_IsConstruct ¶
func CfnTopic_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCfnSubscription_Override ¶
func NewCfnSubscription_Override(c CfnSubscription, scope awscdk.Construct, id *string, props *CfnSubscriptionProps)
Create a new `AWS::SNS::Subscription`.
func NewCfnTopicPolicy_Override ¶
func NewCfnTopicPolicy_Override(c CfnTopicPolicy, scope awscdk.Construct, id *string, props *CfnTopicPolicyProps)
Create a new `AWS::SNS::TopicPolicy`.
func NewCfnTopic_Override ¶
func NewCfnTopic_Override(c CfnTopic, scope awscdk.Construct, id *string, props *CfnTopicProps)
Create a new `AWS::SNS::Topic`.
func NewSubscriptionFilter_Override ¶
func NewSubscriptionFilter_Override(s SubscriptionFilter, conditions *[]interface{})
Experimental.
func NewSubscription_Override ¶
func NewSubscription_Override(s Subscription, scope constructs.Construct, id *string, props *SubscriptionProps)
Experimental.
func NewTopicBase_Override ¶
func NewTopicBase_Override(t TopicBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
Experimental.
func NewTopicPolicy_Override ¶
func NewTopicPolicy_Override(t TopicPolicy, scope constructs.Construct, id *string, props *TopicPolicyProps)
Experimental.
func NewTopic_Override ¶
func NewTopic_Override(t Topic, scope constructs.Construct, id *string, props *TopicProps)
Experimental.
func Subscription_IsConstruct ¶
func Subscription_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Subscription_IsResource ¶
func Subscription_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func TopicBase_IsConstruct ¶
func TopicBase_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func TopicBase_IsResource ¶
func TopicBase_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func TopicPolicy_IsConstruct ¶
func TopicPolicy_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func TopicPolicy_IsResource ¶
func TopicPolicy_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func Topic_IsConstruct ¶
func Topic_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Topic_IsResource ¶
func Topic_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
Types ¶
type BetweenCondition ¶
type BetweenCondition struct { // The start value. // Experimental. Start *float64 `json:"start"` // The stop value. // Experimental. Stop *float64 `json:"stop"` }
Between condition for a numeric attribute. Experimental.
type CfnSubscription ¶
type CfnSubscription interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string DeliveryPolicy() interface{} SetDeliveryPolicy(val interface{}) Endpoint() *string SetEndpoint(val *string) FilterPolicy() interface{} SetFilterPolicy(val interface{}) LogicalId() *string Node() awscdk.ConstructNode Protocol() *string SetProtocol(val *string) RawMessageDelivery() interface{} SetRawMessageDelivery(val interface{}) RedrivePolicy() interface{} SetRedrivePolicy(val interface{}) Ref() *string Region() *string SetRegion(val *string) Stack() awscdk.Stack SubscriptionRoleArn() *string SetSubscriptionRoleArn(val *string) TopicArn() *string SetTopicArn(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::SNS::Subscription`.
func NewCfnSubscription ¶
func NewCfnSubscription(scope awscdk.Construct, id *string, props *CfnSubscriptionProps) CfnSubscription
Create a new `AWS::SNS::Subscription`.
type CfnSubscriptionProps ¶
type CfnSubscriptionProps struct { // `AWS::SNS::Subscription.Protocol`. Protocol *string `json:"protocol"` // `AWS::SNS::Subscription.TopicArn`. TopicArn *string `json:"topicArn"` // `AWS::SNS::Subscription.DeliveryPolicy`. DeliveryPolicy interface{} `json:"deliveryPolicy"` // `AWS::SNS::Subscription.Endpoint`. Endpoint *string `json:"endpoint"` // `AWS::SNS::Subscription.FilterPolicy`. FilterPolicy interface{} `json:"filterPolicy"` // `AWS::SNS::Subscription.RawMessageDelivery`. RawMessageDelivery interface{} `json:"rawMessageDelivery"` // `AWS::SNS::Subscription.RedrivePolicy`. RedrivePolicy interface{} `json:"redrivePolicy"` // `AWS::SNS::Subscription.Region`. Region *string `json:"region"` // `AWS::SNS::Subscription.SubscriptionRoleArn`. SubscriptionRoleArn *string `json:"subscriptionRoleArn"` }
Properties for defining a `AWS::SNS::Subscription`.
type CfnTopic ¶
type CfnTopic interface { awscdk.CfnResource awscdk.IInspectable AttrTopicName() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ContentBasedDeduplication() interface{} SetContentBasedDeduplication(val interface{}) CreationStack() *[]*string DisplayName() *string SetDisplayName(val *string) FifoTopic() interface{} SetFifoTopic(val interface{}) KmsMasterKeyId() *string SetKmsMasterKeyId(val *string) LogicalId() *string Node() awscdk.ConstructNode Ref() *string Stack() awscdk.Stack Subscription() interface{} SetSubscription(val interface{}) Tags() awscdk.TagManager TopicName() *string SetTopicName(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::SNS::Topic`.
func NewCfnTopic ¶
func NewCfnTopic(scope awscdk.Construct, id *string, props *CfnTopicProps) CfnTopic
Create a new `AWS::SNS::Topic`.
type CfnTopicPolicy ¶
type CfnTopicPolicy interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string LogicalId() *string Node() awscdk.ConstructNode PolicyDocument() interface{} SetPolicyDocument(val interface{}) Ref() *string Stack() awscdk.Stack Topics() *[]*string SetTopics(val *[]*string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::SNS::TopicPolicy`.
func NewCfnTopicPolicy ¶
func NewCfnTopicPolicy(scope awscdk.Construct, id *string, props *CfnTopicPolicyProps) CfnTopicPolicy
Create a new `AWS::SNS::TopicPolicy`.
type CfnTopicPolicyProps ¶
type CfnTopicPolicyProps struct { // `AWS::SNS::TopicPolicy.PolicyDocument`. PolicyDocument interface{} `json:"policyDocument"` // `AWS::SNS::TopicPolicy.Topics`. Topics *[]*string `json:"topics"` }
Properties for defining a `AWS::SNS::TopicPolicy`.
type CfnTopicProps ¶
type CfnTopicProps struct { // `AWS::SNS::Topic.ContentBasedDeduplication`. ContentBasedDeduplication interface{} `json:"contentBasedDeduplication"` // `AWS::SNS::Topic.DisplayName`. DisplayName *string `json:"displayName"` // `AWS::SNS::Topic.FifoTopic`. FifoTopic interface{} `json:"fifoTopic"` // `AWS::SNS::Topic.KmsMasterKeyId`. KmsMasterKeyId *string `json:"kmsMasterKeyId"` // `AWS::SNS::Topic.Subscription`. Subscription interface{} `json:"subscription"` // `AWS::SNS::Topic.Tags`. Tags *[]*awscdk.CfnTag `json:"tags"` // `AWS::SNS::Topic.TopicName`. TopicName *string `json:"topicName"` }
Properties for defining a `AWS::SNS::Topic`.
type ITopic ¶
type ITopic interface { awscdk.IResource // Subscribe some endpoint to this topic. // Experimental. AddSubscription(subscription ITopicSubscription) // Adds a statement to the IAM resource policy associated with this topic. // // If this topic was created in this stack (`new Topic`), a topic policy // will be automatically created upon the first call to `addToPolicy`. If // the topic is imported (`Topic.import`), then this is a no-op. // Experimental. AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult // Grant topic publishing permissions to the given identity. // Experimental. GrantPublish(identity awsiam.IGrantable) awsiam.Grant // Return the given named metric for this Topic. // Experimental. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages published to your Amazon SNS topics. // // Sum over 5 minutes // Experimental. MetricNumberOfMessagesPublished(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints. // // Sum over 5 minutes // Experimental. MetricNumberOfNotificationsDelivered(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages that Amazon SNS failed to deliver. // // Sum over 5 minutes // Experimental. MetricNumberOfNotificationsFailed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages that were rejected by subscription filter policies. // // Sum over 5 minutes // Experimental. MetricNumberOfNotificationsFilteredOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid. // // Sum over 5 minutes // Experimental. MetricNumberOfNotificationsFilteredOutInvalidAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of messages that were rejected by subscription filter policies because the messages have no attributes. // // Sum over 5 minutes // Experimental. MetricNumberOfNotificationsFilteredOutNoMessageAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Metric for the size of messages published through this topic. // // Average over 5 minutes // Experimental. MetricPublishSize(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The charges you have accrued since the start of the current calendar month for sending SMS messages. // // Maximum over 5 minutes // Experimental. MetricSMSMonthToDateSpentUSD(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The rate of successful SMS message deliveries. // // Sum over 5 minutes // Experimental. MetricSMSSuccessRate(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The ARN of the topic. // Experimental. TopicArn() *string // The name of the topic. // Experimental. TopicName() *string }
Represents an SNS topic. Experimental.
func Topic_FromTopicArn ¶
Import an existing SNS topic provided an ARN. Experimental.
type ITopicSubscription ¶
type ITopicSubscription interface { // Returns a configuration used to subscribe to an SNS topic. // Experimental. Bind(topic ITopic) *TopicSubscriptionConfig }
Topic subscription. Experimental.
type NumericConditions ¶
type NumericConditions struct { // Match one or more values. // Experimental. Allowlist *[]*float64 `json:"allowlist"` // Match values that are between the specified values. // Experimental. Between *BetweenCondition `json:"between"` // Match values that are strictly between the specified values. // Experimental. BetweenStrict *BetweenCondition `json:"betweenStrict"` // Match values that are greater than the specified value. // Experimental. GreaterThan *float64 `json:"greaterThan"` // Match values that are greater than or equal to the specified value. // Experimental. GreaterThanOrEqualTo *float64 `json:"greaterThanOrEqualTo"` // Match values that are less than the specified value. // Experimental. LessThan *float64 `json:"lessThan"` // Match values that are less than or equal to the specified value. // Experimental. LessThanOrEqualTo *float64 `json:"lessThanOrEqualTo"` // Match one or more values. // Deprecated: use `allowlist` Whitelist *[]*float64 `json:"whitelist"` }
Conditions that can be applied to numeric attributes. Experimental.
type StringConditions ¶
type StringConditions struct { // Match one or more values. // Experimental. Allowlist *[]*string `json:"allowlist"` // Match any value that doesn't include any of the specified values. // Deprecated: use `denylist` Blacklist *[]*string `json:"blacklist"` // Match any value that doesn't include any of the specified values. // Experimental. Denylist *[]*string `json:"denylist"` // Matches values that begins with the specified prefixes. // Experimental. MatchPrefixes *[]*string `json:"matchPrefixes"` // Match one or more values. // Deprecated: use `allowlist` Whitelist *[]*string `json:"whitelist"` }
Conditions that can be applied to string attributes. Experimental.
type Subscription ¶
type Subscription interface { awscdk.Resource DeadLetterQueue() awssqs.IQueue Env() *awscdk.ResourceEnvironment Node() awscdk.ConstructNode PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
A new subscription.
Prefer to use the `ITopic.addSubscription()` methods to create instances of this class. Experimental.
func NewSubscription ¶
func NewSubscription(scope constructs.Construct, id *string, props *SubscriptionProps) Subscription
Experimental.
type SubscriptionFilter ¶
type SubscriptionFilter interface {
Conditions() *[]interface{}
}
A subscription filter for an attribute. Experimental.
func NewSubscriptionFilter ¶
func NewSubscriptionFilter(conditions *[]interface{}) SubscriptionFilter
Experimental.
func SubscriptionFilter_ExistsFilter ¶
func SubscriptionFilter_ExistsFilter() SubscriptionFilter
Returns a subscription filter for attribute key matching. Experimental.
func SubscriptionFilter_NumericFilter ¶
func SubscriptionFilter_NumericFilter(numericConditions *NumericConditions) SubscriptionFilter
Returns a subscription filter for a numeric attribute. Experimental.
func SubscriptionFilter_StringFilter ¶
func SubscriptionFilter_StringFilter(stringConditions *StringConditions) SubscriptionFilter
Returns a subscription filter for a string attribute. Experimental.
type SubscriptionOptions ¶
type SubscriptionOptions struct { // The subscription endpoint. // // The meaning of this value depends on the value for 'protocol'. // Experimental. Endpoint *string `json:"endpoint"` // What type of subscription to add. // Experimental. Protocol SubscriptionProtocol `json:"protocol"` // Queue to be used as dead letter queue. // // If not passed no dead letter queue is enabled. // Experimental. DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"` // The filter policy. // Experimental. FilterPolicy *map[string]SubscriptionFilter `json:"filterPolicy"` // true if raw message delivery is enabled for the subscription. // // Raw messages are free of JSON formatting and can be // sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple // Notification Service API Reference. // Experimental. RawMessageDelivery *bool `json:"rawMessageDelivery"` // The region where the topic resides, in the case of cross-region subscriptions. // Experimental. Region *string `json:"region"` }
Options for creating a new subscription. Experimental.
type SubscriptionProps ¶
type SubscriptionProps struct { // The subscription endpoint. // // The meaning of this value depends on the value for 'protocol'. // Experimental. Endpoint *string `json:"endpoint"` // What type of subscription to add. // Experimental. Protocol SubscriptionProtocol `json:"protocol"` // Queue to be used as dead letter queue. // // If not passed no dead letter queue is enabled. // Experimental. DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"` // The filter policy. // Experimental. FilterPolicy *map[string]SubscriptionFilter `json:"filterPolicy"` // true if raw message delivery is enabled for the subscription. // // Raw messages are free of JSON formatting and can be // sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple // Notification Service API Reference. // Experimental. RawMessageDelivery *bool `json:"rawMessageDelivery"` // The region where the topic resides, in the case of cross-region subscriptions. // Experimental. Region *string `json:"region"` // The topic to subscribe to. // Experimental. Topic ITopic `json:"topic"` }
Properties for creating a new subscription. Experimental.
type SubscriptionProtocol ¶
type SubscriptionProtocol string
The type of subscription, controlling the type of the endpoint parameter. Experimental.
const ( SubscriptionProtocol_HTTP SubscriptionProtocol = "HTTP" SubscriptionProtocol_HTTPS SubscriptionProtocol = "HTTPS" SubscriptionProtocol_EMAIL SubscriptionProtocol = "EMAIL" SubscriptionProtocol_EMAIL_JSON SubscriptionProtocol = "EMAIL_JSON" SubscriptionProtocol_SMS SubscriptionProtocol = "SMS" SubscriptionProtocol_SQS SubscriptionProtocol = "SQS" SubscriptionProtocol_APPLICATION SubscriptionProtocol = "APPLICATION" SubscriptionProtocol_LAMBDA SubscriptionProtocol = "LAMBDA" )
type Topic ¶
type Topic interface { TopicBase AutoCreatePolicy() *bool Env() *awscdk.ResourceEnvironment Node() awscdk.ConstructNode PhysicalName() *string Stack() awscdk.Stack TopicArn() *string TopicName() *string AddSubscription(subscription ITopicSubscription) AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string GrantPublish(grantee awsiam.IGrantable) awsiam.Grant Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfMessagesPublished(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsDelivered(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFailed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOutInvalidAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOutNoMessageAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricPublishSize(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSMSMonthToDateSpentUSD(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSMSSuccessRate(props *awscloudwatch.MetricOptions) awscloudwatch.Metric OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
A new SNS topic. Experimental.
func NewTopic ¶
func NewTopic(scope constructs.Construct, id *string, props *TopicProps) Topic
Experimental.
type TopicBase ¶
type TopicBase interface { awscdk.Resource ITopic AutoCreatePolicy() *bool Env() *awscdk.ResourceEnvironment Node() awscdk.ConstructNode PhysicalName() *string Stack() awscdk.Stack TopicArn() *string TopicName() *string AddSubscription(subscription ITopicSubscription) AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string GrantPublish(grantee awsiam.IGrantable) awsiam.Grant Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfMessagesPublished(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsDelivered(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFailed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOut(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOutInvalidAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricNumberOfNotificationsFilteredOutNoMessageAttributes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricPublishSize(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSMSMonthToDateSpentUSD(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricSMSSuccessRate(props *awscloudwatch.MetricOptions) awscloudwatch.Metric OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Either a new or imported Topic. Experimental.
type TopicPolicy ¶
type TopicPolicy interface { awscdk.Resource Document() awsiam.PolicyDocument Env() *awscdk.ResourceEnvironment Node() awscdk.ConstructNode PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Applies a policy to SNS topics. Experimental.
func NewTopicPolicy ¶
func NewTopicPolicy(scope constructs.Construct, id *string, props *TopicPolicyProps) TopicPolicy
Experimental.
type TopicPolicyProps ¶
type TopicPolicyProps struct { // The set of topics this policy applies to. // Experimental. Topics *[]ITopic `json:"topics"` // IAM policy document to apply to topic(s). // Experimental. PolicyDocument awsiam.PolicyDocument `json:"policyDocument"` }
Properties to associate SNS topics with a policy. Experimental.
type TopicProps ¶
type TopicProps struct { // Enables content-based deduplication for FIFO topics. // Experimental. ContentBasedDeduplication *bool `json:"contentBasedDeduplication"` // A developer-defined string that can be used to identify this SNS topic. // Experimental. DisplayName *string `json:"displayName"` // Set to true to create a FIFO topic. // Experimental. Fifo *bool `json:"fifo"` // A KMS Key, either managed by this CDK app, or imported. // Experimental. MasterKey awskms.IKey `json:"masterKey"` // A name for the topic. // // If you don't specify a name, AWS CloudFormation generates a unique // physical ID and uses that ID for the topic name. For more information, // see Name Type. // Experimental. TopicName *string `json:"topicName"` }
Properties for a new SNS topic. Experimental.
type TopicSubscriptionConfig ¶
type TopicSubscriptionConfig struct { // The subscription endpoint. // // The meaning of this value depends on the value for 'protocol'. // Experimental. Endpoint *string `json:"endpoint"` // What type of subscription to add. // Experimental. Protocol SubscriptionProtocol `json:"protocol"` // Queue to be used as dead letter queue. // // If not passed no dead letter queue is enabled. // Experimental. DeadLetterQueue awssqs.IQueue `json:"deadLetterQueue"` // The filter policy. // Experimental. FilterPolicy *map[string]SubscriptionFilter `json:"filterPolicy"` // true if raw message delivery is enabled for the subscription. // // Raw messages are free of JSON formatting and can be // sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple // Notification Service API Reference. // Experimental. RawMessageDelivery *bool `json:"rawMessageDelivery"` // The region where the topic resides, in the case of cross-region subscriptions. // Experimental. Region *string `json:"region"` // The id of the SNS subscription resource created under `scope`. // // In most // cases, it is recommended to use the `uniqueId` of the topic you are // subscribing to. // Experimental. SubscriberId *string `json:"subscriberId"` // The scope in which to create the SNS subscription resource. // // Normally you'd // want the subscription to be created on the consuming stack because the // topic is usually referenced by the consumer's resource policy (e.g. SQS // queue policy). Otherwise, it will cause a cyclic reference. // // If this is undefined, the subscription will be created on the topic's stack. // Experimental. SubscriberScope awscdk.Construct `json:"subscriberScope"` }
Subscription configuration. Experimental.