Skip to content

Resource: awsSnsPlatformApplication

Provides an SNS platform application resource

Example Usage

Apple Push Notification Service (APNS) using certificate-based authentication

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.snsPlatformApplication.SnsPlatformApplication(
  this,
  "apns_application",
  {
    name: "apns_application",
    platform: "APNS",
    platformCredential: "<APNS PRIVATE KEY>",
    platformPrincipal: "<APNS CERTIFICATE>",
  }
);

Apple Push Notification Service (APNS) using token-based authentication

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.snsPlatformApplication.SnsPlatformApplication(
  this,
  "apns_application",
  {
    applePlatformBundleId: "<APPLE BUNDLE ID>",
    applePlatformTeamId: "<APPLE TEAM ID>",
    name: "apns_application",
    platform: "APNS",
    platformCredential: "<APNS SIGNING KEY>",
    platformPrincipal: "<APNS SIGNING KEY ID>",
  }
);

Google Cloud Messaging (GCM)

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.snsPlatformApplication.SnsPlatformApplication(this, "gcm_application", {
  name: "gcm_application",
  platform: "GCM",
  platformCredential: "<GCM API KEY>",
});

Argument Reference

The following arguments are supported:

  • name - (Required) The friendly name for the SNS platform application
  • platform - (Required) The platform that the app is registered with. See Platform for supported platforms.
  • platformCredential - (Required) Application Platform credential. See Credential 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.
  • eventDeliveryFailureTopicArn - (Optional) The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
  • eventEndpointCreatedTopicArn - (Optional) The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
  • eventEndpointDeletedTopicArn - (Optional) The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
  • eventEndpointUpdatedTopicArn - (Optional) The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
  • failureFeedbackRoleArn - (Optional) The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
  • platformPrincipal - (Optional) Application Platform principal. See Principal 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.
  • successFeedbackRoleArn - (Optional) The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
  • successFeedbackSampleRate - (Optional) The sample rate percentage (0-100) of successfully delivered messages.

The following attributes are needed only when using APNS token credentials:

  • applePlatformTeamId - (Required) The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
  • applePlatformBundleId - (Required) The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The ARN of the SNS platform application
  • arn - The ARN of the SNS platform application

Import

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

$ terraform import aws_sns_platform_application.gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application