awssns

package
v1.106.1-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2021 License: Apache-2.0 Imports: 10 Imported by: 21

Documentation

Index

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 CfnTopic_SubscriptionProperty

type CfnTopic_SubscriptionProperty struct {
	// `CfnTopic.SubscriptionProperty.Endpoint`.
	Endpoint *string `json:"endpoint"`
	// `CfnTopic.SubscriptionProperty.Protocol`.
	Protocol *string `json:"protocol"`
}

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

func Topic_FromTopicArn(scope constructs.Construct, id *string, topicArn *string) ITopic

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL