sns

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TopicLoggingConfigProtocolHttps       = TopicLoggingConfigProtocol("http/s")
	TopicLoggingConfigProtocolSqs         = TopicLoggingConfigProtocol("sqs")
	TopicLoggingConfigProtocolLambda      = TopicLoggingConfigProtocol("lambda")
	TopicLoggingConfigProtocolFirehose    = TopicLoggingConfigProtocol("firehose")
	TopicLoggingConfigProtocolApplication = TopicLoggingConfigProtocol("application")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupSubscriptionArgs added in v0.12.0

type LookupSubscriptionArgs struct {
	// Arn of the subscription
	Arn string `pulumi:"arn"`
}

type LookupSubscriptionOutputArgs added in v0.12.0

type LookupSubscriptionOutputArgs struct {
	// Arn of the subscription
	Arn pulumi.StringInput `pulumi:"arn"`
}

func (LookupSubscriptionOutputArgs) ElementType added in v0.12.0

type LookupSubscriptionResult added in v0.12.0

type LookupSubscriptionResult struct {
	// Arn of the subscription
	Arn *string `pulumi:"arn"`
	// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	DeliveryPolicy interface{} `pulumi:"deliveryPolicy"`
	// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	FilterPolicy interface{} `pulumi:"filterPolicy"`
	// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody.
	FilterPolicyScope *string `pulumi:"filterPolicyScope"`
	// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints.
	RawMessageDelivery *bool `pulumi:"rawMessageDelivery"`
	// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	RedrivePolicy interface{} `pulumi:"redrivePolicy"`
	// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	ReplayPolicy interface{} `pulumi:"replayPolicy"`
	// This property applies only to Amazon Data Firehose delivery stream subscriptions.
	SubscriptionRoleArn *string `pulumi:"subscriptionRoleArn"`
}

func LookupSubscription added in v0.12.0

func LookupSubscription(ctx *pulumi.Context, args *LookupSubscriptionArgs, opts ...pulumi.InvokeOption) (*LookupSubscriptionResult, error)

Resource Type definition for AWS::SNS::Subscription

type LookupSubscriptionResultOutput added in v0.12.0

type LookupSubscriptionResultOutput struct{ *pulumi.OutputState }

func LookupSubscriptionOutput added in v0.12.0

func (LookupSubscriptionResultOutput) Arn added in v0.122.0

Arn of the subscription

func (LookupSubscriptionResultOutput) DeliveryPolicy added in v0.12.0

func (o LookupSubscriptionResultOutput) DeliveryPolicy() pulumi.AnyOutput

The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (LookupSubscriptionResultOutput) ElementType added in v0.12.0

func (LookupSubscriptionResultOutput) FilterPolicy added in v0.12.0

The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (LookupSubscriptionResultOutput) FilterPolicyScope added in v0.46.0

This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody.

func (LookupSubscriptionResultOutput) RawMessageDelivery added in v0.12.0

func (o LookupSubscriptionResultOutput) RawMessageDelivery() pulumi.BoolPtrOutput

When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints.

func (LookupSubscriptionResultOutput) RedrivePolicy added in v0.12.0

When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (LookupSubscriptionResultOutput) ReplayPolicy added in v0.91.0

Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (LookupSubscriptionResultOutput) SubscriptionRoleArn added in v0.12.0

func (o LookupSubscriptionResultOutput) SubscriptionRoleArn() pulumi.StringPtrOutput

This property applies only to Amazon Data Firehose delivery stream subscriptions.

func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput added in v0.12.0

func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput() LookupSubscriptionResultOutput

func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext added in v0.12.0

func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext(ctx context.Context) LookupSubscriptionResultOutput

type LookupTopicArgs added in v0.12.0

type LookupTopicArgs struct {
	// Returns the ARN of an Amazon SNS topic.
	TopicArn string `pulumi:"topicArn"`
}

type LookupTopicInlinePolicyArgs added in v0.70.0

type LookupTopicInlinePolicyArgs struct {
	// The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
	TopicArn string `pulumi:"topicArn"`
}

type LookupTopicInlinePolicyOutputArgs added in v0.70.0

type LookupTopicInlinePolicyOutputArgs struct {
	// The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
	TopicArn pulumi.StringInput `pulumi:"topicArn"`
}

func (LookupTopicInlinePolicyOutputArgs) ElementType added in v0.70.0

type LookupTopicInlinePolicyResult added in v0.70.0

type LookupTopicInlinePolicyResult struct {
	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicInlinePolicy` for more information about the expected schema for this property.
	PolicyDocument interface{} `pulumi:"policyDocument"`
}

func LookupTopicInlinePolicy added in v0.70.0

func LookupTopicInlinePolicy(ctx *pulumi.Context, args *LookupTopicInlinePolicyArgs, opts ...pulumi.InvokeOption) (*LookupTopicInlinePolicyResult, error)

Schema for AWS::SNS::TopicInlinePolicy

type LookupTopicInlinePolicyResultOutput added in v0.70.0

type LookupTopicInlinePolicyResultOutput struct{ *pulumi.OutputState }

func LookupTopicInlinePolicyOutput added in v0.70.0

func (LookupTopicInlinePolicyResultOutput) ElementType added in v0.70.0

func (LookupTopicInlinePolicyResultOutput) PolicyDocument added in v0.70.0

A policy document that contains permissions to add to the specified SNS topics.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicInlinePolicy` for more information about the expected schema for this property.

func (LookupTopicInlinePolicyResultOutput) ToLookupTopicInlinePolicyResultOutput added in v0.70.0

func (o LookupTopicInlinePolicyResultOutput) ToLookupTopicInlinePolicyResultOutput() LookupTopicInlinePolicyResultOutput

func (LookupTopicInlinePolicyResultOutput) ToLookupTopicInlinePolicyResultOutputWithContext added in v0.70.0

func (o LookupTopicInlinePolicyResultOutput) ToLookupTopicInlinePolicyResultOutputWithContext(ctx context.Context) LookupTopicInlinePolicyResultOutput

type LookupTopicOutputArgs added in v0.12.0

type LookupTopicOutputArgs struct {
	// Returns the ARN of an Amazon SNS topic.
	TopicArn pulumi.StringInput `pulumi:"topicArn"`
}

func (LookupTopicOutputArgs) ElementType added in v0.12.0

func (LookupTopicOutputArgs) ElementType() reflect.Type

type LookupTopicPolicyArgs added in v0.12.0

type LookupTopicPolicyArgs struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

type LookupTopicPolicyOutputArgs added in v0.12.0

type LookupTopicPolicyOutputArgs struct {
	// The provider-assigned unique ID for this managed resource.
	Id pulumi.StringInput `pulumi:"id"`
}

func (LookupTopicPolicyOutputArgs) ElementType added in v0.12.0

type LookupTopicPolicyResult added in v0.12.0

type LookupTopicPolicyResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id *string `pulumi:"id"`
	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.
	PolicyDocument interface{} `pulumi:"policyDocument"`
	// The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the “Ref“ function to specify an “AWS::SNS::Topic“ resource.
	Topics []string `pulumi:"topics"`
}

func LookupTopicPolicy added in v0.12.0

func LookupTopicPolicy(ctx *pulumi.Context, args *LookupTopicPolicyArgs, opts ...pulumi.InvokeOption) (*LookupTopicPolicyResult, error)

The “AWS::SNS::TopicPolicy“ resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*.

type LookupTopicPolicyResultOutput added in v0.12.0

type LookupTopicPolicyResultOutput struct{ *pulumi.OutputState }

func LookupTopicPolicyOutput added in v0.12.0

func (LookupTopicPolicyResultOutput) ElementType added in v0.12.0

func (LookupTopicPolicyResultOutput) Id added in v0.12.0

The provider-assigned unique ID for this managed resource.

func (LookupTopicPolicyResultOutput) PolicyDocument added in v0.12.0

func (o LookupTopicPolicyResultOutput) PolicyDocument() pulumi.AnyOutput

A policy document that contains permissions to add to the specified SNS topics.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.

func (LookupTopicPolicyResultOutput) ToLookupTopicPolicyResultOutput added in v0.12.0

func (o LookupTopicPolicyResultOutput) ToLookupTopicPolicyResultOutput() LookupTopicPolicyResultOutput

func (LookupTopicPolicyResultOutput) ToLookupTopicPolicyResultOutputWithContext added in v0.12.0

func (o LookupTopicPolicyResultOutput) ToLookupTopicPolicyResultOutputWithContext(ctx context.Context) LookupTopicPolicyResultOutput

func (LookupTopicPolicyResultOutput) Topics added in v0.12.0

The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the “Ref“ function to specify an “AWS::SNS::Topic“ resource.

type LookupTopicResult added in v0.12.0

type LookupTopicResult struct {
	// The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	ArchivePolicy interface{} `pulumi:"archivePolicy"`
	// Enables content-based deduplication for FIFO topics.
	//   +  By default, “ContentBasedDeduplication“ is set to “false“. If you create a FIFO topic and this attribute is “false“, you must specify a value for the “MessageDeduplicationId“ parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.
	//   +  When you set “ContentBasedDeduplication“ to “true“, SNS uses a SHA-256 hash to generate the “MessageDeduplicationId“ using the body of the message (but not the attributes of the message).
	//       (Optional) To override the generated value, you can specify a value for the the “MessageDeduplicationId“ parameter for the “Publish“ action.
	ContentBasedDeduplication *bool `pulumi:"contentBasedDeduplication"`
	// The body of the policy document you want to use for this topic.
	//  You can only add one policy per topic.
	//  The policy must be in JSON string format.
	//  Length Constraints: Maximum length of 30,720.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	DataProtectionPolicy interface{} `pulumi:"dataProtectionPolicy"`
	// The “DeliveryStatusLogging“ configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:
	//   +  HTTP
	//   +  Amazon Kinesis Data Firehose
	//   +   AWS Lambda
	//   +  Platform application endpoint
	//   +  Amazon Simple Queue Service
	//
	//  Once configured, log entries are sent to Amazon CloudWatch Logs.
	DeliveryStatusLogging []TopicLoggingConfig `pulumi:"deliveryStatusLogging"`
	// The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
	DisplayName *string `pulumi:"displayName"`
	// The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see “KeyId“ in the *API Reference*.
	//  This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).
	KmsMasterKeyId *string `pulumi:"kmsMasterKeyId"`
	// The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, “SignatureVersion“ is set to “1“.
	SignatureVersion *string `pulumi:"signatureVersion"`
	// The SNS subscriptions (endpoints) for this topic.
	//   If you specify the “Subscription“ property in the “AWS::SNS::Topic“ resource and it creates an associated subscription resource, the associated subscription is not deleted when the “AWS::SNS::Topic“ resource is deleted.
	Subscription []TopicSubscription `pulumi:"subscription"`
	// The list of tags to add to a new topic.
	//   To be able to tag a topic on creation, you must have the “sns:CreateTopic“ and “sns:TagResource“ permissions.
	Tags []aws.Tag `pulumi:"tags"`
	// Returns the ARN of an Amazon SNS topic.
	TopicArn *string `pulumi:"topicArn"`
	// Tracing mode of an SNS topic. By default “TracingConfig“ is set to “PassThrough“, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to “Active“, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.
	TracingConfig *string `pulumi:"tracingConfig"`
}

func LookupTopic added in v0.12.0

func LookupTopic(ctx *pulumi.Context, args *LookupTopicArgs, opts ...pulumi.InvokeOption) (*LookupTopicResult, error)

The “AWS::SNS::Topic“ resource creates a topic to which notifications can be published.

One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.
 The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*.

type LookupTopicResultOutput added in v0.12.0

type LookupTopicResultOutput struct{ *pulumi.OutputState }

func LookupTopicOutput added in v0.12.0

func LookupTopicOutput(ctx *pulumi.Context, args LookupTopicOutputArgs, opts ...pulumi.InvokeOption) LookupTopicResultOutput

func (LookupTopicResultOutput) ArchivePolicy added in v0.82.0

func (o LookupTopicResultOutput) ArchivePolicy() pulumi.AnyOutput

The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.

func (LookupTopicResultOutput) ContentBasedDeduplication added in v0.12.0

func (o LookupTopicResultOutput) ContentBasedDeduplication() pulumi.BoolPtrOutput

Enables content-based deduplication for FIFO topics.

  • By default, “ContentBasedDeduplication“ is set to “false“. If you create a FIFO topic and this attribute is “false“, you must specify a value for the “MessageDeduplicationId“ parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.
  • When you set “ContentBasedDeduplication“ to “true“, SNS uses a SHA-256 hash to generate the “MessageDeduplicationId“ using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the the “MessageDeduplicationId“ parameter for the “Publish“ action.

func (LookupTopicResultOutput) DataProtectionPolicy added in v0.26.0

func (o LookupTopicResultOutput) DataProtectionPolicy() pulumi.AnyOutput

The body of the policy document you want to use for this topic.

You can only add one policy per topic.
The policy must be in JSON string format.
Length Constraints: Maximum length of 30,720.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.

func (LookupTopicResultOutput) DeliveryStatusLogging added in v0.90.0

func (o LookupTopicResultOutput) DeliveryStatusLogging() TopicLoggingConfigArrayOutput

The “DeliveryStatusLogging“ configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:

  • HTTP

  • Amazon Kinesis Data Firehose

  • AWS Lambda

  • Platform application endpoint

  • Amazon Simple Queue Service

    Once configured, log entries are sent to Amazon CloudWatch Logs.

func (LookupTopicResultOutput) DisplayName added in v0.12.0

The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.

func (LookupTopicResultOutput) ElementType added in v0.12.0

func (LookupTopicResultOutput) ElementType() reflect.Type

func (LookupTopicResultOutput) KmsMasterKeyId added in v0.12.0

func (o LookupTopicResultOutput) KmsMasterKeyId() pulumi.StringPtrOutput

The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see “KeyId“ in the *API Reference*.

This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).

func (LookupTopicResultOutput) SignatureVersion added in v0.38.0

func (o LookupTopicResultOutput) SignatureVersion() pulumi.StringPtrOutput

The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, “SignatureVersion“ is set to “1“.

func (LookupTopicResultOutput) Subscription added in v0.12.0

The SNS subscriptions (endpoints) for this topic.

If you specify the ``Subscription`` property in the ``AWS::SNS::Topic`` resource and it creates an associated subscription resource, the associated subscription is not deleted when the ``AWS::SNS::Topic`` resource is deleted.

