sns

package
v0.104.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 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 LookupTopicArgs added in v0.12.0

type LookupTopicArgs struct {
	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 {
	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 {
	Id string `pulumi:"id"`
}

type LookupTopicPolicyOutputArgs added in v0.12.0

type LookupTopicPolicyOutputArgs struct {
	Id pulumi.StringInput `pulumi:"id"`
}

func (LookupTopicPolicyOutputArgs) ElementType added in v0.12.0

type LookupTopicPolicyResult added in v0.12.0

type LookupTopicPolicyResult struct {
	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

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"`
	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"`
	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

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

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 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"`
	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"`
	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*.

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
	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 {
	FailureFeedbackRoleArn    *string                    `pulumi:"failureFeedbackRoleArn"`
	Protocol                  TopicLoggingConfigProtocol `pulumi:"protocol"`
	SuccessFeedbackRoleArn    *string                    `pulumi:"successFeedbackRoleArn"`
	SuccessFeedbackSampleRate *string                    `pulumi:"successFeedbackSampleRate"`
}

type TopicLoggingConfigArgs added in v0.90.0

type TopicLoggingConfigArgs struct {
	FailureFeedbackRoleArn    pulumi.StringPtrInput           `pulumi:"failureFeedbackRoleArn"`
	Protocol                  TopicLoggingConfigProtocolInput `pulumi:"protocol"`
	SuccessFeedbackRoleArn    pulumi.StringPtrInput           `pulumi:"successFeedbackRoleArn"`
	SuccessFeedbackSampleRate pulumi.StringPtrInput           `pulumi:"successFeedbackSampleRate"`
}

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 }

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

func (TopicLoggingConfigOutput) Protocol added in v0.90.0

func (TopicLoggingConfigOutput) SuccessFeedbackRoleArn added in v0.90.0

func (o TopicLoggingConfigOutput) SuccessFeedbackRoleArn() pulumi.StringPtrOutput

func (TopicLoggingConfigOutput) SuccessFeedbackSampleRate added in v0.90.0

func (o TopicLoggingConfigOutput) SuccessFeedbackSampleRate() pulumi.StringPtrOutput

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

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

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

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

	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

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