AWS Amazon Pinpoint APNS Channel

This page shows how to write Terraform and CloudFormation for Amazon Pinpoint APNS Channel and write them securely.

aws_pinpoint_apns_channel (Terraform)

The APNS Channel in Amazon Pinpoint can be configured in Terraform with the resource name aws_pinpoint_apns_channel. The following sections describe 1 example of how to use the resource and its parameters.

Example Usage from GitHub

main.tf#L7
resource "aws_pinpoint_apns_channel" "this" {
  application_id                = var.application_id
  bundle_id                     = var.bundle_id
  certificate                   = var.certificate
  default_authentication_method = var.default_authentication_method
  enabled                       = var.enabled

Review your Terraform file for AWS best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Provides a Pinpoint APNs Channel resource.

Note: All arguments, including certificates and tokens, will be stored in the raw state as plain-text. Read more about sensitive data in state.

AWS::Pinpoint::APNSChannel (CloudFormation)

The APNSChannel in Pinpoint can be configured in CloudFormation with the resource name AWS::Pinpoint::APNSChannel. The following sections describe 9 examples of how to use the resource and its parameters.

Example Usage from GitHub

pinpoint_apnschannel_private_key_not_set.yaml#L8
    Type: AWS::Pinpoint::APNSChannel
    Properties:
      ApplicationId: !Ref PinpointApp
pinpoint_apnschannel_token_key_as_a_literal_in_plaintext.yaml#L8
    Type: AWS::Pinpoint::APNSChannel
    Properties:
      TokenKey: b@d0@u7H70K3n
      ApplicationId: !Ref PinpointApp
pinpoint_apnschannel_private_key_as_a_literal_in_plaintext.yaml#L8
    Type: AWS::Pinpoint::APNSChannel
    Properties:
      PrivateKey: b@d0@u7H70K3n
      ApplicationId: !Ref PinpointApp
pinpoint_apnschannel_token_key_not_set.yaml#L8
    Type: AWS::Pinpoint::APNSChannel
    Properties:
      ApplicationId: !Ref PinpointApp
pinpoint_apnschannel_private_key_from_systems_manager.yaml#L8
    Type: AWS::Pinpoint::APNSChannel
    Properties:
      PrivateKey: '{{resolve:ssm:UnsecureSecretString:1}}'
      ApplicationId: !Ref PinpointApp
awsResouceIconMatches.json#L592
        "resourceType": "AWS::Pinpoint::APNSChannel",
        "filePath": null
      },
      {
        "resourceType": "AWS::Pinpoint::SmsTemplate",
        "filePath": null
PinpointAPNSChannelSpecification.json#L3
    "AWS::Pinpoint::APNSChannel": {
      "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html",
      "Properties": {
        "BundleId": {
          "Required": false,
          "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-bundleid",
template.json#L1487
    "AWS::Pinpoint::APNSChannel": {
      "Type": "AWS::Pinpoint::APNSChannel",
      "Properties": {}
    },
    "AWS::IoTSiteWise::Dashboard": {
      "Type": "AWS::IoTSiteWise::Dashboard",
EPinpointAPNSChannelDefaultNoEcho.json#L12
      "Type": "AWS::Pinpoint::APNSChannel",
      "Properties": {
        "PrivateKey": {
          "Ref": "TestParameter"
        },
        "TokenKey": {

Parameters

ApplicationId The unique identifier for the Amazon Pinpoint application that the APNs channel applies to.
Required: Yes
Type: String
Update requires: Replacement

BundleId The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.
Required: No
Type: String
Update requires: No interruption

Certificate The APNs client certificate that you received from Apple. Specify this value if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.
Required: No
Type: String
Update requires: No interruption

DefaultAuthenticationMethod The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs. Valid options are key or certificate.
Required: No
Type: String
Update requires: No interruption

Enabled Specifies whether to enable the APNs channel for the application.
Required: No
Type: Boolean
Update requires: No interruption

PrivateKey The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.
Required: No
Type: String
Update requires: No interruption

TeamId The identifier that's assigned to your Apple Developer Account team. This identifier is used for APNs tokens.
Required: No
Type: String
Update requires: No interruption

TokenKey The authentication key to use for APNs tokens.
Required: No
Type: String
Update requires: No interruption

TokenKeyId The key identifier that's assigned to your APNs signing key. Specify this value if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.
Required: No
Type: String
Update requires: No interruption

Explanation in CloudFormation Registry

A channel is a type of platform that you can deliver messages to. You can use the APNs channel to send push notification messages to the Apple Push Notification service (APNs). Before you can use Amazon Pinpoint to send notifications to APNs, you have to enable the APNs channel for an Amazon Pinpoint application.

The APNSChannel resource represents the status and authentication settings for the APNs channel for an application.

Frequently asked questions

What is AWS Amazon Pinpoint APNS Channel?

AWS Amazon Pinpoint APNS Channel is a resource for Amazon Pinpoint of Amazon Web Service. Settings can be wrote in Terraform and CloudFormation.

Where can I find the example code for the AWS Amazon Pinpoint APNS Channel?

For Terraform, the niveklabs/aws source code example is useful. See the Terraform Example section for further details.

For CloudFormation, the stelligent/cfn_nag, stelligent/cfn_nag and stelligent/cfn_nag source code examples are useful. See the CloudFormation Example section for further details.