func (LookupTopicResultOutput) Tags added in v0.12.0

The list of tags to add to a new topic.

To be able to tag a topic on creation, you must have the ``sns:CreateTopic`` and ``sns:TagResource`` permissions.

func (LookupTopicResultOutput) ToLookupTopicResultOutput added in v0.12.0

func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput

func (LookupTopicResultOutput) ToLookupTopicResultOutputWithContext added in v0.12.0

func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput

func (LookupTopicResultOutput) TopicArn added in v0.21.0

Returns the ARN of an Amazon SNS topic.

func (LookupTopicResultOutput) TracingConfig added in v0.50.0

Tracing mode of an SNS topic. By default “TracingConfig“ is set to “PassThrough“, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to “Active“, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.

type Subscription

type Subscription struct {
	pulumi.CustomResourceState

	// Arn of the subscription
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	DeliveryPolicy pulumi.AnyOutput `pulumi:"deliveryPolicy"`
	// The subscription's endpoint. The endpoint value depends on the protocol that you specify.
	Endpoint pulumi.StringPtrOutput `pulumi:"endpoint"`
	// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	FilterPolicy pulumi.AnyOutput `pulumi:"filterPolicy"`
	// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody.
	FilterPolicyScope pulumi.StringPtrOutput `pulumi:"filterPolicyScope"`
	// The subscription's protocol.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints.
	RawMessageDelivery pulumi.BoolPtrOutput `pulumi:"rawMessageDelivery"`
	// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	RedrivePolicy pulumi.AnyOutput `pulumi:"redrivePolicy"`
	// For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default.
	Region pulumi.StringPtrOutput `pulumi:"region"`
	// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	ReplayPolicy pulumi.AnyOutput `pulumi:"replayPolicy"`
	// This property applies only to Amazon Data Firehose delivery stream subscriptions.
	SubscriptionRoleArn pulumi.StringPtrOutput `pulumi:"subscriptionRoleArn"`
	// The ARN of the topic to subscribe to.
	TopicArn pulumi.StringOutput `pulumi:"topicArn"`
}

Resource Type definition for AWS::SNS::Subscription

func GetSubscription

func GetSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error)

GetSubscription gets an existing Subscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubscription

func NewSubscription(ctx *pulumi.Context,
	name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error)

NewSubscription registers a new resource with the given unique name, arguments, and options.

func (*Subscription) ElementType

func (*Subscription) ElementType() reflect.Type

func (*Subscription) ToSubscriptionOutput

func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput

func (*Subscription) ToSubscriptionOutputWithContext

func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionArgs

type SubscriptionArgs struct {
	// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	DeliveryPolicy pulumi.Input
	// The subscription's endpoint. The endpoint value depends on the protocol that you specify.
	Endpoint pulumi.StringPtrInput
	// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	FilterPolicy pulumi.Input
	// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody.
	FilterPolicyScope pulumi.StringPtrInput
	// The subscription's protocol.
	Protocol pulumi.StringInput
	// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints.
	RawMessageDelivery pulumi.BoolPtrInput
	// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	RedrivePolicy pulumi.Input
	// For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default.
	Region pulumi.StringPtrInput
	// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.
	ReplayPolicy pulumi.Input
	// This property applies only to Amazon Data Firehose delivery stream subscriptions.
	SubscriptionRoleArn pulumi.StringPtrInput
	// The ARN of the topic to subscribe to.
	TopicArn pulumi.StringInput
}

The set of arguments for constructing a Subscription resource.

func (SubscriptionArgs) ElementType

func (SubscriptionArgs) ElementType() reflect.Type

type SubscriptionInput

type SubscriptionInput interface {
	pulumi.Input

	ToSubscriptionOutput() SubscriptionOutput
	ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
}

type SubscriptionOutput

type SubscriptionOutput struct{ *pulumi.OutputState }

func (SubscriptionOutput) Arn added in v0.122.0

Arn of the subscription

func (SubscriptionOutput) DeliveryPolicy added in v0.17.0

func (o SubscriptionOutput) DeliveryPolicy() pulumi.AnyOutput

The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (SubscriptionOutput) ElementType

func (SubscriptionOutput) ElementType() reflect.Type

func (SubscriptionOutput) Endpoint added in v0.17.0

The subscription's endpoint. The endpoint value depends on the protocol that you specify.

func (SubscriptionOutput) FilterPolicy added in v0.17.0

func (o SubscriptionOutput) FilterPolicy() pulumi.AnyOutput

The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (SubscriptionOutput) FilterPolicyScope added in v0.46.0

func (o SubscriptionOutput) FilterPolicyScope() pulumi.StringPtrOutput

This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody.

func (SubscriptionOutput) Protocol added in v0.17.0

func (o SubscriptionOutput) Protocol() pulumi.StringOutput

The subscription's protocol.

func (SubscriptionOutput) RawMessageDelivery added in v0.17.0

func (o SubscriptionOutput) RawMessageDelivery() pulumi.BoolPtrOutput

When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints.

func (SubscriptionOutput) RedrivePolicy added in v0.17.0

func (o SubscriptionOutput) RedrivePolicy() pulumi.AnyOutput

When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (SubscriptionOutput) Region added in v0.17.0

For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default.

func (SubscriptionOutput) ReplayPolicy added in v0.91.0

func (o SubscriptionOutput) ReplayPolicy() pulumi.AnyOutput

Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property.

func (SubscriptionOutput) SubscriptionRoleArn added in v0.17.0

func (o SubscriptionOutput) SubscriptionRoleArn() pulumi.StringPtrOutput

This property applies only to Amazon Data Firehose delivery stream subscriptions.

func (SubscriptionOutput) ToSubscriptionOutput

func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput

func (SubscriptionOutput) ToSubscriptionOutputWithContext

func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

func (SubscriptionOutput) TopicArn added in v0.17.0

func (o SubscriptionOutput) TopicArn() pulumi.StringOutput

The ARN of the topic to subscribe to.

type SubscriptionState

type SubscriptionState struct {
}

func (SubscriptionState) ElementType

func (SubscriptionState) ElementType() reflect.Type

type Topic

