Documentation
¶
Index ¶
- type GetTopicArgs
- type GetTopicResult
- type PlatformApplication
- func (r *PlatformApplication) Arn() *pulumi.StringOutput
- func (r *PlatformApplication) EventDeliveryFailureTopicArn() *pulumi.StringOutput
- func (r *PlatformApplication) EventEndpointCreatedTopicArn() *pulumi.StringOutput
- func (r *PlatformApplication) EventEndpointDeletedTopicArn() *pulumi.StringOutput
- func (r *PlatformApplication) EventEndpointUpdatedTopicArn() *pulumi.StringOutput
- func (r *PlatformApplication) FailureFeedbackRoleArn() *pulumi.StringOutput
- func (r *PlatformApplication) ID() *pulumi.IDOutput
- func (r *PlatformApplication) Name() *pulumi.StringOutput
- func (r *PlatformApplication) Platform() *pulumi.StringOutput
- func (r *PlatformApplication) PlatformCredential() *pulumi.StringOutput
- func (r *PlatformApplication) PlatformPrincipal() *pulumi.StringOutput
- func (r *PlatformApplication) SuccessFeedbackRoleArn() *pulumi.StringOutput
- func (r *PlatformApplication) SuccessFeedbackSampleRate() *pulumi.StringOutput
- func (r *PlatformApplication) URN() *pulumi.URNOutput
- type PlatformApplicationArgs
- type PlatformApplicationState
- type SmsPreferences
- func (r *SmsPreferences) DefaultSenderId() *pulumi.StringOutput
- func (r *SmsPreferences) DefaultSmsType() *pulumi.StringOutput
- func (r *SmsPreferences) DeliveryStatusIamRoleArn() *pulumi.StringOutput
- func (r *SmsPreferences) DeliveryStatusSuccessSamplingRate() *pulumi.StringOutput
- func (r *SmsPreferences) ID() *pulumi.IDOutput
- func (r *SmsPreferences) MonthlySpendLimit() *pulumi.StringOutput
- func (r *SmsPreferences) URN() *pulumi.URNOutput
- func (r *SmsPreferences) UsageReportS3Bucket() *pulumi.StringOutput
- type SmsPreferencesArgs
- type SmsPreferencesState
- type Topic
- func (r *Topic) ApplicationFailureFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) ApplicationSuccessFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) ApplicationSuccessFeedbackSampleRate() *pulumi.IntOutput
- func (r *Topic) Arn() *pulumi.StringOutput
- func (r *Topic) DeliveryPolicy() *pulumi.StringOutput
- func (r *Topic) DisplayName() *pulumi.StringOutput
- func (r *Topic) HttpFailureFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) HttpSuccessFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) HttpSuccessFeedbackSampleRate() *pulumi.IntOutput
- func (r *Topic) ID() *pulumi.IDOutput
- func (r *Topic) KmsMasterKeyId() *pulumi.StringOutput
- func (r *Topic) LambdaFailureFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) LambdaSuccessFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) LambdaSuccessFeedbackSampleRate() *pulumi.IntOutput
- func (r *Topic) Name() *pulumi.StringOutput
- func (r *Topic) NamePrefix() *pulumi.StringOutput
- func (r *Topic) Policy() *pulumi.StringOutput
- func (r *Topic) SqsFailureFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) SqsSuccessFeedbackRoleArn() *pulumi.StringOutput
- func (r *Topic) SqsSuccessFeedbackSampleRate() *pulumi.IntOutput
- func (r *Topic) URN() *pulumi.URNOutput
- type TopicArgs
- type TopicPolicy
- type TopicPolicyArgs
- type TopicPolicyState
- type TopicState
- type TopicSubscription
- func (r *TopicSubscription) Arn() *pulumi.StringOutput
- func (r *TopicSubscription) ConfirmationTimeoutInMinutes() *pulumi.IntOutput
- func (r *TopicSubscription) DeliveryPolicy() *pulumi.StringOutput
- func (r *TopicSubscription) Endpoint() *pulumi.StringOutput
- func (r *TopicSubscription) EndpointAutoConfirms() *pulumi.BoolOutput
- func (r *TopicSubscription) FilterPolicy() *pulumi.StringOutput
- func (r *TopicSubscription) ID() *pulumi.IDOutput
- func (r *TopicSubscription) Protocol() *pulumi.StringOutput
- func (r *TopicSubscription) RawMessageDelivery() *pulumi.BoolOutput
- func (r *TopicSubscription) Topic() *pulumi.StringOutput
- func (r *TopicSubscription) URN() *pulumi.URNOutput
- type TopicSubscriptionArgs
- type TopicSubscriptionState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GetTopicArgs ¶
type GetTopicArgs struct {
// The friendly name of the topic to match.
Name interface{}
}
A collection of arguments for invoking getTopic.
type GetTopicResult ¶
type GetTopicResult struct { // Set to the ARN of the found topic, suitable for referencing in other resources that support SNS topics. Arn interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getTopic.
func LookupTopic ¶
func LookupTopic(ctx *pulumi.Context, args *GetTopicArgs) (*GetTopicResult, 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.
type PlatformApplication ¶
type PlatformApplication struct {
// contains filtered or unexported fields
}
Provides an SNS platform application resource
func GetPlatformApplication ¶
func GetPlatformApplication(ctx *pulumi.Context, name string, id pulumi.ID, state *PlatformApplicationState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*PlatformApplication, error)
NewPlatformApplication registers a new resource with the given unique name, arguments, and options.
func (*PlatformApplication) Arn ¶
func (r *PlatformApplication) Arn() *pulumi.StringOutput
The ARN of the SNS platform application
func (*PlatformApplication) EventDeliveryFailureTopicArn ¶
func (r *PlatformApplication) EventDeliveryFailureTopicArn() *pulumi.StringOutput
SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
func (*PlatformApplication) EventEndpointCreatedTopicArn ¶
func (r *PlatformApplication) EventEndpointCreatedTopicArn() *pulumi.StringOutput
SNS Topic triggered when a new platform endpoint is added to your platform application.
func (*PlatformApplication) EventEndpointDeletedTopicArn ¶
func (r *PlatformApplication) EventEndpointDeletedTopicArn() *pulumi.StringOutput
SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
func (*PlatformApplication) EventEndpointUpdatedTopicArn ¶
func (r *PlatformApplication) EventEndpointUpdatedTopicArn() *pulumi.StringOutput
SNS Topic triggered when an existing platform endpoint is changed from your platform application.
func (*PlatformApplication) FailureFeedbackRoleArn ¶
func (r *PlatformApplication) FailureFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive failure feedback for this application.
func (*PlatformApplication) ID ¶
func (r *PlatformApplication) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*PlatformApplication) Name ¶
func (r *PlatformApplication) Name() *pulumi.StringOutput
The friendly name for the SNS platform application
func (*PlatformApplication) Platform ¶
func (r *PlatformApplication) Platform() *pulumi.StringOutput
The platform that the app is registered with. See [Platform][1] for supported platforms.
func (*PlatformApplication) PlatformCredential ¶
func (r *PlatformApplication) PlatformCredential() *pulumi.StringOutput
Application Platform credential. See [Credential][1] for type of credential required for platform. The value of this attribute when stored into the Terraform 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 (*PlatformApplication) PlatformPrincipal ¶
func (r *PlatformApplication) PlatformPrincipal() *pulumi.StringOutput
Application Platform principal. See [Principal][2] for type of principal required for platform. The value of this attribute when stored into the Terraform 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 (*PlatformApplication) SuccessFeedbackRoleArn ¶
func (r *PlatformApplication) SuccessFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive success feedback for this application.
func (*PlatformApplication) SuccessFeedbackSampleRate ¶
func (r *PlatformApplication) SuccessFeedbackSampleRate() *pulumi.StringOutput
The percentage of success to sample (0-100)
func (*PlatformApplication) URN ¶
func (r *PlatformApplication) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
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 interface{} // SNS Topic triggered when a new platform endpoint is added to your platform application. EventEndpointCreatedTopicArn interface{} // SNS Topic triggered when an existing platform endpoint is deleted from your platform application. EventEndpointDeletedTopicArn interface{} // SNS Topic triggered when an existing platform endpoint is changed from your platform application. EventEndpointUpdatedTopicArn interface{} // The IAM role permitted to receive failure feedback for this application. FailureFeedbackRoleArn interface{} // The friendly name for the SNS platform application Name interface{} // The platform that the app is registered with. See [Platform][1] for supported platforms. Platform interface{} // Application Platform credential. See [Credential][1] for type of credential required for platform. The value of this attribute when stored into the Terraform 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 interface{} // Application Platform principal. See [Principal][2] for type of principal required for platform. The value of this attribute when stored into the Terraform 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 interface{} // The IAM role permitted to receive success feedback for this application. SuccessFeedbackRoleArn interface{} // The percentage of success to sample (0-100) SuccessFeedbackSampleRate interface{} }
The set of arguments for constructing a PlatformApplication resource.
type PlatformApplicationState ¶
type PlatformApplicationState struct { // The ARN of the SNS platform application Arn interface{} // SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure. EventDeliveryFailureTopicArn interface{} // SNS Topic triggered when a new platform endpoint is added to your platform application. EventEndpointCreatedTopicArn interface{} // SNS Topic triggered when an existing platform endpoint is deleted from your platform application. EventEndpointDeletedTopicArn interface{} // SNS Topic triggered when an existing platform endpoint is changed from your platform application. EventEndpointUpdatedTopicArn interface{} // The IAM role permitted to receive failure feedback for this application. FailureFeedbackRoleArn interface{} // The friendly name for the SNS platform application Name interface{} // The platform that the app is registered with. See [Platform][1] for supported platforms. Platform interface{} // Application Platform credential. See [Credential][1] for type of credential required for platform. The value of this attribute when stored into the Terraform 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 interface{} // Application Platform principal. See [Principal][2] for type of principal required for platform. The value of this attribute when stored into the Terraform 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 interface{} // The IAM role permitted to receive success feedback for this application. SuccessFeedbackRoleArn interface{} // The percentage of success to sample (0-100) SuccessFeedbackSampleRate interface{} }
Input properties used for looking up and filtering PlatformApplication resources.
type SmsPreferences ¶
type SmsPreferences struct {
// contains filtered or unexported fields
}
Provides a way to set SNS SMS preferences.
func GetSmsPreferences ¶
func GetSmsPreferences(ctx *pulumi.Context, name string, id pulumi.ID, state *SmsPreferencesState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*SmsPreferences, error)
NewSmsPreferences registers a new resource with the given unique name, arguments, and options.
func (*SmsPreferences) DefaultSenderId ¶
func (r *SmsPreferences) DefaultSenderId() *pulumi.StringOutput
A string, such as your business brand, that is displayed as the sender on the receiving device.
func (*SmsPreferences) DefaultSmsType ¶
func (r *SmsPreferences) DefaultSmsType() *pulumi.StringOutput
The type of SMS message that you will send by default. Possible values are: Promotional, Transactional
func (*SmsPreferences) DeliveryStatusIamRoleArn ¶
func (r *SmsPreferences) DeliveryStatusIamRoleArn() *pulumi.StringOutput
The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs.
func (*SmsPreferences) DeliveryStatusSuccessSamplingRate ¶
func (r *SmsPreferences) DeliveryStatusSuccessSamplingRate() *pulumi.StringOutput
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 (*SmsPreferences) ID ¶
func (r *SmsPreferences) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*SmsPreferences) MonthlySpendLimit ¶
func (r *SmsPreferences) MonthlySpendLimit() *pulumi.StringOutput
The maximum amount in USD that you are willing to spend each month to send SMS messages.
func (*SmsPreferences) URN ¶
func (r *SmsPreferences) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
func (*SmsPreferences) UsageReportS3Bucket ¶
func (r *SmsPreferences) UsageReportS3Bucket() *pulumi.StringOutput
The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS.
type SmsPreferencesArgs ¶
type SmsPreferencesArgs struct { // A string, such as your business brand, that is displayed as the sender on the receiving device. DefaultSenderId interface{} // The type of SMS message that you will send by default. Possible values are: Promotional, Transactional DefaultSmsType interface{} // The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. DeliveryStatusIamRoleArn interface{} // 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 interface{} // The maximum amount in USD that you are willing to spend each month to send SMS messages. MonthlySpendLimit interface{} // The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. UsageReportS3Bucket interface{} }
The set of arguments for constructing a SmsPreferences resource.
type SmsPreferencesState ¶
type SmsPreferencesState struct { // A string, such as your business brand, that is displayed as the sender on the receiving device. DefaultSenderId interface{} // The type of SMS message that you will send by default. Possible values are: Promotional, Transactional DefaultSmsType interface{} // The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. DeliveryStatusIamRoleArn interface{} // 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 interface{} // The maximum amount in USD that you are willing to spend each month to send SMS messages. MonthlySpendLimit interface{} // The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. UsageReportS3Bucket interface{} }
Input properties used for looking up and filtering SmsPreferences resources.
type Topic ¶
type Topic struct {
// contains filtered or unexported fields
}
Provides an SNS topic resource
## 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.
func GetTopic ¶
func GetTopic(ctx *pulumi.Context, name string, id pulumi.ID, state *TopicState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Topic, error)
NewTopic registers a new resource with the given unique name, arguments, and options.
func (*Topic) ApplicationFailureFeedbackRoleArn ¶
func (r *Topic) ApplicationFailureFeedbackRoleArn() *pulumi.StringOutput
IAM role for failure feedback
func (*Topic) ApplicationSuccessFeedbackRoleArn ¶
func (r *Topic) ApplicationSuccessFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive success feedback for this topic
func (*Topic) ApplicationSuccessFeedbackSampleRate ¶
Percentage of success to sample
func (*Topic) Arn ¶
func (r *Topic) Arn() *pulumi.StringOutput
The ARN of the SNS topic, as a more obvious property (clone of id)
func (*Topic) DeliveryPolicy ¶
func (r *Topic) DeliveryPolicy() *pulumi.StringOutput
The SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html)
func (*Topic) DisplayName ¶
func (r *Topic) DisplayName() *pulumi.StringOutput
The display name for the SNS topic
func (*Topic) HttpFailureFeedbackRoleArn ¶
func (r *Topic) HttpFailureFeedbackRoleArn() *pulumi.StringOutput
IAM role for failure feedback
func (*Topic) HttpSuccessFeedbackRoleArn ¶
func (r *Topic) HttpSuccessFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive success feedback for this topic
func (*Topic) HttpSuccessFeedbackSampleRate ¶
Percentage of success to sample
func (*Topic) KmsMasterKeyId ¶ added in v0.16.3
func (r *Topic) KmsMasterKeyId() *pulumi.StringOutput
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 (*Topic) LambdaFailureFeedbackRoleArn ¶
func (r *Topic) LambdaFailureFeedbackRoleArn() *pulumi.StringOutput
IAM role for failure feedback
func (*Topic) LambdaSuccessFeedbackRoleArn ¶
func (r *Topic) LambdaSuccessFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive success feedback for this topic
func (*Topic) LambdaSuccessFeedbackSampleRate ¶
Percentage of success to sample
func (*Topic) Name ¶
func (r *Topic) Name() *pulumi.StringOutput
The friendly name for the SNS topic. By default generated by Terraform.
func (*Topic) NamePrefix ¶
func (r *Topic) NamePrefix() *pulumi.StringOutput
The friendly name for the SNS topic. Conflicts with `name`.
func (*Topic) Policy ¶
func (r *Topic) Policy() *pulumi.StringOutput
The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
func (*Topic) SqsFailureFeedbackRoleArn ¶
func (r *Topic) SqsFailureFeedbackRoleArn() *pulumi.StringOutput
IAM role for failure feedback
func (*Topic) SqsSuccessFeedbackRoleArn ¶
func (r *Topic) SqsSuccessFeedbackRoleArn() *pulumi.StringOutput
The IAM role permitted to receive success feedback for this topic
func (*Topic) SqsSuccessFeedbackSampleRate ¶
Percentage of success to sample
type TopicArgs ¶
type TopicArgs struct { // IAM role for failure feedback ApplicationFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic ApplicationSuccessFeedbackRoleArn interface{} // Percentage of success to sample ApplicationSuccessFeedbackSampleRate interface{} // The SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) DeliveryPolicy interface{} // The display name for the SNS topic DisplayName interface{} // IAM role for failure feedback HttpFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic HttpSuccessFeedbackRoleArn interface{} // Percentage of success to sample HttpSuccessFeedbackSampleRate interface{} // 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 interface{} // IAM role for failure feedback LambdaFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic LambdaSuccessFeedbackRoleArn interface{} // Percentage of success to sample LambdaSuccessFeedbackSampleRate interface{} // The friendly name for the SNS topic. By default generated by Terraform. Name interface{} // The friendly name for the SNS topic. Conflicts with `name`. NamePrefix interface{} // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html). Policy interface{} // IAM role for failure feedback SqsFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic SqsSuccessFeedbackRoleArn interface{} // Percentage of success to sample SqsSuccessFeedbackSampleRate interface{} }
The set of arguments for constructing a Topic resource.
type TopicPolicy ¶
type TopicPolicy struct {
// contains filtered or unexported fields
}
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 terraform plans to differ. To avoid this problem, just specify the full ARN, e.g. `arn:aws:iam::123456789012:root`
func GetTopicPolicy ¶
func GetTopicPolicy(ctx *pulumi.Context, name string, id pulumi.ID, state *TopicPolicyState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*TopicPolicy, error)
NewTopicPolicy registers a new resource with the given unique name, arguments, and options.
func (*TopicPolicy) ID ¶
func (r *TopicPolicy) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*TopicPolicy) Policy ¶
func (r *TopicPolicy) Policy() *pulumi.StringOutput
The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html).
func (*TopicPolicy) URN ¶
func (r *TopicPolicy) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type TopicPolicyArgs ¶
type TopicPolicyArgs struct { // The ARN of the SNS topic Arn interface{} // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html). Policy interface{} }
The set of arguments for constructing a TopicPolicy resource.
type TopicPolicyState ¶
type TopicPolicyState struct { // The ARN of the SNS topic Arn interface{} // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html). Policy interface{} }
Input properties used for looking up and filtering TopicPolicy resources.
type TopicState ¶
type TopicState struct { // IAM role for failure feedback ApplicationFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic ApplicationSuccessFeedbackRoleArn interface{} // Percentage of success to sample ApplicationSuccessFeedbackSampleRate interface{} // The ARN of the SNS topic, as a more obvious property (clone of id) Arn interface{} // The SNS delivery policy. More on [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html) DeliveryPolicy interface{} // The display name for the SNS topic DisplayName interface{} // IAM role for failure feedback HttpFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic HttpSuccessFeedbackRoleArn interface{} // Percentage of success to sample HttpSuccessFeedbackSampleRate interface{} // 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 interface{} // IAM role for failure feedback LambdaFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic LambdaSuccessFeedbackRoleArn interface{} // Percentage of success to sample LambdaSuccessFeedbackSampleRate interface{} // The friendly name for the SNS topic. By default generated by Terraform. Name interface{} // The friendly name for the SNS topic. Conflicts with `name`. NamePrefix interface{} // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://www.terraform.io/docs/providers/aws/guides/iam-policy-documents.html). Policy interface{} // IAM role for failure feedback SqsFailureFeedbackRoleArn interface{} // The IAM role permitted to receive success feedback for this topic SqsSuccessFeedbackRoleArn interface{} // Percentage of success to sample SqsSuccessFeedbackSampleRate interface{} }
Input properties used for looking up and filtering Topic resources.
type TopicSubscription ¶
type TopicSubscription struct {
// contains filtered or unexported fields
}
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 Terraform users will probably be SQS queues.
> **NOTE:** If the SNS topic and SQS queue are in different AWS regions, it is important for the "aws_sns_topic_subscription" to use an AWS provider that is in the same region of the SNS topic. If the "aws_sns_topic_subscription" is using a provider with a different region than the SNS topic, terraform will fail to create the subscription.
> **NOTE:** Setup of cross-account subscriptions from SNS topics to SQS queues requires Terraform to have access to BOTH accounts.
> **NOTE:** If SNS topic and SQS queue are in different AWS accounts but the same region it is important for the "aws_sns_topic_subscription" to use the AWS provider of the account with the SQS queue. If "aws_sns_topic_subscription" is using a Provider with a different account than the SNS topic, terraform creates the subscriptions but does not keep state and tries to re-create the subscription at every apply.
> **NOTE:** If SNS topic and SQS queue are in different AWS accounts and different AWS regions it is important to recognize that the subscription needs to be initiated from the account with the SQS queue but in the region of the SNS topic.
func GetTopicSubscription ¶
func GetTopicSubscription(ctx *pulumi.Context, name string, id pulumi.ID, state *TopicSubscriptionState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*TopicSubscription, error)
NewTopicSubscription registers a new resource with the given unique name, arguments, and options.
func (*TopicSubscription) Arn ¶
func (r *TopicSubscription) Arn() *pulumi.StringOutput
The ARN of the subscription stored as a more user-friendly property
func (*TopicSubscription) ConfirmationTimeoutInMinutes ¶
func (r *TopicSubscription) ConfirmationTimeoutInMinutes() *pulumi.IntOutput
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 minute).
func (*TopicSubscription) DeliveryPolicy ¶
func (r *TopicSubscription) DeliveryPolicy() *pulumi.StringOutput
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 (*TopicSubscription) Endpoint ¶
func (r *TopicSubscription) Endpoint() *pulumi.StringOutput
The endpoint to send data to, the contents will vary with the protocol. (see below for more information)
func (*TopicSubscription) EndpointAutoConfirms ¶
func (r *TopicSubscription) EndpointAutoConfirms() *pulumi.BoolOutput
Boolean indicating whether the end point 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 (*TopicSubscription) FilterPolicy ¶
func (r *TopicSubscription) FilterPolicy() *pulumi.StringOutput
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 (*TopicSubscription) ID ¶
func (r *TopicSubscription) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*TopicSubscription) Protocol ¶
func (r *TopicSubscription) Protocol() *pulumi.StringOutput
The protocol to use. The possible values for this are: `sqs`, `sms`, `lambda`, `application`. (`http` or `https` are partially supported, see below) (`email` is option but unsupported, see below).
func (*TopicSubscription) RawMessageDelivery ¶
func (r *TopicSubscription) RawMessageDelivery() *pulumi.BoolOutput
Boolean indicating whether or not 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 (*TopicSubscription) Topic ¶
func (r *TopicSubscription) Topic() *pulumi.StringOutput
The ARN of the SNS topic to subscribe to
func (*TopicSubscription) URN ¶
func (r *TopicSubscription) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
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 minute). ConfirmationTimeoutInMinutes interface{} // 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 interface{} // The endpoint to send data to, the contents will vary with the protocol. (see below for more information) Endpoint interface{} // Boolean indicating whether the end point 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 interface{} // 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 interface{} // The protocol to use. The possible values for this are: `sqs`, `sms`, `lambda`, `application`. (`http` or `https` are partially supported, see below) (`email` is option but unsupported, see below). Protocol interface{} // Boolean indicating whether or not 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 interface{} // The ARN of the SNS topic to subscribe to Topic interface{} }
The set of arguments for constructing a TopicSubscription resource.
type TopicSubscriptionState ¶
type TopicSubscriptionState struct { // The ARN of the subscription stored as a more user-friendly property Arn interface{} // 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 minute). ConfirmationTimeoutInMinutes interface{} // 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 interface{} // The endpoint to send data to, the contents will vary with the protocol. (see below for more information) Endpoint interface{} // Boolean indicating whether the end point 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 interface{} // 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 interface{} // The protocol to use. The possible values for this are: `sqs`, `sms`, `lambda`, `application`. (`http` or `https` are partially supported, see below) (`email` is option but unsupported, see below). Protocol interface{} // Boolean indicating whether or not 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 interface{} // The ARN of the SNS topic to subscribe to Topic interface{} }
Input properties used for looking up and filtering TopicSubscription resources.