Platform Application Args
Provides an SNS platform application resource
Example Usage
Apple Push Notification Service (APNS) using certificate-based authentication
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const apnsApplication = new aws.sns.PlatformApplication("apns_application", {
name: "apns_application",
platform: "APNS",
platformCredential: "<APNS PRIVATE KEY>",
platformPrincipal: "<APNS CERTIFICATE>",
});
import pulumi
import pulumi_aws as aws
apns_application = aws.sns.PlatformApplication("apns_application",
name="apns_application",
platform="APNS",
platform_credential="<APNS PRIVATE KEY>",
platform_principal="<APNS CERTIFICATE>")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var apnsApplication = new Aws.Sns.PlatformApplication("apns_application", new()
{
Name = "apns_application",
Platform = "APNS",
PlatformCredential = "<APNS PRIVATE KEY>",
PlatformPrincipal = "<APNS CERTIFICATE>",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sns.NewPlatformApplication(ctx, "apns_application", &sns.PlatformApplicationArgs{
Name: pulumi.String("apns_application"),
Platform: pulumi.String("APNS"),
PlatformCredential: pulumi.String("<APNS PRIVATE KEY>"),
PlatformPrincipal: pulumi.String("<APNS CERTIFICATE>"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sns.PlatformApplication;
import com.pulumi.aws.sns.PlatformApplicationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder()
.name("apns_application")
.platform("APNS")
.platformCredential("<APNS PRIVATE KEY>")
.platformPrincipal("<APNS CERTIFICATE>")
.build());
}
}
resources:
apnsApplication:
type: aws:sns:PlatformApplication
name: apns_application
properties:
name: apns_application
platform: APNS
platformCredential: <APNS PRIVATE KEY>
platformPrincipal: <APNS CERTIFICATE>
Apple Push Notification Service (APNS) using token-based authentication
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const apnsApplication = new aws.sns.PlatformApplication("apns_application", {
name: "apns_application",
platform: "APNS",
platformCredential: "<APNS SIGNING KEY>",
platformPrincipal: "<APNS SIGNING KEY ID>",
applePlatformTeamId: "<APPLE TEAM ID>",
applePlatformBundleId: "<APPLE BUNDLE ID>",
});
import pulumi
import pulumi_aws as aws
apns_application = aws.sns.PlatformApplication("apns_application",
name="apns_application",
platform="APNS",
platform_credential="<APNS SIGNING KEY>",
platform_principal="<APNS SIGNING KEY ID>",
apple_platform_team_id="<APPLE TEAM ID>",
apple_platform_bundle_id="<APPLE BUNDLE ID>")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var apnsApplication = new Aws.Sns.PlatformApplication("apns_application", new()
{
Name = "apns_application",
Platform = "APNS",
PlatformCredential = "<APNS SIGNING KEY>",
PlatformPrincipal = "<APNS SIGNING KEY ID>",
ApplePlatformTeamId = "<APPLE TEAM ID>",
ApplePlatformBundleId = "<APPLE BUNDLE ID>",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sns.NewPlatformApplication(ctx, "apns_application", &sns.PlatformApplicationArgs{
Name: pulumi.String("apns_application"),
Platform: pulumi.String("APNS"),
PlatformCredential: pulumi.String("<APNS SIGNING KEY>"),
PlatformPrincipal: pulumi.String("<APNS SIGNING KEY ID>"),
ApplePlatformTeamId: pulumi.String("<APPLE TEAM ID>"),
ApplePlatformBundleId: pulumi.String("<APPLE BUNDLE ID>"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sns.PlatformApplication;
import com.pulumi.aws.sns.PlatformApplicationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var apnsApplication = new PlatformApplication("apnsApplication", PlatformApplicationArgs.builder()
.name("apns_application")
.platform("APNS")
.platformCredential("<APNS SIGNING KEY>")
.platformPrincipal("<APNS SIGNING KEY ID>")
.applePlatformTeamId("<APPLE TEAM ID>")
.applePlatformBundleId("<APPLE BUNDLE ID>")
.build());
}
}
resources:
apnsApplication:
type: aws:sns:PlatformApplication
name: apns_application
properties:
name: apns_application
platform: APNS
platformCredential: <APNS SIGNING KEY>
platformPrincipal: <APNS SIGNING KEY ID>
applePlatformTeamId: <APPLE TEAM ID>
applePlatformBundleId: <APPLE BUNDLE ID>
Google Cloud Messaging (GCM)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const gcmApplication = new aws.sns.PlatformApplication("gcm_application", {
name: "gcm_application",
platform: "GCM",
platformCredential: "<GCM API KEY>",
});
import pulumi
import pulumi_aws as aws
gcm_application = aws.sns.PlatformApplication("gcm_application",
name="gcm_application",
platform="GCM",
platform_credential="<GCM API KEY>")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var gcmApplication = new Aws.Sns.PlatformApplication("gcm_application", new()
{
Name = "gcm_application",
Platform = "GCM",
PlatformCredential = "<GCM API KEY>",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sns.NewPlatformApplication(ctx, "gcm_application", &sns.PlatformApplicationArgs{
Name: pulumi.String("gcm_application"),
Platform: pulumi.String("GCM"),
PlatformCredential: pulumi.String("<GCM API KEY>"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sns.PlatformApplication;
import com.pulumi.aws.sns.PlatformApplicationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var gcmApplication = new PlatformApplication("gcmApplication", PlatformApplicationArgs.builder()
.name("gcm_application")
.platform("GCM")
.platformCredential("<GCM API KEY>")
.build());
}
}
resources:
gcmApplication:
type: aws:sns:PlatformApplication
name: gcm_application
properties:
name: gcm_application
platform: GCM
platformCredential: <GCM API KEY>
Import
Using pulumi import
, import SNS platform applications using the ARN. For example:
$ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:123456789012:app/GCM/gcm_application
Constructors
Properties
The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
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.
The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
Application Platform credential. See Credential 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.
Application Platform principal. See Principal 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.
The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
The sample rate percentage (0-100) of successfully delivered messages. The following attributes are needed only when using APNS token credentials: