PlatformApplicationArgs

data class PlatformApplicationArgs(val applePlatformBundleId: Output<String>? = null, val applePlatformTeamId: Output<String>? = null, val eventDeliveryFailureTopicArn: Output<String>? = null, val eventEndpointCreatedTopicArn: Output<String>? = null, val eventEndpointDeletedTopicArn: Output<String>? = null, val eventEndpointUpdatedTopicArn: Output<String>? = null, val failureFeedbackRoleArn: Output<String>? = null, val name: Output<String>? = null, val platform: Output<String>? = null, val platformCredential: Output<String>? = null, val platformPrincipal: Output<String>? = null, val successFeedbackRoleArn: Output<String>? = null, val successFeedbackSampleRate: Output<String>? = null) : ConvertibleToJava<PlatformApplicationArgs>

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

Link copied to clipboard
constructor(applePlatformBundleId: Output<String>? = null, applePlatformTeamId: Output<String>? = null, eventDeliveryFailureTopicArn: Output<String>? = null, eventEndpointCreatedTopicArn: Output<String>? = null, eventEndpointDeletedTopicArn: Output<String>? = null, eventEndpointUpdatedTopicArn: Output<String>? = null, failureFeedbackRoleArn: Output<String>? = null, name: Output<String>? = null, platform: Output<String>? = null, platformCredential: Output<String>? = null, platformPrincipal: Output<String>? = null, successFeedbackRoleArn: Output<String>? = null, successFeedbackSampleRate: Output<String>? = null)

Properties

Link copied to clipboard
val applePlatformBundleId: Output<String>? = null

The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).

Link copied to clipboard
val applePlatformTeamId: Output<String>? = null

The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.

Link copied to clipboard

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.

Link copied to clipboard

The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.

Link copied to clipboard

The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.

Link copied to clipboard

The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.

Link copied to clipboard
val failureFeedbackRoleArn: Output<String>? = null

The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.

Link copied to clipboard
val name: Output<String>? = null

The friendly name for the SNS platform application

Link copied to clipboard
val platform: Output<String>? = null

The platform that the app is registered with. See Platform for supported platforms.

Link copied to clipboard
val platformCredential: Output<String>? = null

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.

Link copied to clipboard
val platformPrincipal: Output<String>? = null

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.

Link copied to clipboard
val successFeedbackRoleArn: Output<String>? = null

The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.

Link copied to clipboard
val successFeedbackSampleRate: Output<String>? = null

The sample rate percentage (0-100) of successfully delivered messages. The following attributes are needed only when using APNS token credentials:

Functions

Link copied to clipboard
open override fun toJava(): PlatformApplicationArgs