type Topic struct {
	pulumi.CustomResourceState

	// The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	ArchivePolicy pulumi.AnyOutput `pulumi:"archivePolicy"`
	// Enables content-based deduplication for FIFO topics.
	//   +  By default, “ContentBasedDeduplication“ is set to “false“. If you create a FIFO topic and this attribute is “false“, you must specify a value for the “MessageDeduplicationId“ parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.
	//   +  When you set “ContentBasedDeduplication“ to “true“, SNS uses a SHA-256 hash to generate the “MessageDeduplicationId“ using the body of the message (but not the attributes of the message).
	//       (Optional) To override the generated value, you can specify a value for the the “MessageDeduplicationId“ parameter for the “Publish“ action.
	ContentBasedDeduplication pulumi.BoolPtrOutput `pulumi:"contentBasedDeduplication"`
	// The body of the policy document you want to use for this topic.
	//  You can only add one policy per topic.
	//  The policy must be in JSON string format.
	//  Length Constraints: Maximum length of 30,720.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	DataProtectionPolicy pulumi.AnyOutput `pulumi:"dataProtectionPolicy"`
	// The “DeliveryStatusLogging“ configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:
	//   +  HTTP
	//   +  Amazon Kinesis Data Firehose
	//   +   AWS Lambda
	//   +  Platform application endpoint
	//   +  Amazon Simple Queue Service
	//
	//  Once configured, log entries are sent to Amazon CloudWatch Logs.
	DeliveryStatusLogging TopicLoggingConfigArrayOutput `pulumi:"deliveryStatusLogging"`
	// The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Set to true to create a FIFO topic.
	FifoTopic pulumi.BoolPtrOutput `pulumi:"fifoTopic"`
	// The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see “KeyId“ in the *API Reference*.
	//  This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).
	KmsMasterKeyId pulumi.StringPtrOutput `pulumi:"kmsMasterKeyId"`
	// The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, “SignatureVersion“ is set to “1“.
	SignatureVersion pulumi.StringPtrOutput `pulumi:"signatureVersion"`
	// The SNS subscriptions (endpoints) for this topic.
	//   If you specify the “Subscription“ property in the “AWS::SNS::Topic“ resource and it creates an associated subscription resource, the associated subscription is not deleted when the “AWS::SNS::Topic“ resource is deleted.
	Subscription TopicSubscriptionArrayOutput `pulumi:"subscription"`
	// The list of tags to add to a new topic.
	//   To be able to tag a topic on creation, you must have the “sns:CreateTopic“ and “sns:TagResource“ permissions.
	Tags aws.TagArrayOutput `pulumi:"tags"`
	// Returns the ARN of an Amazon SNS topic.
	TopicArn pulumi.StringOutput `pulumi:"topicArn"`
	// The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with “.fifo“.
	//  If you don't specify a name, CFN generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
	//   If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
	TopicName pulumi.StringPtrOutput `pulumi:"topicName"`
	// Tracing mode of an SNS topic. By default “TracingConfig“ is set to “PassThrough“, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to “Active“, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.
	TracingConfig pulumi.StringPtrOutput `pulumi:"tracingConfig"`
}

The “AWS::SNS::Topic“ resource creates a topic to which notifications can be published.

One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.
 The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*.

## Example Usage ### Example

```go package main

import (

"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns"
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		carSalesTopic, err := sns.NewTopic(ctx, "carSalesTopic", nil)
		if err != nil {
			return err
		}
		erpIntegrationQueue, err := sqs.NewQueue(ctx, "erpIntegrationQueue", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewSubscription(ctx, "erpSubscription", &sns.SubscriptionArgs{
			TopicArn:           carSalesTopic.ID(),
			Endpoint:           erpIntegrationQueue.Arn,
			Protocol:           pulumi.String("sqs"),
			RawMessageDelivery: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		crmIntegrationQueue, err := sqs.NewQueue(ctx, "crmIntegrationQueue", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewSubscription(ctx, "crmSubscription", &sns.SubscriptionArgs{
			TopicArn:           carSalesTopic.ID(),
			Endpoint:           crmIntegrationQueue.Arn,
			Protocol:           pulumi.String("sqs"),
			RawMessageDelivery: pulumi.Bool(true),
			FilterPolicy: pulumi.Any(map[string]interface{}{
				"buyer-class": []string{
					"vip",
				},
			}),
		})
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		myHttpEndpoint := cfg.Require("myHttpEndpoint")
		_, err = sns.NewSubscription(ctx, "scmSubscription", &sns.SubscriptionArgs{
			TopicArn: carSalesTopic.ID(),
			Endpoint: pulumi.String(myHttpEndpoint),
			Protocol: pulumi.String("https"),
			DeliveryPolicy: pulumi.Any(map[string]interface{}{
				"healthyRetryPolicy": map[string]interface{}{
					"numRetries":         20,
					"minDelayTarget":     10,
					"maxDelayTarget":     30,
					"numMinDelayRetries": 3,
					"numMaxDelayRetries": 17,
					"numNoDelayRetries":  0,
					"backoffFunction":    "exponential",
				},
			}),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Example

```go package main

