sns

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupTopicArgs

type LookupTopicArgs struct {
	// The friendly name of the topic to match.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getTopic.

type LookupTopicResult

type LookupTopicResult struct {
	// Amazon Resource Name (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/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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 PlatformApplication

type PlatformApplication struct {
	pulumi.CustomResourceState

	// The ARN of the SNS platform application
	Arn pulumi.StringOutput `pulumi:"arn"`
	// 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"`
	// SNS Topic triggered when a new platform endpoint is added to your platform application.
	EventEndpointCreatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointCreatedTopicArn"`
	// SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
	EventEndpointDeletedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointDeletedTopicArn"`
	// SNS Topic triggered when an existing platform endpoint is changed from your platform application.
	EventEndpointUpdatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointUpdatedTopicArn"`
	// The IAM role permitted to receive failure feedback for this application.
	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 permitted to receive success feedback for this application.
	SuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"successFeedbackRoleArn"`
	// The percentage of success to sample (0-100)
	SuccessFeedbackSampleRate pulumi.StringPtrOutput `pulumi:"successFeedbackSampleRate"`
}

Provides an SNS platform application resource

## Example Usage ### Apple Push Notification Service (APNS)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

``` ### Google Cloud Messaging (GCM)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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

SNS platform applications can be imported using the ARN, e.g.

```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 added in v3.13.0

func (*PlatformApplication) ElementType() reflect.Type

func (*PlatformApplication) ToPlatformApplicationOutput added in v3.13.0

func (i *PlatformApplication) ToPlatformApplicationOutput() PlatformApplicationOutput

func (*PlatformApplication) ToPlatformApplicationOutputWithContext added in v3.13.0

func (i *PlatformApplication) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput

func (*PlatformApplication) ToPlatformApplicationPtrOutput added in v3.25.0

func (i *PlatformApplication) ToPlatformApplicationPtrOutput() PlatformApplicationPtrOutput

func (*PlatformApplication) ToPlatformApplicationPtrOutputWithContext added in v3.25.0

func (i *PlatformApplication) ToPlatformApplicationPtrOutputWithContext(ctx context.Context) PlatformApplicationPtrOutput

type PlatformApplicationArgs

type PlatformApplicationArgs struct {
	// SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
	EventDeliveryFailureTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when a new platform endpoint is added to your platform application.
	EventEndpointCreatedTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
	EventEndpointDeletedTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when an existing platform endpoint is changed from your platform application.
	EventEndpointUpdatedTopicArn pulumi.StringPtrInput
	// The IAM role permitted to receive failure feedback for this application.
	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 permitted to receive success feedback for this application.
	SuccessFeedbackRoleArn pulumi.StringPtrInput
	// The percentage of success to sample (0-100)
	SuccessFeedbackSampleRate pulumi.StringPtrInput
}

The set of arguments for constructing a PlatformApplication resource.

func (PlatformApplicationArgs) ElementType

func (PlatformApplicationArgs) ElementType() reflect.Type

type PlatformApplicationArray added in v3.25.0

type PlatformApplicationArray []PlatformApplicationInput

func (PlatformApplicationArray) ElementType added in v3.25.0

func (PlatformApplicationArray) ElementType() reflect.Type

func (PlatformApplicationArray) ToPlatformApplicationArrayOutput added in v3.25.0

func (i PlatformApplicationArray) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput

func (PlatformApplicationArray) ToPlatformApplicationArrayOutputWithContext added in v3.25.0

func (i PlatformApplicationArray) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput

type PlatformApplicationArrayInput added in v3.25.0

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 added in v3.25.0

type PlatformApplicationArrayOutput struct{ *pulumi.OutputState }

func (PlatformApplicationArrayOutput) ElementType added in v3.25.0

func (PlatformApplicationArrayOutput) Index added in v3.25.0

func (PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput added in v3.25.0

func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput

func (PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext added in v3.25.0

func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput

type PlatformApplicationInput added in v3.13.0

type PlatformApplicationInput interface {
	pulumi.Input

	ToPlatformApplicationOutput() PlatformApplicationOutput
	ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput
}

type PlatformApplicationMap added in v3.25.0

type PlatformApplicationMap map[string]PlatformApplicationInput

func (PlatformApplicationMap) ElementType added in v3.25.0

func (PlatformApplicationMap) ElementType() reflect.Type

func (PlatformApplicationMap) ToPlatformApplicationMapOutput added in v3.25.0

func (i PlatformApplicationMap) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput

func (PlatformApplicationMap) ToPlatformApplicationMapOutputWithContext added in v3.25.0

func (i PlatformApplicationMap) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput

type PlatformApplicationMapInput added in v3.25.0

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 added in v3.25.0

type PlatformApplicationMapOutput struct{ *pulumi.OutputState }

func (PlatformApplicationMapOutput) ElementType added in v3.25.0

func (PlatformApplicationMapOutput) MapIndex added in v3.25.0

func (PlatformApplicationMapOutput) ToPlatformApplicationMapOutput added in v3.25.0

func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput

func (PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext added in v3.25.0

func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput

type PlatformApplicationOutput added in v3.13.0

type PlatformApplicationOutput struct {
	*pulumi.OutputState
}

func (PlatformApplicationOutput) ElementType added in v3.13.0

func (PlatformApplicationOutput) ElementType() reflect.Type

func (PlatformApplicationOutput) ToPlatformApplicationOutput added in v3.13.0

func (o PlatformApplicationOutput) ToPlatformApplicationOutput() PlatformApplicationOutput

func (PlatformApplicationOutput) ToPlatformApplicationOutputWithContext added in v3.13.0

func (o PlatformApplicationOutput) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput

func (PlatformApplicationOutput) ToPlatformApplicationPtrOutput added in v3.25.0

func (o PlatformApplicationOutput) ToPlatformApplicationPtrOutput() PlatformApplicationPtrOutput

func (PlatformApplicationOutput) ToPlatformApplicationPtrOutputWithContext added in v3.25.0

func (o PlatformApplicationOutput) ToPlatformApplicationPtrOutputWithContext(ctx context.Context) PlatformApplicationPtrOutput

type PlatformApplicationPtrInput added in v3.25.0

type PlatformApplicationPtrInput interface {
	pulumi.Input

	ToPlatformApplicationPtrOutput() PlatformApplicationPtrOutput
	ToPlatformApplicationPtrOutputWithContext(ctx context.Context) PlatformApplicationPtrOutput
}

type PlatformApplicationPtrOutput added in v3.25.0

type PlatformApplicationPtrOutput struct {
	*pulumi.OutputState
}

func (PlatformApplicationPtrOutput) ElementType added in v3.25.0

func (PlatformApplicationPtrOutput) ToPlatformApplicationPtrOutput added in v3.25.0

func (o PlatformApplicationPtrOutput) ToPlatformApplicationPtrOutput() PlatformApplicationPtrOutput

func (PlatformApplicationPtrOutput) ToPlatformApplicationPtrOutputWithContext added in v3.25.0

func (o PlatformApplicationPtrOutput) ToPlatformApplicationPtrOutputWithContext(ctx context.Context) PlatformApplicationPtrOutput

type PlatformApplicationState

type PlatformApplicationState struct {
	// The ARN of the SNS platform application
	Arn pulumi.StringPtrInput
	// SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
	EventDeliveryFailureTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when a new platform endpoint is added to your platform application.
	EventEndpointCreatedTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
	EventEndpointDeletedTopicArn pulumi.StringPtrInput
	// SNS Topic triggered when an existing platform endpoint is changed from your platform application.
	EventEndpointUpdatedTopicArn pulumi.StringPtrInput
	// The IAM role permitted to receive failure feedback for this application.
	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 permitted to receive success feedback for this application.
	SuccessFeedbackRoleArn pulumi.StringPtrInput
	// The percentage of success to sample (0-100)
	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.StringPtrOutput `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/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*SmsPreferences) ElementType() reflect.Type

func (*SmsPreferences) ToSmsPreferencesOutput added in v3.13.0

func (i *SmsPreferences) ToSmsPreferencesOutput() SmsPreferencesOutput

func (*SmsPreferences) ToSmsPreferencesOutputWithContext added in v3.13.0

func (i *SmsPreferences) ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput

func (*SmsPreferences) ToSmsPreferencesPtrOutput added in v3.25.0

func (i *SmsPreferences) ToSmsPreferencesPtrOutput() SmsPreferencesPtrOutput

func (*SmsPreferences) ToSmsPreferencesPtrOutputWithContext added in v3.25.0

func (i *SmsPreferences) ToSmsPreferencesPtrOutputWithContext(ctx context.Context) SmsPreferencesPtrOutput

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.StringPtrInput
	// 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 added in v3.25.0

type SmsPreferencesArray []SmsPreferencesInput

func (SmsPreferencesArray) ElementType added in v3.25.0

func (SmsPreferencesArray) ElementType() reflect.Type

func (SmsPreferencesArray) ToSmsPreferencesArrayOutput added in v3.25.0

func (i SmsPreferencesArray) ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput

func (SmsPreferencesArray) ToSmsPreferencesArrayOutputWithContext added in v3.25.0

func (i SmsPreferencesArray) ToSmsPreferencesArrayOutputWithContext(ctx context.Context) SmsPreferencesArrayOutput

type SmsPreferencesArrayInput added in v3.25.0

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 added in v3.25.0

type SmsPreferencesArrayOutput struct{ *pulumi.OutputState }

func (SmsPreferencesArrayOutput) ElementType added in v3.25.0

func (SmsPreferencesArrayOutput) ElementType() reflect.Type

func (SmsPreferencesArrayOutput) Index added in v3.25.0

func (SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutput added in v3.25.0

func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutput() SmsPreferencesArrayOutput

func (SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutputWithContext added in v3.25.0

func (o SmsPreferencesArrayOutput) ToSmsPreferencesArrayOutputWithContext(ctx context.Context) SmsPreferencesArrayOutput

type SmsPreferencesInput added in v3.13.0

type SmsPreferencesInput interface {
	pulumi.Input

	ToSmsPreferencesOutput() SmsPreferencesOutput
	ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput
}

type SmsPreferencesMap added in v3.25.0

type SmsPreferencesMap map[string]SmsPreferencesInput

func (SmsPreferencesMap) ElementType added in v3.25.0

func (SmsPreferencesMap) ElementType() reflect.Type

func (SmsPreferencesMap) ToSmsPreferencesMapOutput added in v3.25.0

func (i SmsPreferencesMap) ToSmsPreferencesMapOutput() SmsPreferencesMapOutput

func (SmsPreferencesMap) ToSmsPreferencesMapOutputWithContext added in v3.25.0

func (i SmsPreferencesMap) ToSmsPreferencesMapOutputWithContext(ctx context.Context) SmsPreferencesMapOutput

type SmsPreferencesMapInput added in v3.25.0

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 added in v3.25.0

type SmsPreferencesMapOutput struct{ *pulumi.OutputState }

func (SmsPreferencesMapOutput) ElementType added in v3.25.0

func (SmsPreferencesMapOutput) ElementType() reflect.Type

func (SmsPreferencesMapOutput) MapIndex added in v3.25.0

func (SmsPreferencesMapOutput) ToSmsPreferencesMapOutput added in v3.25.0

func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutput() SmsPreferencesMapOutput

func (SmsPreferencesMapOutput) ToSmsPreferencesMapOutputWithContext added in v3.25.0

func (o SmsPreferencesMapOutput) ToSmsPreferencesMapOutputWithContext(ctx context.Context) SmsPreferencesMapOutput

type SmsPreferencesOutput added in v3.13.0

type SmsPreferencesOutput struct {
	*pulumi.OutputState
}

func (SmsPreferencesOutput) ElementType added in v3.13.0

func (SmsPreferencesOutput) ElementType() reflect.Type

func (SmsPreferencesOutput) ToSmsPreferencesOutput added in v3.13.0

func (o SmsPreferencesOutput) ToSmsPreferencesOutput() SmsPreferencesOutput

func (SmsPreferencesOutput) ToSmsPreferencesOutputWithContext added in v3.13.0

func (o SmsPreferencesOutput) ToSmsPreferencesOutputWithContext(ctx context.Context) SmsPreferencesOutput

func (SmsPreferencesOutput) ToSmsPreferencesPtrOutput added in v3.25.0

func (o SmsPreferencesOutput) ToSmsPreferencesPtrOutput() SmsPreferencesPtrOutput

func (SmsPreferencesOutput) ToSmsPreferencesPtrOutputWithContext added in v3.25.0

func (o SmsPreferencesOutput) ToSmsPreferencesPtrOutputWithContext(ctx context.Context) SmsPreferencesPtrOutput

type SmsPreferencesPtrInput added in v3.25.0

type SmsPreferencesPtrInput interface {
	pulumi.Input

	ToSmsPreferencesPtrOutput() SmsPreferencesPtrOutput
	ToSmsPreferencesPtrOutputWithContext(ctx context.Context) SmsPreferencesPtrOutput
}

type SmsPreferencesPtrOutput added in v3.25.0

type SmsPreferencesPtrOutput struct {
	*pulumi.OutputState
}

func (SmsPreferencesPtrOutput) ElementType added in v3.25.0

func (SmsPreferencesPtrOutput) ElementType() reflect.Type

func (SmsPreferencesPtrOutput) ToSmsPreferencesPtrOutput added in v3.25.0

func (o SmsPreferencesPtrOutput) ToSmsPreferencesPtrOutput() SmsPreferencesPtrOutput

func (SmsPreferencesPtrOutput) ToSmsPreferencesPtrOutputWithContext added in v3.25.0

func (o SmsPreferencesPtrOutput) ToSmsPreferencesPtrOutputWithContext(ctx context.Context) SmsPreferencesPtrOutput

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.StringPtrInput
	// 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 ARN of the SNS topic, as a more obvious property (clone of id)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html)
	DeliveryPolicy pulumi.StringPtrOutput `pulumi:"deliveryPolicy"`
	// The display name for the SNS topic
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// 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 friendly name for the SNS topic. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// The friendly name for the SNS topic. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"`
	// The fully-formed AWS policy as JSON.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// 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
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an SNS topic resource

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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 (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := sns.NewTopic(ctx, "userUpdates", &sns.TopicArgs{
			DeliveryPolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"http\": {\n", "    \"defaultHealthyRetryPolicy\": {\n", "      \"minDelayTarget\": 20,\n", "      \"maxDelayTarget\": 20,\n", "      \"numRetries\": 3,\n", "      \"numMaxDelayRetries\": 0,\n", "      \"numNoDelayRetries\": 0,\n", "      \"numMinDelayRetries\": 0,\n", "      \"backoffFunction\": \"linear\"\n", "    },\n", "    \"disableSubscriptionOverrides\": false,\n", "    \"defaultThrottlePolicy\": {\n", "      \"maxReceivesPerSecond\": 1\n", "    }\n", "  }\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Example with Server-side encryption (SSE)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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

SNS Topics can be imported using the `topic arn`, e.g.

```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 added in v3.13.0

func (*Topic) ElementType() reflect.Type

func (*Topic) ToTopicOutput added in v3.13.0

func (i *Topic) ToTopicOutput() TopicOutput

func (*Topic) ToTopicOutputWithContext added in v3.13.0

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

func (*Topic) ToTopicPtrOutput added in v3.25.0

func (i *Topic) ToTopicPtrOutput() TopicPtrOutput

func (*Topic) ToTopicPtrOutputWithContext added in v3.25.0

func (i *Topic) ToTopicPtrOutputWithContext(ctx context.Context) TopicPtrOutput

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 SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html)
	DeliveryPolicy pulumi.StringPtrInput
	// The display name for the SNS topic
	DisplayName pulumi.StringPtrInput
	// 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 friendly name for the SNS topic. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The friendly name for the SNS topic. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The fully-formed AWS policy as JSON.
	Policy pulumi.StringPtrInput
	// 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
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Topic resource.

func (TopicArgs) ElementType

func (TopicArgs) ElementType() reflect.Type

type TopicArray added in v3.25.0

type TopicArray []TopicInput

func (TopicArray) ElementType added in v3.25.0

func (TopicArray) ElementType() reflect.Type

func (TopicArray) ToTopicArrayOutput added in v3.25.0

func (i TopicArray) ToTopicArrayOutput() TopicArrayOutput

func (TopicArray) ToTopicArrayOutputWithContext added in v3.25.0

func (i TopicArray) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicArrayInput added in v3.25.0

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 added in v3.25.0

type TopicArrayOutput struct{ *pulumi.OutputState }

func (TopicArrayOutput) ElementType added in v3.25.0

func (TopicArrayOutput) ElementType() reflect.Type

func (TopicArrayOutput) Index added in v3.25.0

func (TopicArrayOutput) ToTopicArrayOutput added in v3.25.0

func (o TopicArrayOutput) ToTopicArrayOutput() TopicArrayOutput

func (TopicArrayOutput) ToTopicArrayOutputWithContext added in v3.25.0

func (o TopicArrayOutput) ToTopicArrayOutputWithContext(ctx context.Context) TopicArrayOutput

type TopicInput added in v3.13.0

type TopicInput interface {
	pulumi.Input

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

type TopicMap added in v3.25.0

type TopicMap map[string]TopicInput

func (TopicMap) ElementType added in v3.25.0

func (TopicMap) ElementType() reflect.Type

func (TopicMap) ToTopicMapOutput added in v3.25.0

func (i TopicMap) ToTopicMapOutput() TopicMapOutput

func (TopicMap) ToTopicMapOutputWithContext added in v3.25.0

func (i TopicMap) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicMapInput added in v3.25.0

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 added in v3.25.0

type TopicMapOutput struct{ *pulumi.OutputState }

func (TopicMapOutput) ElementType added in v3.25.0

func (TopicMapOutput) ElementType() reflect.Type

func (TopicMapOutput) MapIndex added in v3.25.0

func (TopicMapOutput) ToTopicMapOutput added in v3.25.0

func (o TopicMapOutput) ToTopicMapOutput() TopicMapOutput

func (TopicMapOutput) ToTopicMapOutputWithContext added in v3.25.0

func (o TopicMapOutput) ToTopicMapOutputWithContext(ctx context.Context) TopicMapOutput

type TopicOutput added in v3.13.0

type TopicOutput struct {
	*pulumi.OutputState
}

func (TopicOutput) ElementType added in v3.13.0

func (TopicOutput) ElementType() reflect.Type

func (TopicOutput) ToTopicOutput added in v3.13.0

func (o TopicOutput) ToTopicOutput() TopicOutput

func (TopicOutput) ToTopicOutputWithContext added in v3.13.0

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

func (TopicOutput) ToTopicPtrOutput added in v3.25.0

func (o TopicOutput) ToTopicPtrOutput() TopicPtrOutput

func (TopicOutput) ToTopicPtrOutputWithContext added in v3.25.0

func (o TopicOutput) ToTopicPtrOutputWithContext(ctx context.Context) TopicPtrOutput

type TopicPolicy

type TopicPolicy struct {
	pulumi.CustomResourceState

	// The ARN of the SNS topic
	Arn pulumi.StringOutput `pulumi:"arn"`
	// 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/v3/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := sns.NewTopic(ctx, "test", nil)
		if err != nil {
			return err
		}
		_, err = sns.NewTopicPolicy(ctx, "_default", &sns.TopicPolicyArgs{
			Arn: test.Arn,
			Policy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (string, error) {
				return snsTopicPolicy.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SNS Topic Policy can be imported using the topic ARN, e.g.

```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 added in v3.13.0

func (*TopicPolicy) ElementType() reflect.Type

func (*TopicPolicy) ToTopicPolicyOutput added in v3.13.0

func (i *TopicPolicy) ToTopicPolicyOutput() TopicPolicyOutput

func (*TopicPolicy) ToTopicPolicyOutputWithContext added in v3.13.0

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

func (*TopicPolicy) ToTopicPolicyPtrOutput added in v3.25.0

func (i *TopicPolicy) ToTopicPolicyPtrOutput() TopicPolicyPtrOutput

func (*TopicPolicy) ToTopicPolicyPtrOutputWithContext added in v3.25.0

func (i *TopicPolicy) ToTopicPolicyPtrOutputWithContext(ctx context.Context) TopicPolicyPtrOutput

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 added in v3.25.0

type TopicPolicyArray []TopicPolicyInput

func (TopicPolicyArray) ElementType added in v3.25.0

func (TopicPolicyArray) ElementType() reflect.Type

func (TopicPolicyArray) ToTopicPolicyArrayOutput added in v3.25.0

func (i TopicPolicyArray) ToTopicPolicyArrayOutput() TopicPolicyArrayOutput

func (TopicPolicyArray) ToTopicPolicyArrayOutputWithContext added in v3.25.0

func (i TopicPolicyArray) ToTopicPolicyArrayOutputWithContext(ctx context.Context) TopicPolicyArrayOutput

type TopicPolicyArrayInput added in v3.25.0

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 added in v3.25.0

type TopicPolicyArrayOutput struct{ *pulumi.OutputState }

func (TopicPolicyArrayOutput) ElementType added in v3.25.0

func (TopicPolicyArrayOutput) ElementType() reflect.Type

func (TopicPolicyArrayOutput) Index added in v3.25.0

func (TopicPolicyArrayOutput) ToTopicPolicyArrayOutput added in v3.25.0

func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutput() TopicPolicyArrayOutput

func (TopicPolicyArrayOutput) ToTopicPolicyArrayOutputWithContext added in v3.25.0

func (o TopicPolicyArrayOutput) ToTopicPolicyArrayOutputWithContext(ctx context.Context) TopicPolicyArrayOutput

type TopicPolicyInput added in v3.13.0

type TopicPolicyInput interface {
	pulumi.Input

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

type TopicPolicyMap added in v3.25.0

type TopicPolicyMap map[string]TopicPolicyInput

func (TopicPolicyMap) ElementType added in v3.25.0

func (TopicPolicyMap) ElementType() reflect.Type

func (TopicPolicyMap) ToTopicPolicyMapOutput added in v3.25.0

func (i TopicPolicyMap) ToTopicPolicyMapOutput() TopicPolicyMapOutput

func (TopicPolicyMap) ToTopicPolicyMapOutputWithContext added in v3.25.0

func (i TopicPolicyMap) ToTopicPolicyMapOutputWithContext(ctx context.Context) TopicPolicyMapOutput

type TopicPolicyMapInput added in v3.25.0

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 added in v3.25.0

type TopicPolicyMapOutput struct{ *pulumi.OutputState }

func (TopicPolicyMapOutput) ElementType added in v3.25.0

func (TopicPolicyMapOutput) ElementType() reflect.Type

func (TopicPolicyMapOutput) MapIndex added in v3.25.0

func (TopicPolicyMapOutput) ToTopicPolicyMapOutput added in v3.25.0

func (o TopicPolicyMapOutput) ToTopicPolicyMapOutput() TopicPolicyMapOutput

func (TopicPolicyMapOutput) ToTopicPolicyMapOutputWithContext added in v3.25.0

func (o TopicPolicyMapOutput) ToTopicPolicyMapOutputWithContext(ctx context.Context) TopicPolicyMapOutput

type TopicPolicyOutput added in v3.13.0

type TopicPolicyOutput struct {
	*pulumi.OutputState
}

func (TopicPolicyOutput) ElementType added in v3.13.0

func (TopicPolicyOutput) ElementType() reflect.Type

func (TopicPolicyOutput) ToTopicPolicyOutput added in v3.13.0

func (o TopicPolicyOutput) ToTopicPolicyOutput() TopicPolicyOutput

func (TopicPolicyOutput) ToTopicPolicyOutputWithContext added in v3.13.0

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

func (TopicPolicyOutput) ToTopicPolicyPtrOutput added in v3.25.0

func (o TopicPolicyOutput) ToTopicPolicyPtrOutput() TopicPolicyPtrOutput

func (TopicPolicyOutput) ToTopicPolicyPtrOutputWithContext added in v3.25.0

func (o TopicPolicyOutput) ToTopicPolicyPtrOutputWithContext(ctx context.Context) TopicPolicyPtrOutput

type TopicPolicyPtrInput added in v3.25.0

type TopicPolicyPtrInput interface {
	pulumi.Input

	ToTopicPolicyPtrOutput() TopicPolicyPtrOutput
	ToTopicPolicyPtrOutputWithContext(ctx context.Context) TopicPolicyPtrOutput
}

type TopicPolicyPtrOutput added in v3.25.0

type TopicPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (TopicPolicyPtrOutput) ElementType added in v3.25.0

func (TopicPolicyPtrOutput) ElementType() reflect.Type

func (TopicPolicyPtrOutput) ToTopicPolicyPtrOutput added in v3.25.0

func (o TopicPolicyPtrOutput) ToTopicPolicyPtrOutput() TopicPolicyPtrOutput

func (TopicPolicyPtrOutput) ToTopicPolicyPtrOutputWithContext added in v3.25.0

func (o TopicPolicyPtrOutput) ToTopicPolicyPtrOutputWithContext(ctx context.Context) TopicPolicyPtrOutput

type TopicPolicyState

type TopicPolicyState struct {
	// The ARN of the SNS topic
	Arn pulumi.StringPtrInput
	// The fully-formed AWS policy as JSON.
	Policy pulumi.StringPtrInput
}

func (TopicPolicyState) ElementType

func (TopicPolicyState) ElementType() reflect.Type

type TopicPtrInput added in v3.25.0

type TopicPtrInput interface {
	pulumi.Input

	ToTopicPtrOutput() TopicPtrOutput
	ToTopicPtrOutputWithContext(ctx context.Context) TopicPtrOutput
}

type TopicPtrOutput added in v3.25.0

type TopicPtrOutput struct {
	*pulumi.OutputState
}

func (TopicPtrOutput) ElementType added in v3.25.0

func (TopicPtrOutput) ElementType() reflect.Type

func (TopicPtrOutput) ToTopicPtrOutput added in v3.25.0

func (o TopicPtrOutput) ToTopicPtrOutput() TopicPtrOutput

func (TopicPtrOutput) ToTopicPtrOutputWithContext added in v3.25.0

func (o TopicPtrOutput) ToTopicPtrOutputWithContext(ctx context.Context) TopicPtrOutput

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 ARN of the SNS topic, as a more obvious property (clone of id)
	Arn pulumi.StringPtrInput
	// The SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html)
	DeliveryPolicy pulumi.StringPtrInput
	// The display name for the SNS topic
	DisplayName pulumi.StringPtrInput
	// 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 friendly name for the SNS topic. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The friendly name for the SNS topic. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The fully-formed AWS policy as JSON.
	Policy pulumi.StringPtrInput
	// 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
	Tags pulumi.StringMapInput
}

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 retying 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"`
	// 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"`
	// 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.
	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.

## Import

SNS Topic Subscriptions can be imported using the `subscription arn`, e.g.

```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 added in v3.13.0

func (*TopicSubscription) ElementType() reflect.Type

func (*TopicSubscription) ToTopicSubscriptionOutput added in v3.13.0

func (i *TopicSubscription) ToTopicSubscriptionOutput() TopicSubscriptionOutput

func (*TopicSubscription) ToTopicSubscriptionOutputWithContext added in v3.13.0

func (i *TopicSubscription) ToTopicSubscriptionOutputWithContext(ctx context.Context) TopicSubscriptionOutput

func (*TopicSubscription) ToTopicSubscriptionPtrOutput added in v3.25.0

func (i *TopicSubscription) ToTopicSubscriptionPtrOutput() TopicSubscriptionPtrOutput

func (*TopicSubscription) ToTopicSubscriptionPtrOutputWithContext added in v3.25.0

func (i *TopicSubscription) ToTopicSubscriptionPtrOutputWithContext(ctx context.Context) TopicSubscriptionPtrOutput

type TopicSubscriptionArgs

type TopicSubscriptionArgs struct {
	// Integer indicating number of minutes to wait in retying 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
	// 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
	// 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.
	Topic pulumi.Input
}

The set of arguments for constructing a TopicSubscription resource.

func (TopicSubscriptionArgs) ElementType

func (TopicSubscriptionArgs) ElementType() reflect.Type

type TopicSubscriptionArray added in v3.25.0

type TopicSubscriptionArray []TopicSubscriptionInput

func (TopicSubscriptionArray) ElementType added in v3.25.0

func (TopicSubscriptionArray) ElementType() reflect.Type

func (TopicSubscriptionArray) ToTopicSubscriptionArrayOutput added in v3.25.0

func (i TopicSubscriptionArray) ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput

func (TopicSubscriptionArray) ToTopicSubscriptionArrayOutputWithContext added in v3.25.0

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

type TopicSubscriptionArrayInput added in v3.25.0

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 added in v3.25.0

type TopicSubscriptionArrayOutput struct{ *pulumi.OutputState }

func (TopicSubscriptionArrayOutput) ElementType added in v3.25.0

func (TopicSubscriptionArrayOutput) Index added in v3.25.0

func (TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutput added in v3.25.0

func (o TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutput() TopicSubscriptionArrayOutput

func (TopicSubscriptionArrayOutput) ToTopicSubscriptionArrayOutputWithContext added in v3.25.0

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

type TopicSubscriptionInput added in v3.13.0

type TopicSubscriptionInput interface {
	pulumi.Input

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

type TopicSubscriptionMap added in v3.25.0

type TopicSubscriptionMap map[string]TopicSubscriptionInput

func (TopicSubscriptionMap) ElementType added in v3.25.0

func (TopicSubscriptionMap) ElementType() reflect.Type

func (TopicSubscriptionMap) ToTopicSubscriptionMapOutput added in v3.25.0

func (i TopicSubscriptionMap) ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput

func (TopicSubscriptionMap) ToTopicSubscriptionMapOutputWithContext added in v3.25.0

func (i TopicSubscriptionMap) ToTopicSubscriptionMapOutputWithContext(ctx context.Context) TopicSubscriptionMapOutput

type TopicSubscriptionMapInput added in v3.25.0

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 added in v3.25.0

type TopicSubscriptionMapOutput struct{ *pulumi.OutputState }

func (TopicSubscriptionMapOutput) ElementType added in v3.25.0

func (TopicSubscriptionMapOutput) ElementType() reflect.Type

func (TopicSubscriptionMapOutput) MapIndex added in v3.25.0

func (TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutput added in v3.25.0

func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutput() TopicSubscriptionMapOutput

func (TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutputWithContext added in v3.25.0

func (o TopicSubscriptionMapOutput) ToTopicSubscriptionMapOutputWithContext(ctx context.Context) TopicSubscriptionMapOutput

type TopicSubscriptionOutput added in v3.13.0

type TopicSubscriptionOutput struct {
	*pulumi.OutputState
}

func (TopicSubscriptionOutput) ElementType added in v3.13.0

func (TopicSubscriptionOutput) ElementType() reflect.Type

func (TopicSubscriptionOutput) ToTopicSubscriptionOutput added in v3.13.0

func (o TopicSubscriptionOutput) ToTopicSubscriptionOutput() TopicSubscriptionOutput

func (TopicSubscriptionOutput) ToTopicSubscriptionOutputWithContext added in v3.13.0

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

func (TopicSubscriptionOutput) ToTopicSubscriptionPtrOutput added in v3.25.0

func (o TopicSubscriptionOutput) ToTopicSubscriptionPtrOutput() TopicSubscriptionPtrOutput

func (TopicSubscriptionOutput) ToTopicSubscriptionPtrOutputWithContext added in v3.25.0

func (o TopicSubscriptionOutput) ToTopicSubscriptionPtrOutputWithContext(ctx context.Context) TopicSubscriptionPtrOutput

type TopicSubscriptionPtrInput added in v3.25.0

type TopicSubscriptionPtrInput interface {
	pulumi.Input

	ToTopicSubscriptionPtrOutput() TopicSubscriptionPtrOutput
	ToTopicSubscriptionPtrOutputWithContext(ctx context.Context) TopicSubscriptionPtrOutput
}

type TopicSubscriptionPtrOutput added in v3.25.0

type TopicSubscriptionPtrOutput struct {
	*pulumi.OutputState
}

func (TopicSubscriptionPtrOutput) ElementType added in v3.25.0

func (TopicSubscriptionPtrOutput) ElementType() reflect.Type

func (TopicSubscriptionPtrOutput) ToTopicSubscriptionPtrOutput added in v3.25.0

func (o TopicSubscriptionPtrOutput) ToTopicSubscriptionPtrOutput() TopicSubscriptionPtrOutput

func (TopicSubscriptionPtrOutput) ToTopicSubscriptionPtrOutputWithContext added in v3.25.0

func (o TopicSubscriptionPtrOutput) ToTopicSubscriptionPtrOutputWithContext(ctx context.Context) TopicSubscriptionPtrOutput

type TopicSubscriptionState

type TopicSubscriptionState struct {
	// ARN of the subscription.
	Arn pulumi.StringPtrInput
	// Integer indicating number of minutes to wait in retying 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
	// 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
	// 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.
	Topic pulumi.StringPtrInput
}

func (TopicSubscriptionState) ElementType

func (TopicSubscriptionState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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