Documentation ¶
Index ¶
- type DataProtectionPolicy
- type DataProtectionPolicyArgs
- type DataProtectionPolicyArray
- type DataProtectionPolicyArrayInput
- type DataProtectionPolicyArrayOutput
- func (DataProtectionPolicyArrayOutput) ElementType() reflect.Type
- func (o DataProtectionPolicyArrayOutput) Index(i pulumi.IntInput) DataProtectionPolicyOutput
- func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput
- func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutputWithContext(ctx context.Context) DataProtectionPolicyArrayOutput
- type DataProtectionPolicyInput
- type DataProtectionPolicyMap
- type DataProtectionPolicyMapInput
- type DataProtectionPolicyMapOutput
- func (DataProtectionPolicyMapOutput) ElementType() reflect.Type
- func (o DataProtectionPolicyMapOutput) MapIndex(k pulumi.StringInput) DataProtectionPolicyOutput
- func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput
- func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutputWithContext(ctx context.Context) DataProtectionPolicyMapOutput
- type DataProtectionPolicyOutput
- func (o DataProtectionPolicyOutput) Arn() pulumi.StringOutput
- func (DataProtectionPolicyOutput) ElementType() reflect.Type
- func (o DataProtectionPolicyOutput) Policy() pulumi.StringOutput
- func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutput() DataProtectionPolicyOutput
- func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput
- type DataProtectionPolicyState
- type LookupTopicArgs
- type LookupTopicOutputArgs
- type LookupTopicResult
- type LookupTopicResultOutput
- func (o LookupTopicResultOutput) Arn() pulumi.StringOutput
- func (LookupTopicResultOutput) ElementType() reflect.Type
- func (o LookupTopicResultOutput) Id() pulumi.StringOutput
- func (o LookupTopicResultOutput) Name() pulumi.StringOutput
- func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput
- func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput
- type PlatformApplication
- type PlatformApplicationArgs
- type PlatformApplicationArray
- type PlatformApplicationArrayInput
- type PlatformApplicationArrayOutput
- func (PlatformApplicationArrayOutput) ElementType() reflect.Type
- func (o PlatformApplicationArrayOutput) Index(i pulumi.IntInput) PlatformApplicationOutput
- func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput
- func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput
- type PlatformApplicationInput
- type PlatformApplicationMap
- type PlatformApplicationMapInput
- type PlatformApplicationMapOutput
- func (PlatformApplicationMapOutput) ElementType() reflect.Type
- func (o PlatformApplicationMapOutput) MapIndex(k pulumi.StringInput) PlatformApplicationOutput
- func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput
- func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput
- type PlatformApplicationOutput
- func (o PlatformApplicationOutput) ApplePlatformBundleId() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) ApplePlatformTeamId() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) Arn() pulumi.StringOutput
- func (PlatformApplicationOutput) ElementType() reflect.Type
- func (o PlatformApplicationOutput) EventDeliveryFailureTopicArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) EventEndpointCreatedTopicArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) EventEndpointDeletedTopicArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) EventEndpointUpdatedTopicArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) FailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) Name() pulumi.StringOutput
- func (o PlatformApplicationOutput) Platform() pulumi.StringOutput
- func (o PlatformApplicationOutput) PlatformCredential() pulumi.StringOutput
- func (o PlatformApplicationOutput) PlatformPrincipal() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) SuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) SuccessFeedbackSampleRate() pulumi.StringPtrOutput
- func (o PlatformApplicationOutput) ToPlatformApplicationOutput() PlatformApplicationOutput
- func (o PlatformApplicationOutput) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput
- type PlatformApplicationState
- type SmsPreferences
- type SmsPreferencesArgs
- type SmsPreferencesArray
- type SmsPreferencesArrayInput
- type SmsPreferencesArrayOutput
- func (SmsPreferencesArrayOutput) ElementType() reflect.Type
- func (o SmsPreferencesArrayOutput) Index(i pulumi.IntInput) SmsPreferencesOutput
- func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput
- func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutputWithContext(ctx context.Context) SmsPreferencesArrayOutput
- type SmsPreferencesInput
- type SmsPreferencesMap
- type SmsPreferencesMapInput
- type SmsPreferencesMapOutput
- func (SmsPreferencesMapOutput) ElementType() reflect.Type
- func (o SmsPreferencesMapOutput) MapIndex(k pulumi.StringInput) SmsPreferencesOutput
- func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutput() SmsPreferencesMapOutput
- func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutputWithContext(ctx context.Context) SmsPreferencesMapOutput
- type SmsPreferencesOutput
- func (o SmsPreferencesOutput) DefaultSenderId() pulumi.StringPtrOutput
- func (o SmsPreferencesOutput) DefaultSmsType() pulumi.StringPtrOutput
- func (o SmsPreferencesOutput) DeliveryStatusIamRoleArn() pulumi.StringPtrOutput
- func (o SmsPreferencesOutput) DeliveryStatusSuccessSamplingRate() pulumi.StringPtrOutput
- func (SmsPreferencesOutput) ElementType() reflect.Type
- func (o SmsPreferencesOutput) MonthlySpendLimit() pulumi.IntOutput
- func (o SmsPreferencesOutput) ToSmsPreferencesOutput() SmsPreferencesOutput
- func (o SmsPreferencesOutput) ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput
- func (o SmsPreferencesOutput) UsageReportS3Bucket() pulumi.StringPtrOutput
- type SmsPreferencesState
- type Topic
- type TopicArgs
- type TopicArray
- type TopicArrayInput
- type TopicArrayOutput
- type TopicInput
- type TopicMap
- type TopicMapInput
- type TopicMapOutput
- type TopicOutput
- func (o TopicOutput) ApplicationFailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) ApplicationSuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) ApplicationSuccessFeedbackSampleRate() pulumi.IntPtrOutput
- func (o TopicOutput) ArchivePolicy() pulumi.StringPtrOutput
- func (o TopicOutput) Arn() pulumi.StringOutput
- func (o TopicOutput) BeginningArchiveTime() pulumi.StringOutput
- func (o TopicOutput) ContentBasedDeduplication() pulumi.BoolPtrOutput
- func (o TopicOutput) DeliveryPolicy() pulumi.StringPtrOutput
- func (o TopicOutput) DisplayName() pulumi.StringPtrOutput
- func (TopicOutput) ElementType() reflect.Type
- func (o TopicOutput) FifoTopic() pulumi.BoolPtrOutput
- func (o TopicOutput) FirehoseFailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) FirehoseSuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) FirehoseSuccessFeedbackSampleRate() pulumi.IntPtrOutput
- func (o TopicOutput) HttpFailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) HttpSuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) HttpSuccessFeedbackSampleRate() pulumi.IntPtrOutput
- func (o TopicOutput) KmsMasterKeyId() pulumi.StringPtrOutput
- func (o TopicOutput) LambdaFailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) LambdaSuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) LambdaSuccessFeedbackSampleRate() pulumi.IntPtrOutput
- func (o TopicOutput) Name() pulumi.StringOutput
- func (o TopicOutput) NamePrefix() pulumi.StringOutput
- func (o TopicOutput) Owner() pulumi.StringOutput
- func (o TopicOutput) Policy() pulumi.StringOutput
- func (o TopicOutput) SignatureVersion() pulumi.IntOutput
- func (o TopicOutput) SqsFailureFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) SqsSuccessFeedbackRoleArn() pulumi.StringPtrOutput
- func (o TopicOutput) SqsSuccessFeedbackSampleRate() pulumi.IntPtrOutput
- func (o TopicOutput) Tags() pulumi.StringMapOutput
- func (o TopicOutput) TagsAll() pulumi.StringMapOutputdeprecated
- func (o TopicOutput) ToTopicOutput() TopicOutput
- func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput
- func (o TopicOutput) TracingConfig() pulumi.StringOutput
- type TopicPolicy
- type TopicPolicyArgs
- type TopicPolicyArray
- type TopicPolicyArrayInput
- type TopicPolicyArrayOutput
- func (TopicPolicyArrayOutput) ElementType() reflect.Type
- func (o TopicPolicyArrayOutput) Index(i pulumi.IntInput) TopicPolicyOutput
- func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutput() TopicPolicyArrayOutput
- func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutputWithContext(ctx context.Context) TopicPolicyArrayOutput
- type TopicPolicyInput
- type TopicPolicyMap
- type TopicPolicyMapInput
- type TopicPolicyMapOutput
- func (TopicPolicyMapOutput) ElementType() reflect.Type
- func (o TopicPolicyMapOutput) MapIndex(k pulumi.StringInput) TopicPolicyOutput
- func (o TopicPolicyMapOutput) ToTopicPolicyMapOutput() TopicPolicyMapOutput
- func (o TopicPolicyMapOutput) ToTopicPolicyMapOutputWithContext(ctx context.Context) TopicPolicyMapOutput
- type TopicPolicyOutput
- func (o TopicPolicyOutput) Arn() pulumi.StringOutput
- func (TopicPolicyOutput) ElementType() reflect.Type
- func (o TopicPolicyOutput) Owner() pulumi.StringOutput
- func (o TopicPolicyOutput) Policy() pulumi.StringOutput
- func (o TopicPolicyOutput) ToTopicPolicyOutput() TopicPolicyOutput
- func (o TopicPolicyOutput) ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput
- type TopicPolicyState
- type TopicState
- type TopicSubscription
- type TopicSubscriptionArgs
- type TopicSubscriptionArray
- type TopicSubscriptionArrayInput
- type TopicSubscriptionArrayOutput
- func (TopicSubscriptionArrayOutput) ElementType() reflect.Type
- func (o TopicSubscriptionArrayOutput) Index(i pulumi.IntInput) TopicSubscriptionOutput
- func (o TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput
- func (o TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutputWithContext(ctx context.Context) TopicSubscriptionArrayOutput
- type TopicSubscriptionInput
- type TopicSubscriptionMap
- type TopicSubscriptionMapInput
- type TopicSubscriptionMapOutput
- func (TopicSubscriptionMapOutput) ElementType() reflect.Type
- func (o TopicSubscriptionMapOutput) MapIndex(k pulumi.StringInput) TopicSubscriptionOutput
- func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput
- func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutputWithContext(ctx context.Context) TopicSubscriptionMapOutput
- type TopicSubscriptionOutput
- func (o TopicSubscriptionOutput) Arn() pulumi.StringOutput
- func (o TopicSubscriptionOutput) ConfirmationTimeoutInMinutes() pulumi.IntPtrOutput
- func (o TopicSubscriptionOutput) ConfirmationWasAuthenticated() pulumi.BoolOutput
- func (o TopicSubscriptionOutput) DeliveryPolicy() pulumi.StringPtrOutput
- func (TopicSubscriptionOutput) ElementType() reflect.Type
- func (o TopicSubscriptionOutput) Endpoint() pulumi.StringOutput
- func (o TopicSubscriptionOutput) EndpointAutoConfirms() pulumi.BoolPtrOutput
- func (o TopicSubscriptionOutput) FilterPolicy() pulumi.StringPtrOutput
- func (o TopicSubscriptionOutput) FilterPolicyScope() pulumi.StringOutput
- func (o TopicSubscriptionOutput) OwnerId() pulumi.StringOutput
- func (o TopicSubscriptionOutput) PendingConfirmation() pulumi.BoolOutput
- func (o TopicSubscriptionOutput) Protocol() pulumi.StringOutput
- func (o TopicSubscriptionOutput) RawMessageDelivery() pulumi.BoolPtrOutput
- func (o TopicSubscriptionOutput) RedrivePolicy() pulumi.StringPtrOutput
- func (o TopicSubscriptionOutput) ReplayPolicy() pulumi.StringPtrOutput
- func (o TopicSubscriptionOutput) SubscriptionRoleArn() pulumi.StringPtrOutput
- func (o TopicSubscriptionOutput) ToTopicSubscriptionOutput() TopicSubscriptionOutput
- func (o TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput
- func (o TopicSubscriptionOutput) Topic() pulumi.StringOutput
- type TopicSubscriptionState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataProtectionPolicy ¶
type DataProtectionPolicy struct { pulumi.CustomResourceState // The ARN of the SNS topic Arn pulumi.StringOutput `pulumi:"arn"` // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. Policy pulumi.StringOutput `pulumi:"policy"` }
Provides an SNS data protection topic policy resource
## Example Usage
```go package main
import (
"encoding/json" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { exampleTopic, err := sns.NewTopic(ctx, "exampleTopic", nil) if err != nil { return err } tmpJSON0, err := json.Marshal(map[string]interface{}{ "Description": "Example data protection policy", "Name": "__example_data_protection_policy", "Statement": []map[string]interface{}{ map[string]interface{}{ "DataDirection": "Inbound", "DataIdentifier": []string{ "arn:aws:dataprotection::aws:data-identifier/EmailAddress", }, "Operation": map[string]interface{}{ "Deny": nil, }, "Principal": []string{ "*", }, "Sid": "__deny_statement_11ba9d96", }, }, "Version": "2021-06-01", }) if err != nil { return err } json0 := string(tmpJSON0) _, err = sns.NewDataProtectionPolicy(ctx, "exampleDataProtectionPolicy", &sns.DataProtectionPolicyArgs{ Arn: exampleTopic.Arn, Policy: pulumi.String(json0), }) if err != nil { return err } return nil }) }
```
## Import
Using `pulumi import`, import SNS Data Protection Topic Policy using the topic ARN. For example:
```sh
$ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example
```
func GetDataProtectionPolicy ¶
func GetDataProtectionPolicy(ctx *pulumi.Context, name string, id pulumi.IDInput, state *DataProtectionPolicyState, opts ...pulumi.ResourceOption) (*DataProtectionPolicy, error)
GetDataProtectionPolicy gets an existing DataProtectionPolicy 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 NewDataProtectionPolicy ¶
func NewDataProtectionPolicy(ctx *pulumi.Context, name string, args *DataProtectionPolicyArgs, opts ...pulumi.ResourceOption) (*DataProtectionPolicy, error)
NewDataProtectionPolicy registers a new resource with the given unique name, arguments, and options.
func (*DataProtectionPolicy) ElementType ¶
func (*DataProtectionPolicy) ElementType() reflect.Type
func (*DataProtectionPolicy) ToDataProtectionPolicyOutput ¶
func (i *DataProtectionPolicy) ToDataProtectionPolicyOutput() DataProtectionPolicyOutput
func (*DataProtectionPolicy) ToDataProtectionPolicyOutputWithContext ¶
func (i *DataProtectionPolicy) ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput
type DataProtectionPolicyArgs ¶
type DataProtectionPolicyArgs struct { // The ARN of the SNS topic Arn pulumi.StringInput // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. Policy pulumi.StringInput }
The set of arguments for constructing a DataProtectionPolicy resource.
func (DataProtectionPolicyArgs) ElementType ¶
func (DataProtectionPolicyArgs) ElementType() reflect.Type
type DataProtectionPolicyArray ¶
type DataProtectionPolicyArray []DataProtectionPolicyInput
func (DataProtectionPolicyArray) ElementType ¶
func (DataProtectionPolicyArray) ElementType() reflect.Type
func (DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutput ¶
func (i DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput
func (DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutputWithContext ¶
func (i DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutputWithContext(ctx context.Context) DataProtectionPolicyArrayOutput
type DataProtectionPolicyArrayInput ¶
type DataProtectionPolicyArrayInput interface { pulumi.Input ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput ToDataProtectionPolicyArrayOutputWithContext(context.Context) DataProtectionPolicyArrayOutput }
DataProtectionPolicyArrayInput is an input type that accepts DataProtectionPolicyArray and DataProtectionPolicyArrayOutput values. You can construct a concrete instance of `DataProtectionPolicyArrayInput` via:
DataProtectionPolicyArray{ DataProtectionPolicyArgs{...} }
type DataProtectionPolicyArrayOutput ¶
type DataProtectionPolicyArrayOutput struct{ *pulumi.OutputState }
func (DataProtectionPolicyArrayOutput) ElementType ¶
func (DataProtectionPolicyArrayOutput) ElementType() reflect.Type
func (DataProtectionPolicyArrayOutput) Index ¶
func (o DataProtectionPolicyArrayOutput) Index(i pulumi.IntInput) DataProtectionPolicyOutput
func (DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutput ¶
func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput
func (DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutputWithContext ¶
func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutputWithContext(ctx context.Context) DataProtectionPolicyArrayOutput
type DataProtectionPolicyInput ¶
type DataProtectionPolicyInput interface { pulumi.Input ToDataProtectionPolicyOutput() DataProtectionPolicyOutput ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput }
type DataProtectionPolicyMap ¶
type DataProtectionPolicyMap map[string]DataProtectionPolicyInput
func (DataProtectionPolicyMap) ElementType ¶
func (DataProtectionPolicyMap) ElementType() reflect.Type
func (DataProtectionPolicyMap) ToDataProtectionPolicyMapOutput ¶
func (i DataProtectionPolicyMap) ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput
func (DataProtectionPolicyMap) ToDataProtectionPolicyMapOutputWithContext ¶
func (i DataProtectionPolicyMap) ToDataProtectionPolicyMapOutputWithContext(ctx context.Context) DataProtectionPolicyMapOutput
type DataProtectionPolicyMapInput ¶
type DataProtectionPolicyMapInput interface { pulumi.Input ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput ToDataProtectionPolicyMapOutputWithContext(context.Context) DataProtectionPolicyMapOutput }
DataProtectionPolicyMapInput is an input type that accepts DataProtectionPolicyMap and DataProtectionPolicyMapOutput values. You can construct a concrete instance of `DataProtectionPolicyMapInput` via:
DataProtectionPolicyMap{ "key": DataProtectionPolicyArgs{...} }
type DataProtectionPolicyMapOutput ¶
type DataProtectionPolicyMapOutput struct{ *pulumi.OutputState }
func (DataProtectionPolicyMapOutput) ElementType ¶
func (DataProtectionPolicyMapOutput) ElementType() reflect.Type
func (DataProtectionPolicyMapOutput) MapIndex ¶
func (o DataProtectionPolicyMapOutput) MapIndex(k pulumi.StringInput) DataProtectionPolicyOutput
func (DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutput ¶
func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput
func (DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutputWithContext ¶
func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutputWithContext(ctx context.Context) DataProtectionPolicyMapOutput
type DataProtectionPolicyOutput ¶
type DataProtectionPolicyOutput struct{ *pulumi.OutputState }
func (DataProtectionPolicyOutput) Arn ¶
func (o DataProtectionPolicyOutput) Arn() pulumi.StringOutput
The ARN of the SNS topic
func (DataProtectionPolicyOutput) ElementType ¶
func (DataProtectionPolicyOutput) ElementType() reflect.Type
func (DataProtectionPolicyOutput) Policy ¶
func (o DataProtectionPolicyOutput) Policy() pulumi.StringOutput
The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
func (DataProtectionPolicyOutput) ToDataProtectionPolicyOutput ¶
func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutput() DataProtectionPolicyOutput
func (DataProtectionPolicyOutput) ToDataProtectionPolicyOutputWithContext ¶
func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput
type DataProtectionPolicyState ¶
type DataProtectionPolicyState struct { // The ARN of the SNS topic Arn pulumi.StringPtrInput // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. Policy pulumi.StringPtrInput }
func (DataProtectionPolicyState) ElementType ¶
func (DataProtectionPolicyState) ElementType() reflect.Type
type LookupTopicArgs ¶
type LookupTopicArgs struct { // Friendly name of the topic to match. Name string `pulumi:"name"` }
A collection of arguments for invoking getTopic.
type LookupTopicOutputArgs ¶
type LookupTopicOutputArgs struct { // Friendly name of the topic to match. Name pulumi.StringInput `pulumi:"name"` }
A collection of arguments for invoking getTopic.
func (LookupTopicOutputArgs) ElementType ¶
func (LookupTopicOutputArgs) ElementType() reflect.Type
type LookupTopicResult ¶
type LookupTopicResult struct { // ARN of the found topic, suitable for referencing in other resources that support SNS topics. Arn string `pulumi:"arn"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` Name string `pulumi:"name"` }
A collection of values returned by getTopic.
func LookupTopic ¶
func LookupTopic(ctx *pulumi.Context, args *LookupTopicArgs, opts ...pulumi.InvokeOption) (*LookupTopicResult, error)
Use this data source to get the ARN of a topic in AWS Simple Notification Service (SNS). By using this data source, you can reference SNS topics without having to hard code the ARNs as input.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.LookupTopic(ctx, &sns.LookupTopicArgs{ Name: "an_example_topic", }, nil) if err != nil { return err } return nil }) }
```
type LookupTopicResultOutput ¶
type LookupTopicResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getTopic.
func LookupTopicOutput ¶
func LookupTopicOutput(ctx *pulumi.Context, args LookupTopicOutputArgs, opts ...pulumi.InvokeOption) LookupTopicResultOutput
func (LookupTopicResultOutput) Arn ¶
func (o LookupTopicResultOutput) Arn() pulumi.StringOutput
ARN of the found topic, suitable for referencing in other resources that support SNS topics.
func (LookupTopicResultOutput) ElementType ¶
func (LookupTopicResultOutput) ElementType() reflect.Type
func (LookupTopicResultOutput) Id ¶
func (o LookupTopicResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupTopicResultOutput) Name ¶
func (o LookupTopicResultOutput) Name() pulumi.StringOutput
func (LookupTopicResultOutput) ToLookupTopicResultOutput ¶
func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput
func (LookupTopicResultOutput) ToLookupTopicResultOutputWithContext ¶
func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput
type PlatformApplication ¶
type PlatformApplication struct { pulumi.CustomResourceState // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). ApplePlatformBundleId pulumi.StringPtrOutput `pulumi:"applePlatformBundleId"` // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. ApplePlatformTeamId pulumi.StringPtrOutput `pulumi:"applePlatformTeamId"` // The ARN of the SNS platform application Arn pulumi.StringOutput `pulumi:"arn"` // The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure. EventDeliveryFailureTopicArn pulumi.StringPtrOutput `pulumi:"eventDeliveryFailureTopicArn"` // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. EventEndpointCreatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointCreatedTopicArn"` // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. EventEndpointDeletedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointDeletedTopicArn"` // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. EventEndpointUpdatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointUpdatedTopicArn"` // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. FailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"failureFeedbackRoleArn"` // The friendly name for the SNS platform application Name pulumi.StringOutput `pulumi:"name"` // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. Platform pulumi.StringOutput `pulumi:"platform"` // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformCredential pulumi.StringOutput `pulumi:"platformCredential"` // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformPrincipal pulumi.StringPtrOutput `pulumi:"platformPrincipal"` // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. SuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"successFeedbackRoleArn"` // The sample rate percentage (0-100) of successfully delivered messages. // // The following attributes are needed only when using APNS token credentials: SuccessFeedbackSampleRate pulumi.StringPtrOutput `pulumi:"successFeedbackSampleRate"` }
Provides an SNS platform application resource
## Example Usage ### Apple Push Notification Service (APNS) using certificate-based authentication
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewPlatformApplication(ctx, "apnsApplication", &sns.PlatformApplicationArgs{ Platform: pulumi.String("APNS"), PlatformCredential: pulumi.String("<APNS PRIVATE KEY>"), PlatformPrincipal: pulumi.String("<APNS CERTIFICATE>"), }) if err != nil { return err } return nil }) }
``` ### Apple Push Notification Service (APNS) using token-based authentication
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewPlatformApplication(ctx, "apnsApplication", &sns.PlatformApplicationArgs{ ApplePlatformBundleId: pulumi.String("<APPLE BUNDLE ID>"), ApplePlatformTeamId: pulumi.String("<APPLE TEAM ID>"), Platform: pulumi.String("APNS"), PlatformCredential: pulumi.String("<APNS SIGNING KEY>"), PlatformPrincipal: pulumi.String("<APNS SIGNING KEY ID>"), }) if err != nil { return err } return nil }) }
``` ### Google Cloud Messaging (GCM)
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewPlatformApplication(ctx, "gcmApplication", &sns.PlatformApplicationArgs{ Platform: pulumi.String("GCM"), PlatformCredential: pulumi.String("<GCM API KEY>"), }) if err != nil { return err } return nil }) }
```
## Import
Using `pulumi import`, import SNS platform applications using the ARN. For example:
```sh
$ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application
```
func GetPlatformApplication ¶
func GetPlatformApplication(ctx *pulumi.Context, name string, id pulumi.IDInput, state *PlatformApplicationState, opts ...pulumi.ResourceOption) (*PlatformApplication, error)
GetPlatformApplication gets an existing PlatformApplication 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 NewPlatformApplication ¶
func NewPlatformApplication(ctx *pulumi.Context, name string, args *PlatformApplicationArgs, opts ...pulumi.ResourceOption) (*PlatformApplication, error)
NewPlatformApplication registers a new resource with the given unique name, arguments, and options.
func (*PlatformApplication) ElementType ¶
func (*PlatformApplication) ElementType() reflect.Type
func (*PlatformApplication) ToPlatformApplicationOutput ¶
func (i *PlatformApplication) ToPlatformApplicationOutput() PlatformApplicationOutput
func (*PlatformApplication) ToPlatformApplicationOutputWithContext ¶
func (i *PlatformApplication) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput
type PlatformApplicationArgs ¶
type PlatformApplicationArgs struct { // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). ApplePlatformBundleId pulumi.StringPtrInput // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. ApplePlatformTeamId pulumi.StringPtrInput // The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure. EventDeliveryFailureTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. EventEndpointCreatedTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. EventEndpointDeletedTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. EventEndpointUpdatedTopicArn pulumi.StringPtrInput // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. FailureFeedbackRoleArn pulumi.StringPtrInput // The friendly name for the SNS platform application Name pulumi.StringPtrInput // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. Platform pulumi.StringInput // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformCredential pulumi.StringInput // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformPrincipal pulumi.StringPtrInput // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. SuccessFeedbackRoleArn pulumi.StringPtrInput // The sample rate percentage (0-100) of successfully delivered messages. // // The following attributes are needed only when using APNS token credentials: SuccessFeedbackSampleRate pulumi.StringPtrInput }
The set of arguments for constructing a PlatformApplication resource.
func (PlatformApplicationArgs) ElementType ¶
func (PlatformApplicationArgs) ElementType() reflect.Type
type PlatformApplicationArray ¶
type PlatformApplicationArray []PlatformApplicationInput
func (PlatformApplicationArray) ElementType ¶
func (PlatformApplicationArray) ElementType() reflect.Type
func (PlatformApplicationArray) ToPlatformApplicationArrayOutput ¶
func (i PlatformApplicationArray) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput
func (PlatformApplicationArray) ToPlatformApplicationArrayOutputWithContext ¶
func (i PlatformApplicationArray) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput
type PlatformApplicationArrayInput ¶
type PlatformApplicationArrayInput interface { pulumi.Input ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput ToPlatformApplicationArrayOutputWithContext(context.Context) PlatformApplicationArrayOutput }
PlatformApplicationArrayInput is an input type that accepts PlatformApplicationArray and PlatformApplicationArrayOutput values. You can construct a concrete instance of `PlatformApplicationArrayInput` via:
PlatformApplicationArray{ PlatformApplicationArgs{...} }
type PlatformApplicationArrayOutput ¶
type PlatformApplicationArrayOutput struct{ *pulumi.OutputState }
func (PlatformApplicationArrayOutput) ElementType ¶
func (PlatformApplicationArrayOutput) ElementType() reflect.Type
func (PlatformApplicationArrayOutput) Index ¶
func (o PlatformApplicationArrayOutput) Index(i pulumi.IntInput) PlatformApplicationOutput
func (PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput ¶
func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput
func (PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext ¶
func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput
type PlatformApplicationInput ¶
type PlatformApplicationInput interface { pulumi.Input ToPlatformApplicationOutput() PlatformApplicationOutput ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput }
type PlatformApplicationMap ¶
type PlatformApplicationMap map[string]PlatformApplicationInput
func (PlatformApplicationMap) ElementType ¶
func (PlatformApplicationMap) ElementType() reflect.Type
func (PlatformApplicationMap) ToPlatformApplicationMapOutput ¶
func (i PlatformApplicationMap) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput
func (PlatformApplicationMap) ToPlatformApplicationMapOutputWithContext ¶
func (i PlatformApplicationMap) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput
type PlatformApplicationMapInput ¶
type PlatformApplicationMapInput interface { pulumi.Input ToPlatformApplicationMapOutput() PlatformApplicationMapOutput ToPlatformApplicationMapOutputWithContext(context.Context) PlatformApplicationMapOutput }
PlatformApplicationMapInput is an input type that accepts PlatformApplicationMap and PlatformApplicationMapOutput values. You can construct a concrete instance of `PlatformApplicationMapInput` via:
PlatformApplicationMap{ "key": PlatformApplicationArgs{...} }
type PlatformApplicationMapOutput ¶
type PlatformApplicationMapOutput struct{ *pulumi.OutputState }
func (PlatformApplicationMapOutput) ElementType ¶
func (PlatformApplicationMapOutput) ElementType() reflect.Type
func (PlatformApplicationMapOutput) MapIndex ¶
func (o PlatformApplicationMapOutput) MapIndex(k pulumi.StringInput) PlatformApplicationOutput
func (PlatformApplicationMapOutput) ToPlatformApplicationMapOutput ¶
func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput
func (PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext ¶
func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput
type PlatformApplicationOutput ¶
type PlatformApplicationOutput struct{ *pulumi.OutputState }
func (PlatformApplicationOutput) ApplePlatformBundleId ¶
func (o PlatformApplicationOutput) ApplePlatformBundleId() pulumi.StringPtrOutput
The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
func (PlatformApplicationOutput) ApplePlatformTeamId ¶
func (o PlatformApplicationOutput) ApplePlatformTeamId() pulumi.StringPtrOutput
The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
func (PlatformApplicationOutput) Arn ¶
func (o PlatformApplicationOutput) Arn() pulumi.StringOutput
The ARN of the SNS platform application
func (PlatformApplicationOutput) ElementType ¶
func (PlatformApplicationOutput) ElementType() reflect.Type
func (PlatformApplicationOutput) EventDeliveryFailureTopicArn ¶
func (o PlatformApplicationOutput) EventDeliveryFailureTopicArn() pulumi.StringPtrOutput
The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
func (PlatformApplicationOutput) EventEndpointCreatedTopicArn ¶
func (o PlatformApplicationOutput) EventEndpointCreatedTopicArn() pulumi.StringPtrOutput
The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
func (PlatformApplicationOutput) EventEndpointDeletedTopicArn ¶
func (o PlatformApplicationOutput) EventEndpointDeletedTopicArn() pulumi.StringPtrOutput
The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
func (PlatformApplicationOutput) EventEndpointUpdatedTopicArn ¶
func (o PlatformApplicationOutput) EventEndpointUpdatedTopicArn() pulumi.StringPtrOutput
The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
func (PlatformApplicationOutput) FailureFeedbackRoleArn ¶
func (o PlatformApplicationOutput) FailureFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
func (PlatformApplicationOutput) Name ¶
func (o PlatformApplicationOutput) Name() pulumi.StringOutput
The friendly name for the SNS platform application
func (PlatformApplicationOutput) Platform ¶
func (o PlatformApplicationOutput) Platform() pulumi.StringOutput
The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms.
func (PlatformApplicationOutput) PlatformCredential ¶
func (o PlatformApplicationOutput) PlatformCredential() pulumi.StringOutput
Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
func (PlatformApplicationOutput) PlatformPrincipal ¶
func (o PlatformApplicationOutput) PlatformPrincipal() pulumi.StringPtrOutput
Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
func (PlatformApplicationOutput) SuccessFeedbackRoleArn ¶
func (o PlatformApplicationOutput) SuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
func (PlatformApplicationOutput) SuccessFeedbackSampleRate ¶
func (o PlatformApplicationOutput) SuccessFeedbackSampleRate() pulumi.StringPtrOutput
The sample rate percentage (0-100) of successfully delivered messages.
The following attributes are needed only when using APNS token credentials:
func (PlatformApplicationOutput) ToPlatformApplicationOutput ¶
func (o PlatformApplicationOutput) ToPlatformApplicationOutput() PlatformApplicationOutput
func (PlatformApplicationOutput) ToPlatformApplicationOutputWithContext ¶
func (o PlatformApplicationOutput) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput
type PlatformApplicationState ¶
type PlatformApplicationState struct { // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). ApplePlatformBundleId pulumi.StringPtrInput // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. ApplePlatformTeamId pulumi.StringPtrInput // The ARN of the SNS platform application Arn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure. EventDeliveryFailureTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. EventEndpointCreatedTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. EventEndpointDeletedTopicArn pulumi.StringPtrInput // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. EventEndpointUpdatedTopicArn pulumi.StringPtrInput // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. FailureFeedbackRoleArn pulumi.StringPtrInput // The friendly name for the SNS platform application Name pulumi.StringPtrInput // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. Platform pulumi.StringPtrInput // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformCredential pulumi.StringPtrInput // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources. PlatformPrincipal pulumi.StringPtrInput // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. SuccessFeedbackRoleArn pulumi.StringPtrInput // The sample rate percentage (0-100) of successfully delivered messages. // // The following attributes are needed only when using APNS token credentials: SuccessFeedbackSampleRate pulumi.StringPtrInput }
func (PlatformApplicationState) ElementType ¶
func (PlatformApplicationState) ElementType() reflect.Type
type SmsPreferences ¶
type SmsPreferences struct { pulumi.CustomResourceState // A string, such as your business brand, that is displayed as the sender on the receiving device. DefaultSenderId pulumi.StringPtrOutput `pulumi:"defaultSenderId"` // The type of SMS message that you will send by default. Possible values are: Promotional, Transactional DefaultSmsType pulumi.StringPtrOutput `pulumi:"defaultSmsType"` // The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. DeliveryStatusIamRoleArn pulumi.StringPtrOutput `pulumi:"deliveryStatusIamRoleArn"` // The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value must be between 0 and 100. DeliveryStatusSuccessSamplingRate pulumi.StringPtrOutput `pulumi:"deliveryStatusSuccessSamplingRate"` // The maximum amount in USD that you are willing to spend each month to send SMS messages. MonthlySpendLimit pulumi.IntOutput `pulumi:"monthlySpendLimit"` // The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. UsageReportS3Bucket pulumi.StringPtrOutput `pulumi:"usageReportS3Bucket"` }
Provides a way to set SNS SMS preferences.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewSmsPreferences(ctx, "updateSmsPrefs", nil) if err != nil { return err } return nil }) }
```
func GetSmsPreferences ¶
func GetSmsPreferences(ctx *pulumi.Context, name string, id pulumi.IDInput, state *SmsPreferencesState, opts ...pulumi.ResourceOption) (*SmsPreferences, error)
GetSmsPreferences gets an existing SmsPreferences 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 NewSmsPreferences ¶
func NewSmsPreferences(ctx *pulumi.Context, name string, args *SmsPreferencesArgs, opts ...pulumi.ResourceOption) (*SmsPreferences, error)
NewSmsPreferences registers a new resource with the given unique name, arguments, and options.
func (*SmsPreferences) ElementType ¶
func (*SmsPreferences) ElementType() reflect.Type
func (*SmsPreferences) ToSmsPreferencesOutput ¶
func (i *SmsPreferences) ToSmsPreferencesOutput() SmsPreferencesOutput
func (*SmsPreferences) ToSmsPreferencesOutputWithContext ¶
func (i *SmsPreferences) ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput
type SmsPreferencesArgs ¶
type SmsPreferencesArgs struct { // A string, such as your business brand, that is displayed as the sender on the receiving device. DefaultSenderId pulumi.StringPtrInput // The type of SMS message that you will send by default. Possible values are: Promotional, Transactional DefaultSmsType pulumi.StringPtrInput // The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. DeliveryStatusIamRoleArn pulumi.StringPtrInput // The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value must be between 0 and 100. DeliveryStatusSuccessSamplingRate pulumi.StringPtrInput // The maximum amount in USD that you are willing to spend each month to send SMS messages. MonthlySpendLimit pulumi.IntPtrInput // The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. UsageReportS3Bucket pulumi.StringPtrInput }
The set of arguments for constructing a SmsPreferences resource.
func (SmsPreferencesArgs) ElementType ¶
func (SmsPreferencesArgs) ElementType() reflect.Type
type SmsPreferencesArray ¶
type SmsPreferencesArray []SmsPreferencesInput
func (SmsPreferencesArray) ElementType ¶
func (SmsPreferencesArray) ElementType() reflect.Type
func (SmsPreferencesArray) ToSmsPreferencesArrayOutput ¶
func (i SmsPreferencesArray) ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput
func (SmsPreferencesArray) ToSmsPreferencesArrayOutputWithContext ¶
func (i SmsPreferencesArray) ToSmsPreferencesArrayOutputWithContext(ctx context.Context) SmsPreferencesArrayOutput
type SmsPreferencesArrayInput ¶
type SmsPreferencesArrayInput interface { pulumi.Input ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput ToSmsPreferencesArrayOutputWithContext(context.Context) SmsPreferencesArrayOutput }
SmsPreferencesArrayInput is an input type that accepts SmsPreferencesArray and SmsPreferencesArrayOutput values. You can construct a concrete instance of `SmsPreferencesArrayInput` via:
SmsPreferencesArray{ SmsPreferencesArgs{...} }
type SmsPreferencesArrayOutput ¶
type SmsPreferencesArrayOutput struct{ *pulumi.OutputState }
func (SmsPreferencesArrayOutput) ElementType ¶
func (SmsPreferencesArrayOutput) ElementType() reflect.Type
func (SmsPreferencesArrayOutput) Index ¶
func (o SmsPreferencesArrayOutput) Index(i pulumi.IntInput) SmsPreferencesOutput
func (SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutput ¶
func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput
func (SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutputWithContext ¶
func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutputWithContext(ctx context.Context) SmsPreferencesArrayOutput
type SmsPreferencesInput ¶
type SmsPreferencesInput interface { pulumi.Input ToSmsPreferencesOutput() SmsPreferencesOutput ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput }
type SmsPreferencesMap ¶
type SmsPreferencesMap map[string]SmsPreferencesInput
func (SmsPreferencesMap) ElementType ¶
func (SmsPreferencesMap) ElementType() reflect.Type
func (SmsPreferencesMap) ToSmsPreferencesMapOutput ¶
func (i SmsPreferencesMap) ToSmsPreferencesMapOutput() SmsPreferencesMapOutput
func (SmsPreferencesMap) ToSmsPreferencesMapOutputWithContext ¶
func (i SmsPreferencesMap) ToSmsPreferencesMapOutputWithContext(ctx context.Context) SmsPreferencesMapOutput
type SmsPreferencesMapInput ¶
type SmsPreferencesMapInput interface { pulumi.Input ToSmsPreferencesMapOutput() SmsPreferencesMapOutput ToSmsPreferencesMapOutputWithContext(context.Context) SmsPreferencesMapOutput }
SmsPreferencesMapInput is an input type that accepts SmsPreferencesMap and SmsPreferencesMapOutput values. You can construct a concrete instance of `SmsPreferencesMapInput` via:
SmsPreferencesMap{ "key": SmsPreferencesArgs{...} }
type SmsPreferencesMapOutput ¶
type SmsPreferencesMapOutput struct{ *pulumi.OutputState }
func (SmsPreferencesMapOutput) ElementType ¶
func (SmsPreferencesMapOutput) ElementType() reflect.Type
func (SmsPreferencesMapOutput) MapIndex ¶
func (o SmsPreferencesMapOutput) MapIndex(k pulumi.StringInput) SmsPreferencesOutput
func (SmsPreferencesMapOutput) ToSmsPreferencesMapOutput ¶
func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutput() SmsPreferencesMapOutput
func (SmsPreferencesMapOutput) ToSmsPreferencesMapOutputWithContext ¶
func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutputWithContext(ctx context.Context) SmsPreferencesMapOutput
type SmsPreferencesOutput ¶
type SmsPreferencesOutput struct{ *pulumi.OutputState }
func (SmsPreferencesOutput) DefaultSenderId ¶
func (o SmsPreferencesOutput) DefaultSenderId() pulumi.StringPtrOutput
A string, such as your business brand, that is displayed as the sender on the receiving device.
func (SmsPreferencesOutput) DefaultSmsType ¶
func (o SmsPreferencesOutput) DefaultSmsType() pulumi.StringPtrOutput
The type of SMS message that you will send by default. Possible values are: Promotional, Transactional
func (SmsPreferencesOutput) DeliveryStatusIamRoleArn ¶
func (o SmsPreferencesOutput) DeliveryStatusIamRoleArn() pulumi.StringPtrOutput
The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs.
func (SmsPreferencesOutput) DeliveryStatusSuccessSamplingRate ¶
func (o SmsPreferencesOutput) DeliveryStatusSuccessSamplingRate() pulumi.StringPtrOutput
The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value must be between 0 and 100.
func (SmsPreferencesOutput) ElementType ¶
func (SmsPreferencesOutput) ElementType() reflect.Type
func (SmsPreferencesOutput) MonthlySpendLimit ¶
func (o SmsPreferencesOutput) MonthlySpendLimit() pulumi.IntOutput
The maximum amount in USD that you are willing to spend each month to send SMS messages.
func (SmsPreferencesOutput) ToSmsPreferencesOutput ¶
func (o SmsPreferencesOutput) ToSmsPreferencesOutput() SmsPreferencesOutput
func (SmsPreferencesOutput) ToSmsPreferencesOutputWithContext ¶
func (o SmsPreferencesOutput) ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput
func (SmsPreferencesOutput) UsageReportS3Bucket ¶
func (o SmsPreferencesOutput) UsageReportS3Bucket() pulumi.StringPtrOutput
The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS.
type SmsPreferencesState ¶
type SmsPreferencesState struct { // A string, such as your business brand, that is displayed as the sender on the receiving device. DefaultSenderId pulumi.StringPtrInput // The type of SMS message that you will send by default. Possible values are: Promotional, Transactional DefaultSmsType pulumi.StringPtrInput // The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. DeliveryStatusIamRoleArn pulumi.StringPtrInput // The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value must be between 0 and 100. DeliveryStatusSuccessSamplingRate pulumi.StringPtrInput // The maximum amount in USD that you are willing to spend each month to send SMS messages. MonthlySpendLimit pulumi.IntPtrInput // The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. UsageReportS3Bucket pulumi.StringPtrInput }
func (SmsPreferencesState) ElementType ¶
func (SmsPreferencesState) ElementType() reflect.Type
type Topic ¶
type Topic struct { pulumi.CustomResourceState // IAM role for failure feedback ApplicationFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"applicationFailureFeedbackRoleArn"` // The IAM role permitted to receive success feedback for this topic ApplicationSuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"applicationSuccessFeedbackRoleArn"` // Percentage of success to sample ApplicationSuccessFeedbackSampleRate pulumi.IntPtrOutput `pulumi:"applicationSuccessFeedbackSampleRate"` // The message archive policy for FIFO topics. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-topic-owner.html). ArchivePolicy pulumi.StringPtrOutput `pulumi:"archivePolicy"` // The ARN of the SNS topic, as a more obvious property (clone of id) Arn pulumi.StringOutput `pulumi:"arn"` // The oldest timestamp at which a FIFO topic subscriber can start a replay. BeginningArchiveTime pulumi.StringOutput `pulumi:"beginningArchiveTime"` // Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) ContentBasedDeduplication pulumi.BoolPtrOutput `pulumi:"contentBasedDeduplication"` // The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). DeliveryPolicy pulumi.StringPtrOutput `pulumi:"deliveryPolicy"` // The display name for the topic DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). FifoTopic pulumi.BoolPtrOutput `pulumi:"fifoTopic"` // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"firehoseFailureFeedbackRoleArn"` // The IAM role permitted to receive success feedback for this topic FirehoseSuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"firehoseSuccessFeedbackRoleArn"` // Percentage of success to sample FirehoseSuccessFeedbackSampleRate pulumi.IntPtrOutput `pulumi:"firehoseSuccessFeedbackSampleRate"` // IAM role for failure feedback HttpFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"httpFailureFeedbackRoleArn"` // The IAM role permitted to receive success feedback for this topic HttpSuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"httpSuccessFeedbackRoleArn"` // Percentage of success to sample HttpSuccessFeedbackSampleRate pulumi.IntPtrOutput `pulumi:"httpSuccessFeedbackSampleRate"` // The ID of an AWS-managed customer master key (CMK) for Amazon 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) KmsMasterKeyId pulumi.StringPtrOutput `pulumi:"kmsMasterKeyId"` // IAM role for failure feedback LambdaFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"lambdaFailureFeedbackRoleArn"` // The IAM role permitted to receive success feedback for this topic LambdaSuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"lambdaSuccessFeedbackRoleArn"` // Percentage of success to sample LambdaSuccessFeedbackSampleRate pulumi.IntPtrOutput `pulumi:"lambdaSuccessFeedbackSampleRate"` // The name of the topic. Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the `.fifo` suffix. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The AWS Account ID of the SNS topic owner Owner pulumi.StringOutput `pulumi:"owner"` // The fully-formed AWS policy as JSON. Policy pulumi.StringOutput `pulumi:"policy"` // If `SignatureVersion` should be [1 (SHA1) or 2 (SHA256)](https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-of-message.html). 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. SignatureVersion pulumi.IntOutput `pulumi:"signatureVersion"` // IAM role for failure feedback SqsFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"sqsFailureFeedbackRoleArn"` // The IAM role permitted to receive success feedback for this topic SqsSuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"sqsSuccessFeedbackRoleArn"` // Percentage of success to sample SqsSuccessFeedbackSampleRate pulumi.IntPtrOutput `pulumi:"sqsSuccessFeedbackSampleRate"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Tracing mode of an Amazon SNS topic. Valid values: `"PassThrough"`, `"Active"`. TracingConfig pulumi.StringOutput `pulumi:"tracingConfig"` }
Provides an SNS topic resource
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewTopic(ctx, "userUpdates", nil) if err != nil { return err } return nil }) }
``` ## Example with Delivery Policy
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewTopic(ctx, "userUpdates", &sns.TopicArgs{ DeliveryPolicy: pulumi.String(`{ "http": { "defaultHealthyRetryPolicy": { "minDelayTarget": 20, "maxDelayTarget": 20, "numRetries": 3, "numMaxDelayRetries": 0, "numNoDelayRetries": 0, "numMinDelayRetries": 0, "backoffFunction": "linear" }, "disableSubscriptionOverrides": false, "defaultThrottlePolicy": { "maxReceivesPerSecond": 1 } } }
`),
}) if err != nil { return err } return nil }) }
```
## Example with Server-side encryption (SSE)
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewTopic(ctx, "userUpdates", &sns.TopicArgs{ KmsMasterKeyId: pulumi.String("alias/aws/sns"), }) if err != nil { return err } return nil }) }
```
## Example with First-In-First-Out (FIFO)
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewTopic(ctx, "userUpdates", &sns.TopicArgs{ ContentBasedDeduplication: pulumi.Bool(true), FifoTopic: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
```
## Message Delivery Status Arguments
The `<endpoint>_success_feedback_role_arn` and `<endpoint>_failure_feedback_role_arn` arguments are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The `<endpoint>_success_feedback_sample_rate` argument is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the `<endpoint>_failure_feedback_role_arn` argument, then all failed message deliveries generate CloudWatch Logs.
## Import
Using `pulumi import`, import SNS Topics using the topic `arn`. For example:
```sh
$ pulumi import aws:sns/topic:Topic user_updates arn:aws:sns:us-west-2:0123456789012:my-topic
```
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) ToTopicOutput ¶
func (i *Topic) ToTopicOutput() TopicOutput
func (*Topic) ToTopicOutputWithContext ¶
func (i *Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput
type TopicArgs ¶
type TopicArgs struct { // IAM role for failure feedback ApplicationFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic ApplicationSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample ApplicationSuccessFeedbackSampleRate pulumi.IntPtrInput // The message archive policy for FIFO topics. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-topic-owner.html). ArchivePolicy pulumi.StringPtrInput // Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) ContentBasedDeduplication pulumi.BoolPtrInput // The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). DeliveryPolicy pulumi.StringPtrInput // The display name for the topic DisplayName pulumi.StringPtrInput // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). FifoTopic pulumi.BoolPtrInput // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic FirehoseSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample FirehoseSuccessFeedbackSampleRate pulumi.IntPtrInput // IAM role for failure feedback HttpFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic HttpSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample HttpSuccessFeedbackSampleRate pulumi.IntPtrInput // The ID of an AWS-managed customer master key (CMK) for Amazon 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) KmsMasterKeyId pulumi.StringPtrInput // IAM role for failure feedback LambdaFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic LambdaSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample LambdaSuccessFeedbackSampleRate pulumi.IntPtrInput // The name of the topic. Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the `.fifo` suffix. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringPtrInput // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The fully-formed AWS policy as JSON. Policy pulumi.StringPtrInput // If `SignatureVersion` should be [1 (SHA1) or 2 (SHA256)](https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-of-message.html). 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. SignatureVersion pulumi.IntPtrInput // IAM role for failure feedback SqsFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic SqsSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample SqsSuccessFeedbackSampleRate pulumi.IntPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Tracing mode of an Amazon SNS topic. Valid values: `"PassThrough"`, `"Active"`. TracingConfig pulumi.StringPtrInput }
The set of arguments for constructing a Topic resource.
func (TopicArgs) ElementType ¶
type TopicArray ¶
type TopicArray []TopicInput
func (TopicArray) ElementType ¶
func (TopicArray) ElementType() reflect.Type
func (TopicArray) ToTopicArrayOutput ¶
func (i TopicArray) ToTopicArrayOutput() TopicArrayOutput
func (TopicArray) ToTopicArrayOutputWithContext ¶
func (i TopicArray) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput
type TopicArrayInput ¶
type TopicArrayInput interface { pulumi.Input ToTopicArrayOutput() TopicArrayOutput ToTopicArrayOutputWithContext(context.Context) TopicArrayOutput }
TopicArrayInput is an input type that accepts TopicArray and TopicArrayOutput values. You can construct a concrete instance of `TopicArrayInput` via:
TopicArray{ TopicArgs{...} }
type TopicArrayOutput ¶
type TopicArrayOutput struct{ *pulumi.OutputState }
func (TopicArrayOutput) ElementType ¶
func (TopicArrayOutput) ElementType() reflect.Type
func (TopicArrayOutput) Index ¶
func (o TopicArrayOutput) Index(i pulumi.IntInput) TopicOutput
func (TopicArrayOutput) ToTopicArrayOutput ¶
func (o TopicArrayOutput) ToTopicArrayOutput() TopicArrayOutput
func (TopicArrayOutput) ToTopicArrayOutputWithContext ¶
func (o TopicArrayOutput) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput
type TopicInput ¶
type TopicInput interface { pulumi.Input ToTopicOutput() TopicOutput ToTopicOutputWithContext(ctx context.Context) TopicOutput }
type TopicMap ¶
type TopicMap map[string]TopicInput
func (TopicMap) ElementType ¶
func (TopicMap) ToTopicMapOutput ¶
func (i TopicMap) ToTopicMapOutput() TopicMapOutput
func (TopicMap) ToTopicMapOutputWithContext ¶
func (i TopicMap) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput
type TopicMapInput ¶
type TopicMapInput interface { pulumi.Input ToTopicMapOutput() TopicMapOutput ToTopicMapOutputWithContext(context.Context) TopicMapOutput }
TopicMapInput is an input type that accepts TopicMap and TopicMapOutput values. You can construct a concrete instance of `TopicMapInput` via:
TopicMap{ "key": TopicArgs{...} }
type TopicMapOutput ¶
type TopicMapOutput struct{ *pulumi.OutputState }
func (TopicMapOutput) ElementType ¶
func (TopicMapOutput) ElementType() reflect.Type
func (TopicMapOutput) MapIndex ¶
func (o TopicMapOutput) MapIndex(k pulumi.StringInput) TopicOutput
func (TopicMapOutput) ToTopicMapOutput ¶
func (o TopicMapOutput) ToTopicMapOutput() TopicMapOutput
func (TopicMapOutput) ToTopicMapOutputWithContext ¶
func (o TopicMapOutput) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput
type TopicOutput ¶
type TopicOutput struct{ *pulumi.OutputState }
func (TopicOutput) ApplicationFailureFeedbackRoleArn ¶
func (o TopicOutput) ApplicationFailureFeedbackRoleArn() pulumi.StringPtrOutput
IAM role for failure feedback
func (TopicOutput) ApplicationSuccessFeedbackRoleArn ¶
func (o TopicOutput) ApplicationSuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role permitted to receive success feedback for this topic
func (TopicOutput) ApplicationSuccessFeedbackSampleRate ¶
func (o TopicOutput) ApplicationSuccessFeedbackSampleRate() pulumi.IntPtrOutput
Percentage of success to sample
func (TopicOutput) ArchivePolicy ¶ added in v6.9.0
func (o TopicOutput) ArchivePolicy() pulumi.StringPtrOutput
The message archive policy for FIFO topics. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-topic-owner.html).
func (TopicOutput) Arn ¶
func (o TopicOutput) Arn() pulumi.StringOutput
The ARN of the SNS topic, as a more obvious property (clone of id)
func (TopicOutput) BeginningArchiveTime ¶ added in v6.9.0
func (o TopicOutput) BeginningArchiveTime() pulumi.StringOutput
The oldest timestamp at which a FIFO topic subscriber can start a replay.
func (TopicOutput) ContentBasedDeduplication ¶
func (o TopicOutput) ContentBasedDeduplication() pulumi.BoolPtrOutput
Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html)
func (TopicOutput) DeliveryPolicy ¶
func (o TopicOutput) DeliveryPolicy() pulumi.StringPtrOutput
The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html).
func (TopicOutput) DisplayName ¶
func (o TopicOutput) DisplayName() pulumi.StringPtrOutput
The display name for the topic
func (TopicOutput) ElementType ¶
func (TopicOutput) ElementType() reflect.Type
func (TopicOutput) FifoTopic ¶
func (o TopicOutput) FifoTopic() pulumi.BoolPtrOutput
Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`).
func (TopicOutput) FirehoseFailureFeedbackRoleArn ¶
func (o TopicOutput) FirehoseFailureFeedbackRoleArn() pulumi.StringPtrOutput
IAM role for failure feedback
func (TopicOutput) FirehoseSuccessFeedbackRoleArn ¶
func (o TopicOutput) FirehoseSuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role permitted to receive success feedback for this topic
func (TopicOutput) FirehoseSuccessFeedbackSampleRate ¶
func (o TopicOutput) FirehoseSuccessFeedbackSampleRate() pulumi.IntPtrOutput
Percentage of success to sample
func (TopicOutput) HttpFailureFeedbackRoleArn ¶
func (o TopicOutput) HttpFailureFeedbackRoleArn() pulumi.StringPtrOutput
IAM role for failure feedback
func (TopicOutput) HttpSuccessFeedbackRoleArn ¶
func (o TopicOutput) HttpSuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role permitted to receive success feedback for this topic
func (TopicOutput) HttpSuccessFeedbackSampleRate ¶
func (o TopicOutput) HttpSuccessFeedbackSampleRate() pulumi.IntPtrOutput
Percentage of success to sample
func (TopicOutput) KmsMasterKeyId ¶
func (o TopicOutput) KmsMasterKeyId() pulumi.StringPtrOutput
The ID of an AWS-managed customer master key (CMK) for Amazon 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)
func (TopicOutput) LambdaFailureFeedbackRoleArn ¶
func (o TopicOutput) LambdaFailureFeedbackRoleArn() pulumi.StringPtrOutput
IAM role for failure feedback
func (TopicOutput) LambdaSuccessFeedbackRoleArn ¶
func (o TopicOutput) LambdaSuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role permitted to receive success feedback for this topic
func (TopicOutput) LambdaSuccessFeedbackSampleRate ¶
func (o TopicOutput) LambdaSuccessFeedbackSampleRate() pulumi.IntPtrOutput
Percentage of success to sample
func (TopicOutput) Name ¶
func (o TopicOutput) Name() pulumi.StringOutput
The name of the topic. Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the `.fifo` suffix. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`
func (TopicOutput) NamePrefix ¶
func (o TopicOutput) NamePrefix() pulumi.StringOutput
Creates a unique name beginning with the specified prefix. Conflicts with `name`
func (TopicOutput) Owner ¶
func (o TopicOutput) Owner() pulumi.StringOutput
The AWS Account ID of the SNS topic owner
func (TopicOutput) Policy ¶
func (o TopicOutput) Policy() pulumi.StringOutput
The fully-formed AWS policy as JSON.
func (TopicOutput) SignatureVersion ¶
func (o TopicOutput) SignatureVersion() pulumi.IntOutput
If `SignatureVersion` should be [1 (SHA1) or 2 (SHA256)](https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-of-message.html). 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.
func (TopicOutput) SqsFailureFeedbackRoleArn ¶
func (o TopicOutput) SqsFailureFeedbackRoleArn() pulumi.StringPtrOutput
IAM role for failure feedback
func (TopicOutput) SqsSuccessFeedbackRoleArn ¶
func (o TopicOutput) SqsSuccessFeedbackRoleArn() pulumi.StringPtrOutput
The IAM role permitted to receive success feedback for this topic
func (TopicOutput) SqsSuccessFeedbackSampleRate ¶
func (o TopicOutput) SqsSuccessFeedbackSampleRate() pulumi.IntPtrOutput
Percentage of success to sample
func (TopicOutput) Tags ¶
func (o TopicOutput) Tags() pulumi.StringMapOutput
Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
func (TopicOutput) TagsAll
deprecated
func (o TopicOutput) TagsAll() pulumi.StringMapOutput
A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
Deprecated: Please use `tags` instead.
func (TopicOutput) ToTopicOutput ¶
func (o TopicOutput) ToTopicOutput() TopicOutput
func (TopicOutput) ToTopicOutputWithContext ¶
func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput
func (TopicOutput) TracingConfig ¶
func (o TopicOutput) TracingConfig() pulumi.StringOutput
Tracing mode of an Amazon SNS topic. Valid values: `"PassThrough"`, `"Active"`.
type TopicPolicy ¶
type TopicPolicy struct { pulumi.CustomResourceState // The ARN of the SNS topic Arn pulumi.StringOutput `pulumi:"arn"` // The AWS Account ID of the SNS topic owner Owner pulumi.StringOutput `pulumi:"owner"` // The fully-formed AWS policy as JSON. Policy pulumi.StringOutput `pulumi:"policy"` }
Provides an SNS topic policy resource
> **NOTE:** If a Principal is specified as just an AWS account ID rather than an ARN, AWS silently converts it to the ARN for the root user, causing future deployments to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
) func main() { pulumi.Run(func(ctx *pulumi.Context) error { test, err := sns.NewTopic(ctx, "test", nil) if err != nil { return err } snsTopicPolicy := test.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) { return iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{ PolicyId: "__default_policy_ID", Statements: []iam.GetPolicyDocumentStatement{ { Actions: []string{ "SNS:Subscribe", "SNS:SetTopicAttributes", "SNS:RemovePermission", "SNS:Receive", "SNS:Publish", "SNS:ListSubscriptionsByTopic", "SNS:GetTopicAttributes", "SNS:DeleteTopic", "SNS:AddPermission", }, Conditions: []iam.GetPolicyDocumentStatementCondition{ { Test: "StringEquals", Variable: "AWS:SourceOwner", Values: interface{}{ _var.AccountId, }, }, }, Effect: "Allow", Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: []string{ "*", }, }, }, Resources: interface{}{ arn, }, Sid: "__default_statement_ID", }, }, }, nil), nil }).(iam.GetPolicyDocumentResultOutput) _, err = sns.NewTopicPolicy(ctx, "default", &sns.TopicPolicyArgs{ Arn: test.Arn, Policy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) { return &snsTopicPolicy.Json, nil }).(pulumi.StringPtrOutput), }) if err != nil { return err } return nil }) } ```
## Import
Using `pulumi import`, import SNS Topic Policy using the topic ARN. For example:
```sh
$ pulumi import aws:sns/topicPolicy:TopicPolicy user_updates arn:aws:sns:us-west-2:0123456789012:my-topic
```
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 { // The ARN of the SNS topic Arn pulumi.StringInput // The fully-formed AWS policy as JSON. Policy pulumi.StringInput }
The set of arguments for constructing a TopicPolicy resource.
func (TopicPolicyArgs) ElementType ¶
func (TopicPolicyArgs) ElementType() reflect.Type
type TopicPolicyArray ¶
type TopicPolicyArray []TopicPolicyInput
func (TopicPolicyArray) ElementType ¶
func (TopicPolicyArray) ElementType() reflect.Type
func (TopicPolicyArray) ToTopicPolicyArrayOutput ¶
func (i TopicPolicyArray) ToTopicPolicyArrayOutput() TopicPolicyArrayOutput
func (TopicPolicyArray) ToTopicPolicyArrayOutputWithContext ¶
func (i TopicPolicyArray) ToTopicPolicyArrayOutputWithContext(ctx context.Context) TopicPolicyArrayOutput
type TopicPolicyArrayInput ¶
type TopicPolicyArrayInput interface { pulumi.Input ToTopicPolicyArrayOutput() TopicPolicyArrayOutput ToTopicPolicyArrayOutputWithContext(context.Context) TopicPolicyArrayOutput }
TopicPolicyArrayInput is an input type that accepts TopicPolicyArray and TopicPolicyArrayOutput values. You can construct a concrete instance of `TopicPolicyArrayInput` via:
TopicPolicyArray{ TopicPolicyArgs{...} }
type TopicPolicyArrayOutput ¶
type TopicPolicyArrayOutput struct{ *pulumi.OutputState }
func (TopicPolicyArrayOutput) ElementType ¶
func (TopicPolicyArrayOutput) ElementType() reflect.Type
func (TopicPolicyArrayOutput) Index ¶
func (o TopicPolicyArrayOutput) Index(i pulumi.IntInput) TopicPolicyOutput
func (TopicPolicyArrayOutput) ToTopicPolicyArrayOutput ¶
func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutput() TopicPolicyArrayOutput
func (TopicPolicyArrayOutput) ToTopicPolicyArrayOutputWithContext ¶
func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutputWithContext(ctx context.Context) TopicPolicyArrayOutput
type TopicPolicyInput ¶
type TopicPolicyInput interface { pulumi.Input ToTopicPolicyOutput() TopicPolicyOutput ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput }
type TopicPolicyMap ¶
type TopicPolicyMap map[string]TopicPolicyInput
func (TopicPolicyMap) ElementType ¶
func (TopicPolicyMap) ElementType() reflect.Type
func (TopicPolicyMap) ToTopicPolicyMapOutput ¶
func (i TopicPolicyMap) ToTopicPolicyMapOutput() TopicPolicyMapOutput
func (TopicPolicyMap) ToTopicPolicyMapOutputWithContext ¶
func (i TopicPolicyMap) ToTopicPolicyMapOutputWithContext(ctx context.Context) TopicPolicyMapOutput
type TopicPolicyMapInput ¶
type TopicPolicyMapInput interface { pulumi.Input ToTopicPolicyMapOutput() TopicPolicyMapOutput ToTopicPolicyMapOutputWithContext(context.Context) TopicPolicyMapOutput }
TopicPolicyMapInput is an input type that accepts TopicPolicyMap and TopicPolicyMapOutput values. You can construct a concrete instance of `TopicPolicyMapInput` via:
TopicPolicyMap{ "key": TopicPolicyArgs{...} }
type TopicPolicyMapOutput ¶
type TopicPolicyMapOutput struct{ *pulumi.OutputState }
func (TopicPolicyMapOutput) ElementType ¶
func (TopicPolicyMapOutput) ElementType() reflect.Type
func (TopicPolicyMapOutput) MapIndex ¶
func (o TopicPolicyMapOutput) MapIndex(k pulumi.StringInput) TopicPolicyOutput
func (TopicPolicyMapOutput) ToTopicPolicyMapOutput ¶
func (o TopicPolicyMapOutput) ToTopicPolicyMapOutput() TopicPolicyMapOutput
func (TopicPolicyMapOutput) ToTopicPolicyMapOutputWithContext ¶
func (o TopicPolicyMapOutput) ToTopicPolicyMapOutputWithContext(ctx context.Context) TopicPolicyMapOutput
type TopicPolicyOutput ¶
type TopicPolicyOutput struct{ *pulumi.OutputState }
func (TopicPolicyOutput) Arn ¶
func (o TopicPolicyOutput) Arn() pulumi.StringOutput
The ARN of the SNS topic
func (TopicPolicyOutput) ElementType ¶
func (TopicPolicyOutput) ElementType() reflect.Type
func (TopicPolicyOutput) Owner ¶
func (o TopicPolicyOutput) Owner() pulumi.StringOutput
The AWS Account ID of the SNS topic owner
func (TopicPolicyOutput) Policy ¶
func (o TopicPolicyOutput) Policy() pulumi.StringOutput
The fully-formed AWS policy as JSON.
func (TopicPolicyOutput) ToTopicPolicyOutput ¶
func (o TopicPolicyOutput) ToTopicPolicyOutput() TopicPolicyOutput
func (TopicPolicyOutput) ToTopicPolicyOutputWithContext ¶
func (o TopicPolicyOutput) ToTopicPolicyOutputWithContext(ctx context.Context) TopicPolicyOutput
type TopicPolicyState ¶
type TopicPolicyState struct { // The ARN of the SNS topic Arn pulumi.StringPtrInput // The AWS Account ID of the SNS topic owner Owner pulumi.StringPtrInput // The fully-formed AWS policy as JSON. Policy pulumi.StringPtrInput }
func (TopicPolicyState) ElementType ¶
func (TopicPolicyState) ElementType() reflect.Type
type TopicState ¶
type TopicState struct { // IAM role for failure feedback ApplicationFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic ApplicationSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample ApplicationSuccessFeedbackSampleRate pulumi.IntPtrInput // The message archive policy for FIFO topics. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-topic-owner.html). ArchivePolicy pulumi.StringPtrInput // The ARN of the SNS topic, as a more obvious property (clone of id) Arn pulumi.StringPtrInput // The oldest timestamp at which a FIFO topic subscriber can start a replay. BeginningArchiveTime pulumi.StringPtrInput // Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) ContentBasedDeduplication pulumi.BoolPtrInput // The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). DeliveryPolicy pulumi.StringPtrInput // The display name for the topic DisplayName pulumi.StringPtrInput // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). FifoTopic pulumi.BoolPtrInput // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic FirehoseSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample FirehoseSuccessFeedbackSampleRate pulumi.IntPtrInput // IAM role for failure feedback HttpFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic HttpSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample HttpSuccessFeedbackSampleRate pulumi.IntPtrInput // The ID of an AWS-managed customer master key (CMK) for Amazon 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) KmsMasterKeyId pulumi.StringPtrInput // IAM role for failure feedback LambdaFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic LambdaSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample LambdaSuccessFeedbackSampleRate pulumi.IntPtrInput // The name of the topic. Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the `.fifo` suffix. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringPtrInput // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The AWS Account ID of the SNS topic owner Owner pulumi.StringPtrInput // The fully-formed AWS policy as JSON. Policy pulumi.StringPtrInput // If `SignatureVersion` should be [1 (SHA1) or 2 (SHA256)](https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-of-message.html). 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. SignatureVersion pulumi.IntPtrInput // IAM role for failure feedback SqsFailureFeedbackRoleArn pulumi.StringPtrInput // The IAM role permitted to receive success feedback for this topic SqsSuccessFeedbackRoleArn pulumi.StringPtrInput // Percentage of success to sample SqsSuccessFeedbackSampleRate pulumi.IntPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput // Tracing mode of an Amazon SNS topic. Valid values: `"PassThrough"`, `"Active"`. TracingConfig pulumi.StringPtrInput }
func (TopicState) ElementType ¶
func (TopicState) ElementType() reflect.Type
type TopicSubscription ¶
type TopicSubscription struct { pulumi.CustomResourceState // ARN of the subscription. Arn pulumi.StringOutput `pulumi:"arn"` // Integer indicating number of minutes to wait in retrying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols. Default is `1`. ConfirmationTimeoutInMinutes pulumi.IntPtrOutput `pulumi:"confirmationTimeoutInMinutes"` // Whether the subscription confirmation request was authenticated. ConfirmationWasAuthenticated pulumi.BoolOutput `pulumi:"confirmationWasAuthenticated"` // JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) for more details. DeliveryPolicy pulumi.StringPtrOutput `pulumi:"deliveryPolicy"` // Endpoint to send data to. The contents vary with the protocol. See details below. Endpoint pulumi.StringOutput `pulumi:"endpoint"` // Whether the endpoint is capable of [auto confirming subscription](http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html#SendMessageToHttp.prepare) (e.g., PagerDuty). Default is `false`. EndpointAutoConfirms pulumi.BoolPtrOutput `pulumi:"endpointAutoConfirms"` // JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html) for more details. FilterPolicy pulumi.StringPtrOutput `pulumi:"filterPolicy"` // Whether the `filterPolicy` applies to `MessageAttributes` (default) or `MessageBody`. FilterPolicyScope pulumi.StringOutput `pulumi:"filterPolicyScope"` // AWS account ID of the subscription's owner. OwnerId pulumi.StringOutput `pulumi:"ownerId"` // Whether the subscription has not been confirmed. PendingConfirmation pulumi.BoolOutput `pulumi:"pendingConfirmation"` // Protocol to use. Valid values are: `sqs`, `sms`, `lambda`, `firehose`, and `application`. Protocols `email`, `email-json`, `http` and `https` are also valid but partially supported. See details below. Protocol pulumi.StringOutput `pulumi:"protocol"` // Whether to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property). Default is `false`. RawMessageDelivery pulumi.BoolPtrOutput `pulumi:"rawMessageDelivery"` // JSON String with the redrive policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html#how-messages-moved-into-dead-letter-queue) for more details. RedrivePolicy pulumi.StringPtrOutput `pulumi:"redrivePolicy"` // JSON String with the archived message replay policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-subscriber.html) for more details. ReplayPolicy pulumi.StringPtrOutput `pulumi:"replayPolicy"` // ARN of the IAM role to publish to Kinesis Data Firehose delivery stream. Refer to [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html). SubscriptionRoleArn pulumi.StringPtrOutput `pulumi:"subscriptionRoleArn"` // ARN of the SNS topic to subscribe to. // // The following arguments are optional: Topic pulumi.StringOutput `pulumi:"topic"` }
Provides a resource for subscribing to SNS topics. Requires that an SNS topic exist for the subscription to attach to. This resource allows you to automatically place messages sent to SNS topics in SQS queues, send them as HTTP(S) POST requests to a given endpoint, send SMS messages, or notify devices / applications. The most likely use case for provider users will probably be SQS queues.
> **NOTE:** If the SNS topic and SQS queue are in different AWS regions, the `sns.TopicSubscription` must use an AWS provider that is in the same region as the SNS topic. If the `sns.TopicSubscription` uses a provider with a different region than the SNS topic, this provider will fail to create the subscription.
> **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires the provider to have access to BOTH accounts.
> **NOTE:** If an SNS topic and SQS queue are in different AWS accounts but the same region, the `sns.TopicSubscription` must use the AWS provider for the account with the SQS queue. If `sns.TopicSubscription` uses a Provider with a different account than the SQS queue, this provider creates the subscription but does not keep state and tries to re-create the subscription at every `apply`.
> **NOTE:** If an SNS topic and SQS queue are in different AWS accounts and different AWS regions, the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.
> **NOTE:** You cannot unsubscribe to a subscription that is pending confirmation. If you use `email`, `email-json`, or `http`/`https` (without auto-confirmation enabled), until the subscription is confirmed (e.g., outside of this provider), AWS does not allow this provider to delete / unsubscribe the subscription. If you `destroy` an unconfirmed subscription, this provider will remove the subscription from its state but the subscription will still exist in AWS. However, if you delete an SNS topic, SNS [deletes all the subscriptions](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) associated with the topic. Also, you can import a subscription after confirmation and then have the capability to delete it.
## Example Usage
You can directly supply a topic and ARN by hand in the `topicArn` property along with the queue ARN:
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sns.NewTopicSubscription(ctx, "userUpdatesSqsTarget", &sns.TopicSubscriptionArgs{ Endpoint: pulumi.String("arn:aws:sqs:us-west-2:432981146916:queue-too"), Protocol: pulumi.String("sqs"), Topic: pulumi.Any("arn:aws:sns:us-west-2:432981146916:user-updates-topic"), }) if err != nil { return err } return nil }) }
```
Alternatively you can use the ARN properties of a managed SNS topic and SQS queue:
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { userUpdates, err := sns.NewTopic(ctx, "userUpdates", nil) if err != nil { return err } userUpdatesQueue, err := sqs.NewQueue(ctx, "userUpdatesQueue", nil) if err != nil { return err } _, err = sns.NewTopicSubscription(ctx, "userUpdatesSqsTarget", &sns.TopicSubscriptionArgs{ Topic: userUpdates.Arn, Protocol: pulumi.String("sqs"), Endpoint: userUpdatesQueue.Arn, }) if err != nil { return err } return nil }) }
```
You can subscribe SNS topics to SQS queues in different Amazon accounts and regions:
```go package main
import (
"fmt" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" "github.com/pulumi/pulumi-aws/sdk/v6/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 { cfg := config.New(ctx, "") sns := map[string]interface{}{ "account-id": "111111111111", "role-name": "service/service", "name": "example-sns-topic", "display_name": "example", "region": "us-west-1", }; if param := cfg.GetObject("sns"); param != nil { sns = param } sqs := map[string]interface{}{ "account-id": "222222222222", "role-name": "service/service", "name": "example-sqs-queue", "region": "us-east-1", }; if param := cfg.GetObject("sqs"); param != nil { sqs = param } sns_topic_policy, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ PolicyId: pulumi.StringRef("__default_policy_ID"), Statements: []iam.GetPolicyDocumentStatement{ { Actions: []string{ "SNS:Subscribe", "SNS:SetTopicAttributes", "SNS:RemovePermission", "SNS:Publish", "SNS:ListSubscriptionsByTopic", "SNS:GetTopicAttributes", "SNS:DeleteTopic", "SNS:AddPermission", }, Conditions: []iam.GetPolicyDocumentStatementCondition{ { Test: "StringEquals", Variable: "AWS:SourceOwner", Values: interface{}{ sns.AccountId, }, }, }, Effect: pulumi.StringRef("Allow"), Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: []string{ "*", }, }, }, Resources: []string{ fmt.Sprintf("arn:aws:sns:%v:%v:%v", sns.Region, sns.AccountId, sns.Name), }, Sid: pulumi.StringRef("__default_statement_ID"), }, { Actions: []string{ "SNS:Subscribe", "SNS:Receive", }, Conditions: []iam.GetPolicyDocumentStatementCondition{ { Test: "StringLike", Variable: "SNS:Endpoint", Values: []string{ fmt.Sprintf("arn:aws:sqs:%v:%v:%v", sqs.Region, sqs.AccountId, sqs.Name), }, }, }, Effect: pulumi.StringRef("Allow"), Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: []string{ "*", }, }, }, Resources: []string{ fmt.Sprintf("arn:aws:sns:%v:%v:%v", sns.Region, sns.AccountId, sns.Name), }, Sid: pulumi.StringRef("__console_sub_0"), }, }, }, nil); if err != nil { return err } sqs_queue_policy, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ PolicyId: pulumi.StringRef(fmt.Sprintf("arn:aws:sqs:%v:%v:%v/SQSDefaultPolicy", sqs.Region, sqs.AccountId, sqs.Name)), Statements: []iam.GetPolicyDocumentStatement{ { Sid: pulumi.StringRef("example-sns-topic"), Effect: pulumi.StringRef("Allow"), Principals: []iam.GetPolicyDocumentStatementPrincipal{ { Type: "AWS", Identifiers: []string{ "*", }, }, }, Actions: []string{ "SQS:SendMessage", }, Resources: []string{ fmt.Sprintf("arn:aws:sqs:%v:%v:%v", sqs.Region, sqs.AccountId, sqs.Name), }, Conditions: []iam.GetPolicyDocumentStatementCondition{ { Test: "ArnEquals", Variable: "aws:SourceArn", Values: []string{ fmt.Sprintf("arn:aws:sns:%v:%v:%v", sns.Region, sns.AccountId, sns.Name), }, }, }, }, }, }, nil); if err != nil { return err } _, err = aws.NewProvider(ctx, "awsSns", &aws.ProviderArgs{ Region: *pulumi.String(sns.Region), AssumeRole: &aws.ProviderAssumeRoleArgs{ RoleArn: pulumi.String(fmt.Sprintf("arn:aws:iam::%v:role/%v", sns.AccountId, sns.RoleName)), SessionName: pulumi.String(fmt.Sprintf("sns-%v", sns.Region)), }, }) if err != nil { return err } _, err = aws.NewProvider(ctx, "awsSqs", &aws.ProviderArgs{ Region: *pulumi.String(sqs.Region), AssumeRole: &aws.ProviderAssumeRoleArgs{ RoleArn: pulumi.String(fmt.Sprintf("arn:aws:iam::%v:role/%v", sqs.AccountId, sqs.RoleName)), SessionName: pulumi.String(fmt.Sprintf("sqs-%v", sqs.Region)), }, }) if err != nil { return err } _, err = aws.NewProvider(ctx, "sns2sqs", &aws.ProviderArgs{ Region: *pulumi.String(sns.Region), AssumeRole: &aws.ProviderAssumeRoleArgs{ RoleArn: pulumi.String(fmt.Sprintf("arn:aws:iam::%v:role/%v", sqs.AccountId, sqs.RoleName)), SessionName: pulumi.String(fmt.Sprintf("sns2sqs-%v", sns.Region)), }, }) if err != nil { return err } _, err = sns.NewTopic(ctx, "sns-topicTopic", &sns.TopicArgs{ DisplayName: *pulumi.String(sns.Display_name), Policy: *pulumi.String(sns_topic_policy.Json), }, pulumi.Provider(aws.Sns)) if err != nil { return err } _, err = sqs.NewQueue(ctx, "sqs-queue", &sqs.QueueArgs{ Policy: *pulumi.String(sqs_queue_policy.Json), }, pulumi.Provider(aws.Sqs)) if err != nil { return err } _, err = sns.NewTopicSubscription(ctx, "sns-topicTopicSubscription", &sns.TopicSubscriptionArgs{ Topic: sns_topicTopic.Arn, Protocol: pulumi.String("sqs"), Endpoint: sqs_queue.Arn, }, pulumi.Provider(aws.Sns2sqs)) if err != nil { return err } return nil }) } ```
## Import
Using `pulumi import`, import SNS Topic Subscriptions using the subscription `arn`. For example:
```sh
$ pulumi import aws:sns/topicSubscription:TopicSubscription user_updates_sqs_target arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f
```
func GetTopicSubscription ¶
func GetTopicSubscription(ctx *pulumi.Context, name string, id pulumi.IDInput, state *TopicSubscriptionState, opts ...pulumi.ResourceOption) (*TopicSubscription, error)
GetTopicSubscription gets an existing TopicSubscription 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 NewTopicSubscription ¶
func NewTopicSubscription(ctx *pulumi.Context, name string, args *TopicSubscriptionArgs, opts ...pulumi.ResourceOption) (*TopicSubscription, error)
NewTopicSubscription registers a new resource with the given unique name, arguments, and options.
func (*TopicSubscription) ElementType ¶
func (*TopicSubscription) ElementType() reflect.Type
func (*TopicSubscription) ToTopicSubscriptionOutput ¶
func (i *TopicSubscription) ToTopicSubscriptionOutput() TopicSubscriptionOutput
func (*TopicSubscription) ToTopicSubscriptionOutputWithContext ¶
func (i *TopicSubscription) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput
type TopicSubscriptionArgs ¶
type TopicSubscriptionArgs struct { // Integer indicating number of minutes to wait in retrying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols. Default is `1`. ConfirmationTimeoutInMinutes pulumi.IntPtrInput // JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) for more details. DeliveryPolicy pulumi.StringPtrInput // Endpoint to send data to. The contents vary with the protocol. See details below. Endpoint pulumi.StringInput // Whether the endpoint is capable of [auto confirming subscription](http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html#SendMessageToHttp.prepare) (e.g., PagerDuty). Default is `false`. EndpointAutoConfirms pulumi.BoolPtrInput // JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html) for more details. FilterPolicy pulumi.StringPtrInput // Whether the `filterPolicy` applies to `MessageAttributes` (default) or `MessageBody`. FilterPolicyScope pulumi.StringPtrInput // Protocol to use. Valid values are: `sqs`, `sms`, `lambda`, `firehose`, and `application`. Protocols `email`, `email-json`, `http` and `https` are also valid but partially supported. See details below. Protocol pulumi.StringInput // Whether to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property). Default is `false`. RawMessageDelivery pulumi.BoolPtrInput // JSON String with the redrive policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html#how-messages-moved-into-dead-letter-queue) for more details. RedrivePolicy pulumi.StringPtrInput // JSON String with the archived message replay policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-subscriber.html) for more details. ReplayPolicy pulumi.StringPtrInput // ARN of the IAM role to publish to Kinesis Data Firehose delivery stream. Refer to [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html). SubscriptionRoleArn pulumi.StringPtrInput // ARN of the SNS topic to subscribe to. // // The following arguments are optional: Topic pulumi.Input }
The set of arguments for constructing a TopicSubscription resource.
func (TopicSubscriptionArgs) ElementType ¶
func (TopicSubscriptionArgs) ElementType() reflect.Type
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) ElementType() reflect.Type
func (TopicSubscriptionArrayOutput) Index ¶
func (o TopicSubscriptionArrayOutput) Index(i pulumi.IntInput) TopicSubscriptionOutput
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(ctx context.Context) TopicSubscriptionOutput }
type TopicSubscriptionMap ¶
type TopicSubscriptionMap map[string]TopicSubscriptionInput
func (TopicSubscriptionMap) ElementType ¶
func (TopicSubscriptionMap) ElementType() reflect.Type
func (TopicSubscriptionMap) ToTopicSubscriptionMapOutput ¶
func (i TopicSubscriptionMap) ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput
func (TopicSubscriptionMap) ToTopicSubscriptionMapOutputWithContext ¶
func (i TopicSubscriptionMap) ToTopicSubscriptionMapOutputWithContext(ctx context.Context) TopicSubscriptionMapOutput
type TopicSubscriptionMapInput ¶
type TopicSubscriptionMapInput interface { pulumi.Input ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput ToTopicSubscriptionMapOutputWithContext(context.Context) TopicSubscriptionMapOutput }
TopicSubscriptionMapInput is an input type that accepts TopicSubscriptionMap and TopicSubscriptionMapOutput values. You can construct a concrete instance of `TopicSubscriptionMapInput` via:
TopicSubscriptionMap{ "key": TopicSubscriptionArgs{...} }
type TopicSubscriptionMapOutput ¶
type TopicSubscriptionMapOutput struct{ *pulumi.OutputState }
func (TopicSubscriptionMapOutput) ElementType ¶
func (TopicSubscriptionMapOutput) ElementType() reflect.Type
func (TopicSubscriptionMapOutput) MapIndex ¶
func (o TopicSubscriptionMapOutput) MapIndex(k pulumi.StringInput) TopicSubscriptionOutput
func (TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutput ¶
func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput
func (TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutputWithContext ¶
func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutputWithContext(ctx context.Context) TopicSubscriptionMapOutput
type TopicSubscriptionOutput ¶
type TopicSubscriptionOutput struct{ *pulumi.OutputState }
func (TopicSubscriptionOutput) Arn ¶
func (o TopicSubscriptionOutput) Arn() pulumi.StringOutput
ARN of the subscription.
func (TopicSubscriptionOutput) ConfirmationTimeoutInMinutes ¶
func (o TopicSubscriptionOutput) ConfirmationTimeoutInMinutes() pulumi.IntPtrOutput
Integer indicating number of minutes to wait in retrying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols. Default is `1`.
func (TopicSubscriptionOutput) ConfirmationWasAuthenticated ¶
func (o TopicSubscriptionOutput) ConfirmationWasAuthenticated() pulumi.BoolOutput
Whether the subscription confirmation request was authenticated.
func (TopicSubscriptionOutput) DeliveryPolicy ¶
func (o TopicSubscriptionOutput) DeliveryPolicy() pulumi.StringPtrOutput
JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) for more details.
func (TopicSubscriptionOutput) ElementType ¶
func (TopicSubscriptionOutput) ElementType() reflect.Type
func (TopicSubscriptionOutput) Endpoint ¶
func (o TopicSubscriptionOutput) Endpoint() pulumi.StringOutput
Endpoint to send data to. The contents vary with the protocol. See details below.
func (TopicSubscriptionOutput) EndpointAutoConfirms ¶
func (o TopicSubscriptionOutput) EndpointAutoConfirms() pulumi.BoolPtrOutput
Whether the endpoint is capable of [auto confirming subscription](http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html#SendMessageToHttp.prepare) (e.g., PagerDuty). Default is `false`.
func (TopicSubscriptionOutput) FilterPolicy ¶
func (o TopicSubscriptionOutput) FilterPolicy() pulumi.StringPtrOutput
JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html) for more details.
func (TopicSubscriptionOutput) FilterPolicyScope ¶
func (o TopicSubscriptionOutput) FilterPolicyScope() pulumi.StringOutput
Whether the `filterPolicy` applies to `MessageAttributes` (default) or `MessageBody`.
func (TopicSubscriptionOutput) OwnerId ¶
func (o TopicSubscriptionOutput) OwnerId() pulumi.StringOutput
AWS account ID of the subscription's owner.
func (TopicSubscriptionOutput) PendingConfirmation ¶
func (o TopicSubscriptionOutput) PendingConfirmation() pulumi.BoolOutput
Whether the subscription has not been confirmed.
func (TopicSubscriptionOutput) Protocol ¶
func (o TopicSubscriptionOutput) Protocol() pulumi.StringOutput
Protocol to use. Valid values are: `sqs`, `sms`, `lambda`, `firehose`, and `application`. Protocols `email`, `email-json`, `http` and `https` are also valid but partially supported. See details below.
func (TopicSubscriptionOutput) RawMessageDelivery ¶
func (o TopicSubscriptionOutput) RawMessageDelivery() pulumi.BoolPtrOutput
Whether to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property). Default is `false`.
func (TopicSubscriptionOutput) RedrivePolicy ¶
func (o TopicSubscriptionOutput) RedrivePolicy() pulumi.StringPtrOutput
JSON String with the redrive policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html#how-messages-moved-into-dead-letter-queue) for more details.
func (TopicSubscriptionOutput) ReplayPolicy ¶ added in v6.9.0
func (o TopicSubscriptionOutput) ReplayPolicy() pulumi.StringPtrOutput
JSON String with the archived message replay policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-subscriber.html) for more details.
func (TopicSubscriptionOutput) SubscriptionRoleArn ¶
func (o TopicSubscriptionOutput) SubscriptionRoleArn() pulumi.StringPtrOutput
ARN of the IAM role to publish to Kinesis Data Firehose delivery stream. Refer to [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html).
func (TopicSubscriptionOutput) ToTopicSubscriptionOutput ¶
func (o TopicSubscriptionOutput) ToTopicSubscriptionOutput() TopicSubscriptionOutput
func (TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext ¶
func (o TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput
func (TopicSubscriptionOutput) Topic ¶
func (o TopicSubscriptionOutput) Topic() pulumi.StringOutput
ARN of the SNS topic to subscribe to.
The following arguments are optional:
type TopicSubscriptionState ¶
type TopicSubscriptionState struct { // ARN of the subscription. Arn pulumi.StringPtrInput // Integer indicating number of minutes to wait in retrying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols. Default is `1`. ConfirmationTimeoutInMinutes pulumi.IntPtrInput // Whether the subscription confirmation request was authenticated. ConfirmationWasAuthenticated pulumi.BoolPtrInput // JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) for more details. DeliveryPolicy pulumi.StringPtrInput // Endpoint to send data to. The contents vary with the protocol. See details below. Endpoint pulumi.StringPtrInput // Whether the endpoint is capable of [auto confirming subscription](http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html#SendMessageToHttp.prepare) (e.g., PagerDuty). Default is `false`. EndpointAutoConfirms pulumi.BoolPtrInput // JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-filtering.html) for more details. FilterPolicy pulumi.StringPtrInput // Whether the `filterPolicy` applies to `MessageAttributes` (default) or `MessageBody`. FilterPolicyScope pulumi.StringPtrInput // AWS account ID of the subscription's owner. OwnerId pulumi.StringPtrInput // Whether the subscription has not been confirmed. PendingConfirmation pulumi.BoolPtrInput // Protocol to use. Valid values are: `sqs`, `sms`, `lambda`, `firehose`, and `application`. Protocols `email`, `email-json`, `http` and `https` are also valid but partially supported. See details below. Protocol pulumi.StringPtrInput // Whether to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property). Default is `false`. RawMessageDelivery pulumi.BoolPtrInput // JSON String with the redrive policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html#how-messages-moved-into-dead-letter-queue) for more details. RedrivePolicy pulumi.StringPtrInput // JSON String with the archived message replay policy that will be used in the subscription. Refer to the [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/message-archiving-and-replay-subscriber.html) for more details. ReplayPolicy pulumi.StringPtrInput // ARN of the IAM role to publish to Kinesis Data Firehose delivery stream. Refer to [SNS docs](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html). SubscriptionRoleArn pulumi.StringPtrInput // ARN of the SNS topic to subscribe to. // // The following arguments are optional: Topic pulumi.Input }
func (TopicSubscriptionState) ElementType ¶
func (TopicSubscriptionState) ElementType() reflect.Type