import (

"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns"
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		carSalesTopic, err := sns.NewTopic(ctx, "carSalesTopic", nil)
		if err != nil {
			return err
		}
		erpIntegrationQueue, err := sqs.NewQueue(ctx, "erpIntegrationQueue", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewSubscription(ctx, "erpSubscription", &sns.SubscriptionArgs{
			TopicArn:           carSalesTopic.ID(),
			Endpoint:           erpIntegrationQueue.Arn,
			Protocol:           pulumi.String("sqs"),
			RawMessageDelivery: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		crmIntegrationQueue, err := sqs.NewQueue(ctx, "crmIntegrationQueue", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewSubscription(ctx, "crmSubscription", &sns.SubscriptionArgs{
			TopicArn:           carSalesTopic.ID(),
			Endpoint:           crmIntegrationQueue.Arn,
			Protocol:           pulumi.String("sqs"),
			RawMessageDelivery: pulumi.Bool(true),
			FilterPolicy: pulumi.Any(map[string]interface{}{
				"buyer-class": []string{
					"vip",
				},
			}),
		})
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		myHttpEndpoint := cfg.Require("myHttpEndpoint")
		_, err = sns.NewSubscription(ctx, "scmSubscription", &sns.SubscriptionArgs{
			TopicArn: carSalesTopic.ID(),
			Endpoint: pulumi.String(myHttpEndpoint),
			Protocol: pulumi.String("https"),
			DeliveryPolicy: pulumi.Any(map[string]interface{}{
				"healthyRetryPolicy": map[string]interface{}{
					"numRetries":         20,
					"minDelayTarget":     10,
					"maxDelayTarget":     30,
					"numMinDelayRetries": 3,
					"numMaxDelayRetries": 17,
					"numNoDelayRetries":  0,
					"backoffFunction":    "exponential",
				},
			}),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTopic

func GetTopic(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicState, opts ...pulumi.ResourceOption) (*Topic, error)

GetTopic gets an existing Topic resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopic

func NewTopic(ctx *pulumi.Context,
	name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error)

NewTopic registers a new resource with the given unique name, arguments, and options.

func (*Topic) ElementType

func (*Topic) ElementType() reflect.Type

func (*Topic) ToTopicOutput

func (i *Topic) ToTopicOutput() TopicOutput

func (*Topic) ToTopicOutputWithContext

func (i *Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput

type TopicArgs

type TopicArgs struct {
	// The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	ArchivePolicy pulumi.Input
	// Enables content-based deduplication for FIFO topics.
	//   +  By default, “ContentBasedDeduplication“ is set to “false“. If you create a FIFO topic and this attribute is “false“, you must specify a value for the “MessageDeduplicationId“ parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.
	//   +  When you set “ContentBasedDeduplication“ to “true“, SNS uses a SHA-256 hash to generate the “MessageDeduplicationId“ using the body of the message (but not the attributes of the message).
	//       (Optional) To override the generated value, you can specify a value for the the “MessageDeduplicationId“ parameter for the “Publish“ action.
	ContentBasedDeduplication pulumi.BoolPtrInput
	// The body of the policy document you want to use for this topic.
	//  You can only add one policy per topic.
	//  The policy must be in JSON string format.
	//  Length Constraints: Maximum length of 30,720.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.
	DataProtectionPolicy pulumi.Input
	// The “DeliveryStatusLogging“ configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:
	//   +  HTTP
	//   +  Amazon Kinesis Data Firehose
	//   +   AWS Lambda
	//   +  Platform application endpoint
	//   +  Amazon Simple Queue Service
	//
	//  Once configured, log entries are sent to Amazon CloudWatch Logs.
	DeliveryStatusLogging TopicLoggingConfigArrayInput
	// The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.
	DisplayName pulumi.StringPtrInput
	// Set to true to create a FIFO topic.
	FifoTopic pulumi.BoolPtrInput
	// The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see “KeyId“ in the *API Reference*.
	//  This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).
	KmsMasterKeyId pulumi.StringPtrInput
	// The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, “SignatureVersion“ is set to “1“.
	SignatureVersion pulumi.StringPtrInput
	// The SNS subscriptions (endpoints) for this topic.
	//   If you specify the “Subscription“ property in the “AWS::SNS::Topic“ resource and it creates an associated subscription resource, the associated subscription is not deleted when the “AWS::SNS::Topic“ resource is deleted.
	Subscription TopicSubscriptionArrayInput
	// The list of tags to add to a new topic.
	//   To be able to tag a topic on creation, you must have the “sns:CreateTopic“ and “sns:TagResource“ permissions.
	Tags aws.TagArrayInput
	// The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with “.fifo“.
	//  If you don't specify a name, CFN generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
	//   If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
	TopicName pulumi.StringPtrInput
	// Tracing mode of an SNS topic. By default “TracingConfig“ is set to “PassThrough“, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to “Active“, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.
	TracingConfig pulumi.StringPtrInput
}

The set of arguments for constructing a Topic resource.

func (TopicArgs) ElementType

func (TopicArgs) ElementType() reflect.Type

type TopicInlinePolicy added in v0.70.0

type TopicInlinePolicy struct {
	pulumi.CustomResourceState

	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicInlinePolicy` for more information about the expected schema for this property.
	PolicyDocument pulumi.AnyOutput `pulumi:"policyDocument"`
	// The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
	TopicArn pulumi.StringOutput `pulumi:"topicArn"`
}

Schema for AWS::SNS::TopicInlinePolicy

func GetTopicInlinePolicy added in v0.70.0

func GetTopicInlinePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicInlinePolicyState, opts ...pulumi.ResourceOption) (*TopicInlinePolicy, error)

GetTopicInlinePolicy gets an existing TopicInlinePolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopicInlinePolicy added in v0.70.0

func NewTopicInlinePolicy(ctx *pulumi.Context,
	name string, args *TopicInlinePolicyArgs, opts ...pulumi.ResourceOption) (*TopicInlinePolicy, error)

NewTopicInlinePolicy registers a new resource with the given unique name, arguments, and options.

func (*TopicInlinePolicy) ElementType added in v0.70.0

func (*TopicInlinePolicy) ElementType() reflect.Type

func (*TopicInlinePolicy) ToTopicInlinePolicyOutput added in v0.70.0

func (i *TopicInlinePolicy) ToTopicInlinePolicyOutput() TopicInlinePolicyOutput

func (*TopicInlinePolicy) ToTopicInlinePolicyOutputWithContext added in v0.70.0

func (i *TopicInlinePolicy) ToTopicInlinePolicyOutputWithContext(ctx context.Context) TopicInlinePolicyOutput

type TopicInlinePolicyArgs added in v0.70.0

type TopicInlinePolicyArgs struct {
	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicInlinePolicy` for more information about the expected schema for this property.
	PolicyDocument pulumi.Input
	// The Amazon Resource Name (ARN) of the topic to which you want to add the policy.
	TopicArn pulumi.StringInput
}

The set of arguments for constructing a TopicInlinePolicy resource.

func (TopicInlinePolicyArgs) ElementType added in v0.70.0

func (TopicInlinePolicyArgs) ElementType() reflect.Type

type TopicInlinePolicyInput added in v0.70.0

type TopicInlinePolicyInput interface {
	pulumi.Input

	ToTopicInlinePolicyOutput() TopicInlinePolicyOutput
	ToTopicInlinePolicyOutputWithContext(ctx context.Context) TopicInlinePolicyOutput
}

type TopicInlinePolicyOutput added in v0.70.0

type TopicInlinePolicyOutput struct{ *pulumi.OutputState }

func (TopicInlinePolicyOutput) ElementType added in v0.70.0

func (TopicInlinePolicyOutput) ElementType() reflect.Type

func (TopicInlinePolicyOutput) PolicyDocument added in v0.70.0

func (o TopicInlinePolicyOutput) PolicyDocument() pulumi.AnyOutput

A policy document that contains permissions to add to the specified SNS topics.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicInlinePolicy` for more information about the expected schema for this property.

func (TopicInlinePolicyOutput) ToTopicInlinePolicyOutput added in v0.70.0

func (o TopicInlinePolicyOutput) ToTopicInlinePolicyOutput() TopicInlinePolicyOutput

func (TopicInlinePolicyOutput) ToTopicInlinePolicyOutputWithContext added in v0.70.0

func (o TopicInlinePolicyOutput) ToTopicInlinePolicyOutputWithContext(ctx context.Context) TopicInlinePolicyOutput

func (TopicInlinePolicyOutput) TopicArn added in v0.70.0

The Amazon Resource Name (ARN) of the topic to which you want to add the policy.

type TopicInlinePolicyState added in v0.70.0

type TopicInlinePolicyState struct {
}

func (TopicInlinePolicyState) ElementType added in v0.70.0

func (TopicInlinePolicyState) ElementType() reflect.Type

type TopicInput

type TopicInput interface {
	pulumi.Input

	ToTopicOutput() TopicOutput
	ToTopicOutputWithContext(ctx context.Context) TopicOutput
}

type TopicLoggingConfig added in v0.90.0

type TopicLoggingConfig struct {
	// The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.
	FailureFeedbackRoleArn *string `pulumi:"failureFeedbackRoleArn"`
	// Indicates one of the supported protocols for the Amazon SNS topic.
	//   At least one of the other three “LoggingConfig“ properties is recommend along with “Protocol“.
	Protocol TopicLoggingConfigProtocol `pulumi:"protocol"`
	// The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.
	SuccessFeedbackRoleArn *string `pulumi:"successFeedbackRoleArn"`
	// The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.
	SuccessFeedbackSampleRate *string `pulumi:"successFeedbackSampleRate"`
}

The “LoggingConfig“ property type specifies the “Delivery“ status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).

type TopicLoggingConfigArgs added in v0.90.0

type TopicLoggingConfigArgs struct {
	// The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.
	FailureFeedbackRoleArn pulumi.StringPtrInput `pulumi:"failureFeedbackRoleArn"`
	// Indicates one of the supported protocols for the Amazon SNS topic.
	//   At least one of the other three “LoggingConfig“ properties is recommend along with “Protocol“.
	Protocol TopicLoggingConfigProtocolInput `pulumi:"protocol"`
	// The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.
	SuccessFeedbackRoleArn pulumi.StringPtrInput `pulumi:"successFeedbackRoleArn"`
	// The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.
	SuccessFeedbackSampleRate pulumi.StringPtrInput `pulumi:"successFeedbackSampleRate"`
}

The “LoggingConfig“ property type specifies the “Delivery“ status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).

func (TopicLoggingConfigArgs) ElementType added in v0.90.0

func (TopicLoggingConfigArgs) ElementType() reflect.Type

func (TopicLoggingConfigArgs) ToTopicLoggingConfigOutput added in v0.90.0

func (i TopicLoggingConfigArgs) ToTopicLoggingConfigOutput() TopicLoggingConfigOutput

func (TopicLoggingConfigArgs) ToTopicLoggingConfigOutputWithContext added in v0.90.0

func (i TopicLoggingConfigArgs) ToTopicLoggingConfigOutputWithContext(ctx context.Context) TopicLoggingConfigOutput

type TopicLoggingConfigArray added in v0.90.0

type TopicLoggingConfigArray []TopicLoggingConfigInput

func (TopicLoggingConfigArray) ElementType added in v0.90.0

func (TopicLoggingConfigArray) ElementType() reflect.Type

func (TopicLoggingConfigArray) ToTopicLoggingConfigArrayOutput added in v0.90.0

func (i TopicLoggingConfigArray) ToTopicLoggingConfigArrayOutput() TopicLoggingConfigArrayOutput

func (TopicLoggingConfigArray) ToTopicLoggingConfigArrayOutputWithContext added in v0.90.0

func (i TopicLoggingConfigArray) ToTopicLoggingConfigArrayOutputWithContext(ctx context.Context) TopicLoggingConfigArrayOutput

type TopicLoggingConfigArrayInput added in v0.90.0

type TopicLoggingConfigArrayInput interface {
	pulumi.Input

	ToTopicLoggingConfigArrayOutput() TopicLoggingConfigArrayOutput
	ToTopicLoggingConfigArrayOutputWithContext(context.Context) TopicLoggingConfigArrayOutput
}

TopicLoggingConfigArrayInput is an input type that accepts TopicLoggingConfigArray and TopicLoggingConfigArrayOutput values. You can construct a concrete instance of `TopicLoggingConfigArrayInput` via:

TopicLoggingConfigArray{ TopicLoggingConfigArgs{...} }

type TopicLoggingConfigArrayOutput added in v0.90.0

type TopicLoggingConfigArrayOutput struct{ *pulumi.OutputState }

func (TopicLoggingConfigArrayOutput) ElementType added in v0.90.0

func (TopicLoggingConfigArrayOutput) Index added in v0.90.0

func (TopicLoggingConfigArrayOutput) ToTopicLoggingConfigArrayOutput added in v0.90.0

func (o TopicLoggingConfigArrayOutput) ToTopicLoggingConfigArrayOutput() TopicLoggingConfigArrayOutput

func (TopicLoggingConfigArrayOutput) ToTopicLoggingConfigArrayOutputWithContext added in v0.90.0

func (o TopicLoggingConfigArrayOutput) ToTopicLoggingConfigArrayOutputWithContext(ctx context.Context) TopicLoggingConfigArrayOutput

type TopicLoggingConfigInput added in v0.90.0

type TopicLoggingConfigInput interface {
	pulumi.Input

	ToTopicLoggingConfigOutput() TopicLoggingConfigOutput
	ToTopicLoggingConfigOutputWithContext(context.Context) TopicLoggingConfigOutput
}

TopicLoggingConfigInput is an input type that accepts TopicLoggingConfigArgs and TopicLoggingConfigOutput values. You can construct a concrete instance of `TopicLoggingConfigInput` via:

TopicLoggingConfigArgs{...}

type TopicLoggingConfigOutput added in v0.90.0

type TopicLoggingConfigOutput struct{ *pulumi.OutputState }

The “LoggingConfig“ property type specifies the “Delivery“ status logging configuration for an [AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html).

func (TopicLoggingConfigOutput) ElementType added in v0.90.0

func (TopicLoggingConfigOutput) ElementType() reflect.Type

func (TopicLoggingConfigOutput) FailureFeedbackRoleArn added in v0.90.0

func (o TopicLoggingConfigOutput) FailureFeedbackRoleArn() pulumi.StringPtrOutput

The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.

func (TopicLoggingConfigOutput) Protocol added in v0.90.0

Indicates one of the supported protocols for the Amazon SNS topic.

At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.

func (TopicLoggingConfigOutput) SuccessFeedbackRoleArn added in v0.90.0

func (o TopicLoggingConfigOutput) SuccessFeedbackRoleArn() pulumi.StringPtrOutput

The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.

func (TopicLoggingConfigOutput) SuccessFeedbackSampleRate added in v0.90.0

func (o TopicLoggingConfigOutput) SuccessFeedbackSampleRate() pulumi.StringPtrOutput

The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.

func (TopicLoggingConfigOutput) ToTopicLoggingConfigOutput added in v0.90.0

func (o TopicLoggingConfigOutput) ToTopicLoggingConfigOutput() TopicLoggingConfigOutput

func (TopicLoggingConfigOutput) ToTopicLoggingConfigOutputWithContext added in v0.90.0

func (o TopicLoggingConfigOutput) ToTopicLoggingConfigOutputWithContext(ctx context.Context) TopicLoggingConfigOutput

type TopicLoggingConfigProtocol added in v0.90.0

type TopicLoggingConfigProtocol string

Indicates one of the supported protocols for the Amazon SNS topic.

At least one of the other three ``LoggingConfig`` properties is recommend along with ``Protocol``.

func (TopicLoggingConfigProtocol) ElementType added in v0.90.0

func (TopicLoggingConfigProtocol) ElementType() reflect.Type

func (TopicLoggingConfigProtocol) ToStringOutput added in v0.90.0

func (e TopicLoggingConfigProtocol) ToStringOutput() pulumi.StringOutput

func (TopicLoggingConfigProtocol) ToStringOutputWithContext added in v0.90.0

func (e TopicLoggingConfigProtocol) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (TopicLoggingConfigProtocol) ToStringPtrOutput added in v0.90.0

func (e TopicLoggingConfigProtocol) ToStringPtrOutput() pulumi.StringPtrOutput

func (TopicLoggingConfigProtocol) ToStringPtrOutputWithContext added in v0.90.0

func (e TopicLoggingConfigProtocol) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolOutput added in v0.90.0

func (e TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolOutput() TopicLoggingConfigProtocolOutput

func (TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolOutputWithContext added in v0.90.0

func (e TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolOutputWithContext(ctx context.Context) TopicLoggingConfigProtocolOutput

func (TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolPtrOutput added in v0.90.0

func (e TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolPtrOutput() TopicLoggingConfigProtocolPtrOutput

func (TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolPtrOutputWithContext added in v0.90.0

func (e TopicLoggingConfigProtocol) ToTopicLoggingConfigProtocolPtrOutputWithContext(ctx context.Context) TopicLoggingConfigProtocolPtrOutput

type TopicLoggingConfigProtocolInput added in v0.90.0

type TopicLoggingConfigProtocolInput interface {
	pulumi.Input

	ToTopicLoggingConfigProtocolOutput() TopicLoggingConfigProtocolOutput
	ToTopicLoggingConfigProtocolOutputWithContext(context.Context) TopicLoggingConfigProtocolOutput
}

TopicLoggingConfigProtocolInput is an input type that accepts values of the TopicLoggingConfigProtocol enum A concrete instance of `TopicLoggingConfigProtocolInput` can be one of the following:

TopicLoggingConfigProtocolHttps
TopicLoggingConfigProtocolSqs
TopicLoggingConfigProtocolLambda
TopicLoggingConfigProtocolFirehose
TopicLoggingConfigProtocolApplication

type TopicLoggingConfigProtocolOutput added in v0.90.0

type TopicLoggingConfigProtocolOutput struct{ *pulumi.OutputState }

func (TopicLoggingConfigProtocolOutput) ElementType added in v0.90.0

func (TopicLoggingConfigProtocolOutput) ToStringOutput added in v0.90.0

func (TopicLoggingConfigProtocolOutput) ToStringOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (TopicLoggingConfigProtocolOutput) ToStringPtrOutput added in v0.90.0

func (TopicLoggingConfigProtocolOutput) ToStringPtrOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolOutput added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolOutput() TopicLoggingConfigProtocolOutput

func (TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolOutputWithContext(ctx context.Context) TopicLoggingConfigProtocolOutput

func (TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolPtrOutput added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolPtrOutput() TopicLoggingConfigProtocolPtrOutput

func (TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolPtrOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolOutput) ToTopicLoggingConfigProtocolPtrOutputWithContext(ctx context.Context) TopicLoggingConfigProtocolPtrOutput

type TopicLoggingConfigProtocolPtrInput added in v0.90.0

type TopicLoggingConfigProtocolPtrInput interface {
	pulumi.Input

	ToTopicLoggingConfigProtocolPtrOutput() TopicLoggingConfigProtocolPtrOutput
	ToTopicLoggingConfigProtocolPtrOutputWithContext(context.Context) TopicLoggingConfigProtocolPtrOutput
}

func TopicLoggingConfigProtocolPtr added in v0.90.0

func TopicLoggingConfigProtocolPtr(v string) TopicLoggingConfigProtocolPtrInput

type TopicLoggingConfigProtocolPtrOutput added in v0.90.0

type TopicLoggingConfigProtocolPtrOutput struct{ *pulumi.OutputState }

func (TopicLoggingConfigProtocolPtrOutput) Elem added in v0.90.0

func (TopicLoggingConfigProtocolPtrOutput) ElementType added in v0.90.0

func (TopicLoggingConfigProtocolPtrOutput) ToStringPtrOutput added in v0.90.0

func (TopicLoggingConfigProtocolPtrOutput) ToStringPtrOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

func (TopicLoggingConfigProtocolPtrOutput) ToTopicLoggingConfigProtocolPtrOutput added in v0.90.0

func (o TopicLoggingConfigProtocolPtrOutput) ToTopicLoggingConfigProtocolPtrOutput() TopicLoggingConfigProtocolPtrOutput

func (TopicLoggingConfigProtocolPtrOutput) ToTopicLoggingConfigProtocolPtrOutputWithContext added in v0.90.0

func (o TopicLoggingConfigProtocolPtrOutput) ToTopicLoggingConfigProtocolPtrOutputWithContext(ctx context.Context) TopicLoggingConfigProtocolPtrOutput

type TopicOutput

type TopicOutput struct{ *pulumi.OutputState }

func (TopicOutput) ArchivePolicy added in v0.82.0

func (o TopicOutput) ArchivePolicy() pulumi.AnyOutput

The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.

func (TopicOutput) ContentBasedDeduplication added in v0.17.0

func (o TopicOutput) ContentBasedDeduplication() pulumi.BoolPtrOutput

Enables content-based deduplication for FIFO topics.

  • By default, “ContentBasedDeduplication“ is set to “false“. If you create a FIFO topic and this attribute is “false“, you must specify a value for the “MessageDeduplicationId“ parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.
  • When you set “ContentBasedDeduplication“ to “true“, SNS uses a SHA-256 hash to generate the “MessageDeduplicationId“ using the body of the message (but not the attributes of the message). (Optional) To override the generated value, you can specify a value for the the “MessageDeduplicationId“ parameter for the “Publish“ action.

func (TopicOutput) DataProtectionPolicy added in v0.26.0

func (o TopicOutput) DataProtectionPolicy() pulumi.AnyOutput

The body of the policy document you want to use for this topic.

You can only add one policy per topic.
The policy must be in JSON string format.
Length Constraints: Maximum length of 30,720.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Topic` for more information about the expected schema for this property.

func (TopicOutput) DeliveryStatusLogging added in v0.90.0

func (o TopicOutput) DeliveryStatusLogging() TopicLoggingConfigArrayOutput

The “DeliveryStatusLogging“ configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:

  • HTTP

  • Amazon Kinesis Data Firehose

  • AWS Lambda

  • Platform application endpoint

  • Amazon Simple Queue Service

    Once configured, log entries are sent to Amazon CloudWatch Logs.

func (TopicOutput) DisplayName added in v0.17.0

func (o TopicOutput) DisplayName() pulumi.StringPtrOutput

The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.

func (TopicOutput) ElementType

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) FifoTopic added in v0.17.0

func (o TopicOutput) FifoTopic() pulumi.BoolPtrOutput

Set to true to create a FIFO topic.

func (TopicOutput) KmsMasterKeyId added in v0.17.0

func (o TopicOutput) KmsMasterKeyId() pulumi.StringPtrOutput

The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see “KeyId“ in the *API Reference*.

This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).

func (TopicOutput) SignatureVersion added in v0.38.0

func (o TopicOutput) SignatureVersion() pulumi.StringPtrOutput

The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, “SignatureVersion“ is set to “1“.

func (TopicOutput) Subscription added in v0.17.0

func (o TopicOutput) Subscription() TopicSubscriptionArrayOutput

The SNS subscriptions (endpoints) for this topic.

If you specify the ``Subscription`` property in the ``AWS::SNS::Topic`` resource and it creates an associated subscription resource, the associated subscription is not deleted when the ``AWS::SNS::Topic`` resource is deleted.

func (TopicOutput) Tags added in v0.17.0

func (o TopicOutput) Tags() aws.TagArrayOutput

The list of tags to add to a new topic.

To be able to tag a topic on creation, you must have the ``sns:CreateTopic`` and ``sns:TagResource`` permissions.

func (TopicOutput) ToTopicOutput

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext

func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput

func (TopicOutput) TopicArn added in v0.21.0

func (o TopicOutput) TopicArn() pulumi.StringOutput

Returns the ARN of an Amazon SNS topic.

func (TopicOutput) TopicName added in v0.17.0

func (o TopicOutput) TopicName() pulumi.StringPtrOutput

The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with “.fifo“.

If you don't specify a name, CFN generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
 If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

func (TopicOutput) TracingConfig added in v0.50.0

func (o TopicOutput) TracingConfig() pulumi.StringPtrOutput

Tracing mode of an SNS topic. By default “TracingConfig“ is set to “PassThrough“, and the topic passes through the tracing header it receives from an SNS publisher to its subscriptions. If set to “Active“, SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.

type TopicPolicy

type TopicPolicy struct {
	pulumi.CustomResourceState

	// The provider-assigned unique ID for this managed resource.
	AwsId pulumi.StringOutput `pulumi:"awsId"`
	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.
	PolicyDocument pulumi.AnyOutput `pulumi:"policyDocument"`
	// The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the “Ref“ function to specify an “AWS::SNS::Topic“ resource.
	Topics pulumi.StringArrayOutput `pulumi:"topics"`
}

The “AWS::SNS::TopicPolicy“ resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*.

func GetTopicPolicy

func GetTopicPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TopicPolicyState, opts ...pulumi.ResourceOption) (*TopicPolicy, error)

GetTopicPolicy gets an existing TopicPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTopicPolicy

func NewTopicPolicy(ctx *pulumi.Context,
	name string, args *TopicPolicyArgs, opts ...pulumi.ResourceOption) (*TopicPolicy, error)

NewTopicPolicy registers a new resource with the given unique name, arguments, and options.

func (*TopicPolicy) ElementType

func (*TopicPolicy) ElementType() reflect.Type

func (*TopicPolicy) ToTopicPolicyOutput

func (i *TopicPolicy) ToTopicPolicyOutput() TopicPolicyOutput

func (*TopicPolicy) ToTopicPolicyOutputWithContext

func (i *TopicPolicy) ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput

type TopicPolicyArgs

type TopicPolicyArgs struct {
	// A policy document that contains permissions to add to the specified SNS topics.
	//
	// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.
	PolicyDocument pulumi.Input
	// The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the “Ref“ function to specify an “AWS::SNS::Topic“ resource.
	Topics pulumi.StringArrayInput
}

The set of arguments for constructing a TopicPolicy resource.

func (TopicPolicyArgs) ElementType

func (TopicPolicyArgs) ElementType() reflect.Type

type TopicPolicyInput

type TopicPolicyInput interface {
	pulumi.Input

	ToTopicPolicyOutput() TopicPolicyOutput
	ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput
}

type TopicPolicyOutput

type TopicPolicyOutput struct{ *pulumi.OutputState }

func (TopicPolicyOutput) AwsId added in v0.99.0

The provider-assigned unique ID for this managed resource.

func (TopicPolicyOutput) ElementType

func (TopicPolicyOutput) ElementType() reflect.Type

func (TopicPolicyOutput) PolicyDocument added in v0.17.0

func (o TopicPolicyOutput) PolicyDocument() pulumi.AnyOutput

A policy document that contains permissions to add to the specified SNS topics.

Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.

func (TopicPolicyOutput) ToTopicPolicyOutput

func (o TopicPolicyOutput) ToTopicPolicyOutput() TopicPolicyOutput

func (TopicPolicyOutput) ToTopicPolicyOutputWithContext

func (o TopicPolicyOutput) ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput

func (TopicPolicyOutput) Topics added in v0.17.0

The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the “Ref“ function to specify an “AWS::SNS::Topic“ resource.

type TopicPolicyState

type TopicPolicyState struct {
}

func (TopicPolicyState) ElementType

func (TopicPolicyState) ElementType() reflect.Type

type TopicState

type TopicState struct {
}

func (TopicState) ElementType

func (TopicState) ElementType() reflect.Type

type TopicSubscription

type TopicSubscription struct {
	// The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the “Endpoint“ parameter of the “Subscribe“ action in the *API Reference*.
	Endpoint string `pulumi:"endpoint"`
	// The subscription's protocol. For more information, see the “Protocol“ parameter of the “Subscribe“ action in the *API Reference*.
	Protocol string `pulumi:"protocol"`
}

“Subscription“ is an embedded property that describes the subscription endpoints of an SNS topic.

For full control over subscription behavior (for example, delivery policy, filtering, raw message delivery, and cross-region subscriptions), use the [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) resource.

type TopicSubscriptionArgs

type TopicSubscriptionArgs struct {
	// The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the “Endpoint“ parameter of the “Subscribe“ action in the *API Reference*.
	Endpoint pulumi.StringInput `pulumi:"endpoint"`
	// The subscription's protocol. For more information, see the “Protocol“ parameter of the “Subscribe“ action in the *API Reference*.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

“Subscription“ is an embedded property that describes the subscription endpoints of an SNS topic.

For full control over subscription behavior (for example, delivery policy, filtering, raw message delivery, and cross-region subscriptions), use the [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) resource.

func (TopicSubscriptionArgs) ElementType

func (TopicSubscriptionArgs) ElementType() reflect.Type

func (TopicSubscriptionArgs) ToTopicSubscriptionOutput

func (i TopicSubscriptionArgs) ToTopicSubscriptionOutput() TopicSubscriptionOutput

func (TopicSubscriptionArgs) ToTopicSubscriptionOutputWithContext

func (i TopicSubscriptionArgs) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput

type TopicSubscriptionArray

type TopicSubscriptionArray []TopicSubscriptionInput

func (TopicSubscriptionArray) ElementType

func (TopicSubscriptionArray) ElementType() reflect.Type

func (TopicSubscriptionArray) ToTopicSubscriptionArrayOutput

func (i TopicSubscriptionArray) ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput

func (TopicSubscriptionArray) ToTopicSubscriptionArrayOutputWithContext

func (i TopicSubscriptionArray) ToTopicSubscriptionArrayOutputWithContext(ctx context.Context) TopicSubscriptionArrayOutput

type TopicSubscriptionArrayInput

type TopicSubscriptionArrayInput interface {
	pulumi.Input

	ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput
	ToTopicSubscriptionArrayOutputWithContext(context.Context) TopicSubscriptionArrayOutput
}

TopicSubscriptionArrayInput is an input type that accepts TopicSubscriptionArray and TopicSubscriptionArrayOutput values. You can construct a concrete instance of `TopicSubscriptionArrayInput` via:

TopicSubscriptionArray{ TopicSubscriptionArgs{...} }

type TopicSubscriptionArrayOutput

type TopicSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (TopicSubscriptionArrayOutput) ElementType

func (TopicSubscriptionArrayOutput) Index

func (TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutput

func (o TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput

func (TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutputWithContext

func (o TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutputWithContext(ctx context.Context) TopicSubscriptionArrayOutput

type TopicSubscriptionInput

type TopicSubscriptionInput interface {
	pulumi.Input

	ToTopicSubscriptionOutput() TopicSubscriptionOutput
	ToTopicSubscriptionOutputWithContext(context.Context) TopicSubscriptionOutput
}

TopicSubscriptionInput is an input type that accepts TopicSubscriptionArgs and TopicSubscriptionOutput values. You can construct a concrete instance of `TopicSubscriptionInput` via:

TopicSubscriptionArgs{...}

type TopicSubscriptionOutput

type TopicSubscriptionOutput struct{ *pulumi.OutputState }

“Subscription“ is an embedded property that describes the subscription endpoints of an SNS topic.

For full control over subscription behavior (for example, delivery policy, filtering, raw message delivery, and cross-region subscriptions), use the [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) resource.

func (TopicSubscriptionOutput) ElementType

func (TopicSubscriptionOutput) ElementType() reflect.Type

func (TopicSubscriptionOutput) Endpoint

The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the “Endpoint“ parameter of the “Subscribe“ action in the *API Reference*.

func (TopicSubscriptionOutput) Protocol

The subscription's protocol. For more information, see the “Protocol“ parameter of the “Subscribe“ action in the *API Reference*.

func (TopicSubscriptionOutput) ToTopicSubscriptionOutput

func (o TopicSubscriptionOutput) ToTopicSubscriptionOutput() TopicSubscriptionOutput

func (TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext

func (o TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput

type TopicTag

type TopicTag struct {
	// The required key portion of the tag.
	Key string `pulumi:"key"`
	// The optional value portion of the tag.
	Value string `pulumi:"value"`
}

The list of tags to be added to the specified topic.

Jump to

Keyboard shortcuts

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