github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sns/platformApplication.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package sns 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an SNS platform application resource 16 // 17 // ## Example Usage 18 // 19 // ### Apple Push Notification Service (APNS) using certificate-based authentication 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := sns.NewPlatformApplication(ctx, "apns_application", &sns.PlatformApplicationArgs{ 35 // Name: pulumi.String("apns_application"), 36 // Platform: pulumi.String("APNS"), 37 // PlatformCredential: pulumi.String("<APNS PRIVATE KEY>"), 38 // PlatformPrincipal: pulumi.String("<APNS CERTIFICATE>"), 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // return nil 44 // }) 45 // } 46 // 47 // ``` 48 // <!--End PulumiCodeChooser --> 49 // 50 // ### Apple Push Notification Service (APNS) using token-based authentication 51 // 52 // <!--Start PulumiCodeChooser --> 53 // ```go 54 // package main 55 // 56 // import ( 57 // 58 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" 59 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 60 // 61 // ) 62 // 63 // func main() { 64 // pulumi.Run(func(ctx *pulumi.Context) error { 65 // _, err := sns.NewPlatformApplication(ctx, "apns_application", &sns.PlatformApplicationArgs{ 66 // Name: pulumi.String("apns_application"), 67 // Platform: pulumi.String("APNS"), 68 // PlatformCredential: pulumi.String("<APNS SIGNING KEY>"), 69 // PlatformPrincipal: pulumi.String("<APNS SIGNING KEY ID>"), 70 // ApplePlatformTeamId: pulumi.String("<APPLE TEAM ID>"), 71 // ApplePlatformBundleId: pulumi.String("<APPLE BUNDLE ID>"), 72 // }) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 // 83 // ### Google Cloud Messaging (GCM) 84 // 85 // <!--Start PulumiCodeChooser --> 86 // ```go 87 // package main 88 // 89 // import ( 90 // 91 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns" 92 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 93 // 94 // ) 95 // 96 // func main() { 97 // pulumi.Run(func(ctx *pulumi.Context) error { 98 // _, err := sns.NewPlatformApplication(ctx, "gcm_application", &sns.PlatformApplicationArgs{ 99 // Name: pulumi.String("gcm_application"), 100 // Platform: pulumi.String("GCM"), 101 // PlatformCredential: pulumi.String("<GCM API KEY>"), 102 // }) 103 // if err != nil { 104 // return err 105 // } 106 // return nil 107 // }) 108 // } 109 // 110 // ``` 111 // <!--End PulumiCodeChooser --> 112 // 113 // ## Import 114 // 115 // Using `pulumi import`, import SNS platform applications using the ARN. For example: 116 // 117 // ```sh 118 // $ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application 119 // ``` 120 type PlatformApplication struct { 121 pulumi.CustomResourceState 122 123 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 124 ApplePlatformBundleId pulumi.StringPtrOutput `pulumi:"applePlatformBundleId"` 125 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 126 ApplePlatformTeamId pulumi.StringPtrOutput `pulumi:"applePlatformTeamId"` 127 // The ARN of the SNS platform application 128 Arn pulumi.StringOutput `pulumi:"arn"` 129 // 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. 130 EventDeliveryFailureTopicArn pulumi.StringPtrOutput `pulumi:"eventDeliveryFailureTopicArn"` 131 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 132 EventEndpointCreatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointCreatedTopicArn"` 133 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 134 EventEndpointDeletedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointDeletedTopicArn"` 135 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 136 EventEndpointUpdatedTopicArn pulumi.StringPtrOutput `pulumi:"eventEndpointUpdatedTopicArn"` 137 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 138 FailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"failureFeedbackRoleArn"` 139 // The friendly name for the SNS platform application 140 Name pulumi.StringOutput `pulumi:"name"` 141 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 142 Platform pulumi.StringOutput `pulumi:"platform"` 143 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 144 PlatformCredential pulumi.StringOutput `pulumi:"platformCredential"` 145 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 146 PlatformPrincipal pulumi.StringPtrOutput `pulumi:"platformPrincipal"` 147 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 148 SuccessFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"successFeedbackRoleArn"` 149 // The sample rate percentage (0-100) of successfully delivered messages. 150 // 151 // The following attributes are needed only when using APNS token credentials: 152 SuccessFeedbackSampleRate pulumi.StringPtrOutput `pulumi:"successFeedbackSampleRate"` 153 } 154 155 // NewPlatformApplication registers a new resource with the given unique name, arguments, and options. 156 func NewPlatformApplication(ctx *pulumi.Context, 157 name string, args *PlatformApplicationArgs, opts ...pulumi.ResourceOption) (*PlatformApplication, error) { 158 if args == nil { 159 return nil, errors.New("missing one or more required arguments") 160 } 161 162 if args.Platform == nil { 163 return nil, errors.New("invalid value for required argument 'Platform'") 164 } 165 if args.PlatformCredential == nil { 166 return nil, errors.New("invalid value for required argument 'PlatformCredential'") 167 } 168 if args.PlatformCredential != nil { 169 args.PlatformCredential = pulumi.ToSecret(args.PlatformCredential).(pulumi.StringInput) 170 } 171 if args.PlatformPrincipal != nil { 172 args.PlatformPrincipal = pulumi.ToSecret(args.PlatformPrincipal).(pulumi.StringPtrInput) 173 } 174 secrets := pulumi.AdditionalSecretOutputs([]string{ 175 "platformCredential", 176 "platformPrincipal", 177 }) 178 opts = append(opts, secrets) 179 opts = internal.PkgResourceDefaultOpts(opts) 180 var resource PlatformApplication 181 err := ctx.RegisterResource("aws:sns/platformApplication:PlatformApplication", name, args, &resource, opts...) 182 if err != nil { 183 return nil, err 184 } 185 return &resource, nil 186 } 187 188 // GetPlatformApplication gets an existing PlatformApplication resource's state with the given name, ID, and optional 189 // state properties that are used to uniquely qualify the lookup (nil if not required). 190 func GetPlatformApplication(ctx *pulumi.Context, 191 name string, id pulumi.IDInput, state *PlatformApplicationState, opts ...pulumi.ResourceOption) (*PlatformApplication, error) { 192 var resource PlatformApplication 193 err := ctx.ReadResource("aws:sns/platformApplication:PlatformApplication", name, id, state, &resource, opts...) 194 if err != nil { 195 return nil, err 196 } 197 return &resource, nil 198 } 199 200 // Input properties used for looking up and filtering PlatformApplication resources. 201 type platformApplicationState struct { 202 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 203 ApplePlatformBundleId *string `pulumi:"applePlatformBundleId"` 204 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 205 ApplePlatformTeamId *string `pulumi:"applePlatformTeamId"` 206 // The ARN of the SNS platform application 207 Arn *string `pulumi:"arn"` 208 // 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. 209 EventDeliveryFailureTopicArn *string `pulumi:"eventDeliveryFailureTopicArn"` 210 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 211 EventEndpointCreatedTopicArn *string `pulumi:"eventEndpointCreatedTopicArn"` 212 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 213 EventEndpointDeletedTopicArn *string `pulumi:"eventEndpointDeletedTopicArn"` 214 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 215 EventEndpointUpdatedTopicArn *string `pulumi:"eventEndpointUpdatedTopicArn"` 216 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 217 FailureFeedbackRoleArn *string `pulumi:"failureFeedbackRoleArn"` 218 // The friendly name for the SNS platform application 219 Name *string `pulumi:"name"` 220 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 221 Platform *string `pulumi:"platform"` 222 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 223 PlatformCredential *string `pulumi:"platformCredential"` 224 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 225 PlatformPrincipal *string `pulumi:"platformPrincipal"` 226 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 227 SuccessFeedbackRoleArn *string `pulumi:"successFeedbackRoleArn"` 228 // The sample rate percentage (0-100) of successfully delivered messages. 229 // 230 // The following attributes are needed only when using APNS token credentials: 231 SuccessFeedbackSampleRate *string `pulumi:"successFeedbackSampleRate"` 232 } 233 234 type PlatformApplicationState struct { 235 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 236 ApplePlatformBundleId pulumi.StringPtrInput 237 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 238 ApplePlatformTeamId pulumi.StringPtrInput 239 // The ARN of the SNS platform application 240 Arn pulumi.StringPtrInput 241 // 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. 242 EventDeliveryFailureTopicArn pulumi.StringPtrInput 243 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 244 EventEndpointCreatedTopicArn pulumi.StringPtrInput 245 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 246 EventEndpointDeletedTopicArn pulumi.StringPtrInput 247 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 248 EventEndpointUpdatedTopicArn pulumi.StringPtrInput 249 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 250 FailureFeedbackRoleArn pulumi.StringPtrInput 251 // The friendly name for the SNS platform application 252 Name pulumi.StringPtrInput 253 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 254 Platform pulumi.StringPtrInput 255 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 256 PlatformCredential pulumi.StringPtrInput 257 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 258 PlatformPrincipal pulumi.StringPtrInput 259 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 260 SuccessFeedbackRoleArn pulumi.StringPtrInput 261 // The sample rate percentage (0-100) of successfully delivered messages. 262 // 263 // The following attributes are needed only when using APNS token credentials: 264 SuccessFeedbackSampleRate pulumi.StringPtrInput 265 } 266 267 func (PlatformApplicationState) ElementType() reflect.Type { 268 return reflect.TypeOf((*platformApplicationState)(nil)).Elem() 269 } 270 271 type platformApplicationArgs struct { 272 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 273 ApplePlatformBundleId *string `pulumi:"applePlatformBundleId"` 274 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 275 ApplePlatformTeamId *string `pulumi:"applePlatformTeamId"` 276 // 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. 277 EventDeliveryFailureTopicArn *string `pulumi:"eventDeliveryFailureTopicArn"` 278 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 279 EventEndpointCreatedTopicArn *string `pulumi:"eventEndpointCreatedTopicArn"` 280 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 281 EventEndpointDeletedTopicArn *string `pulumi:"eventEndpointDeletedTopicArn"` 282 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 283 EventEndpointUpdatedTopicArn *string `pulumi:"eventEndpointUpdatedTopicArn"` 284 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 285 FailureFeedbackRoleArn *string `pulumi:"failureFeedbackRoleArn"` 286 // The friendly name for the SNS platform application 287 Name *string `pulumi:"name"` 288 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 289 Platform string `pulumi:"platform"` 290 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 291 PlatformCredential string `pulumi:"platformCredential"` 292 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 293 PlatformPrincipal *string `pulumi:"platformPrincipal"` 294 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 295 SuccessFeedbackRoleArn *string `pulumi:"successFeedbackRoleArn"` 296 // The sample rate percentage (0-100) of successfully delivered messages. 297 // 298 // The following attributes are needed only when using APNS token credentials: 299 SuccessFeedbackSampleRate *string `pulumi:"successFeedbackSampleRate"` 300 } 301 302 // The set of arguments for constructing a PlatformApplication resource. 303 type PlatformApplicationArgs struct { 304 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 305 ApplePlatformBundleId pulumi.StringPtrInput 306 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 307 ApplePlatformTeamId pulumi.StringPtrInput 308 // 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. 309 EventDeliveryFailureTopicArn pulumi.StringPtrInput 310 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 311 EventEndpointCreatedTopicArn pulumi.StringPtrInput 312 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 313 EventEndpointDeletedTopicArn pulumi.StringPtrInput 314 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 315 EventEndpointUpdatedTopicArn pulumi.StringPtrInput 316 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 317 FailureFeedbackRoleArn pulumi.StringPtrInput 318 // The friendly name for the SNS platform application 319 Name pulumi.StringPtrInput 320 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 321 Platform pulumi.StringInput 322 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 323 PlatformCredential pulumi.StringInput 324 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 325 PlatformPrincipal pulumi.StringPtrInput 326 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 327 SuccessFeedbackRoleArn pulumi.StringPtrInput 328 // The sample rate percentage (0-100) of successfully delivered messages. 329 // 330 // The following attributes are needed only when using APNS token credentials: 331 SuccessFeedbackSampleRate pulumi.StringPtrInput 332 } 333 334 func (PlatformApplicationArgs) ElementType() reflect.Type { 335 return reflect.TypeOf((*platformApplicationArgs)(nil)).Elem() 336 } 337 338 type PlatformApplicationInput interface { 339 pulumi.Input 340 341 ToPlatformApplicationOutput() PlatformApplicationOutput 342 ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput 343 } 344 345 func (*PlatformApplication) ElementType() reflect.Type { 346 return reflect.TypeOf((**PlatformApplication)(nil)).Elem() 347 } 348 349 func (i *PlatformApplication) ToPlatformApplicationOutput() PlatformApplicationOutput { 350 return i.ToPlatformApplicationOutputWithContext(context.Background()) 351 } 352 353 func (i *PlatformApplication) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput { 354 return pulumi.ToOutputWithContext(ctx, i).(PlatformApplicationOutput) 355 } 356 357 // PlatformApplicationArrayInput is an input type that accepts PlatformApplicationArray and PlatformApplicationArrayOutput values. 358 // You can construct a concrete instance of `PlatformApplicationArrayInput` via: 359 // 360 // PlatformApplicationArray{ PlatformApplicationArgs{...} } 361 type PlatformApplicationArrayInput interface { 362 pulumi.Input 363 364 ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput 365 ToPlatformApplicationArrayOutputWithContext(context.Context) PlatformApplicationArrayOutput 366 } 367 368 type PlatformApplicationArray []PlatformApplicationInput 369 370 func (PlatformApplicationArray) ElementType() reflect.Type { 371 return reflect.TypeOf((*[]*PlatformApplication)(nil)).Elem() 372 } 373 374 func (i PlatformApplicationArray) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput { 375 return i.ToPlatformApplicationArrayOutputWithContext(context.Background()) 376 } 377 378 func (i PlatformApplicationArray) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput { 379 return pulumi.ToOutputWithContext(ctx, i).(PlatformApplicationArrayOutput) 380 } 381 382 // PlatformApplicationMapInput is an input type that accepts PlatformApplicationMap and PlatformApplicationMapOutput values. 383 // You can construct a concrete instance of `PlatformApplicationMapInput` via: 384 // 385 // PlatformApplicationMap{ "key": PlatformApplicationArgs{...} } 386 type PlatformApplicationMapInput interface { 387 pulumi.Input 388 389 ToPlatformApplicationMapOutput() PlatformApplicationMapOutput 390 ToPlatformApplicationMapOutputWithContext(context.Context) PlatformApplicationMapOutput 391 } 392 393 type PlatformApplicationMap map[string]PlatformApplicationInput 394 395 func (PlatformApplicationMap) ElementType() reflect.Type { 396 return reflect.TypeOf((*map[string]*PlatformApplication)(nil)).Elem() 397 } 398 399 func (i PlatformApplicationMap) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput { 400 return i.ToPlatformApplicationMapOutputWithContext(context.Background()) 401 } 402 403 func (i PlatformApplicationMap) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput { 404 return pulumi.ToOutputWithContext(ctx, i).(PlatformApplicationMapOutput) 405 } 406 407 type PlatformApplicationOutput struct{ *pulumi.OutputState } 408 409 func (PlatformApplicationOutput) ElementType() reflect.Type { 410 return reflect.TypeOf((**PlatformApplication)(nil)).Elem() 411 } 412 413 func (o PlatformApplicationOutput) ToPlatformApplicationOutput() PlatformApplicationOutput { 414 return o 415 } 416 417 func (o PlatformApplicationOutput) ToPlatformApplicationOutputWithContext(ctx context.Context) PlatformApplicationOutput { 418 return o 419 } 420 421 // The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.). 422 func (o PlatformApplicationOutput) ApplePlatformBundleId() pulumi.StringPtrOutput { 423 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.ApplePlatformBundleId }).(pulumi.StringPtrOutput) 424 } 425 426 // The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters. 427 func (o PlatformApplicationOutput) ApplePlatformTeamId() pulumi.StringPtrOutput { 428 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.ApplePlatformTeamId }).(pulumi.StringPtrOutput) 429 } 430 431 // The ARN of the SNS platform application 432 func (o PlatformApplicationOutput) Arn() pulumi.StringOutput { 433 return o.ApplyT(func(v *PlatformApplication) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 434 } 435 436 // 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. 437 func (o PlatformApplicationOutput) EventDeliveryFailureTopicArn() pulumi.StringPtrOutput { 438 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.EventDeliveryFailureTopicArn }).(pulumi.StringPtrOutput) 439 } 440 441 // The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application. 442 func (o PlatformApplicationOutput) EventEndpointCreatedTopicArn() pulumi.StringPtrOutput { 443 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.EventEndpointCreatedTopicArn }).(pulumi.StringPtrOutput) 444 } 445 446 // The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application. 447 func (o PlatformApplicationOutput) EventEndpointDeletedTopicArn() pulumi.StringPtrOutput { 448 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.EventEndpointDeletedTopicArn }).(pulumi.StringPtrOutput) 449 } 450 451 // The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application. 452 func (o PlatformApplicationOutput) EventEndpointUpdatedTopicArn() pulumi.StringPtrOutput { 453 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.EventEndpointUpdatedTopicArn }).(pulumi.StringPtrOutput) 454 } 455 456 // The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 457 func (o PlatformApplicationOutput) FailureFeedbackRoleArn() pulumi.StringPtrOutput { 458 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.FailureFeedbackRoleArn }).(pulumi.StringPtrOutput) 459 } 460 461 // The friendly name for the SNS platform application 462 func (o PlatformApplicationOutput) Name() pulumi.StringOutput { 463 return o.ApplyT(func(v *PlatformApplication) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 464 } 465 466 // The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms. 467 func (o PlatformApplicationOutput) Platform() pulumi.StringOutput { 468 return o.ApplyT(func(v *PlatformApplication) pulumi.StringOutput { return v.Platform }).(pulumi.StringOutput) 469 } 470 471 // Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) 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. 472 func (o PlatformApplicationOutput) PlatformCredential() pulumi.StringOutput { 473 return o.ApplyT(func(v *PlatformApplication) pulumi.StringOutput { return v.PlatformCredential }).(pulumi.StringOutput) 474 } 475 476 // Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) 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. 477 func (o PlatformApplicationOutput) PlatformPrincipal() pulumi.StringPtrOutput { 478 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.PlatformPrincipal }).(pulumi.StringPtrOutput) 479 } 480 481 // The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf. 482 func (o PlatformApplicationOutput) SuccessFeedbackRoleArn() pulumi.StringPtrOutput { 483 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.SuccessFeedbackRoleArn }).(pulumi.StringPtrOutput) 484 } 485 486 // The sample rate percentage (0-100) of successfully delivered messages. 487 // 488 // The following attributes are needed only when using APNS token credentials: 489 func (o PlatformApplicationOutput) SuccessFeedbackSampleRate() pulumi.StringPtrOutput { 490 return o.ApplyT(func(v *PlatformApplication) pulumi.StringPtrOutput { return v.SuccessFeedbackSampleRate }).(pulumi.StringPtrOutput) 491 } 492 493 type PlatformApplicationArrayOutput struct{ *pulumi.OutputState } 494 495 func (PlatformApplicationArrayOutput) ElementType() reflect.Type { 496 return reflect.TypeOf((*[]*PlatformApplication)(nil)).Elem() 497 } 498 499 func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutput() PlatformApplicationArrayOutput { 500 return o 501 } 502 503 func (o PlatformApplicationArrayOutput) ToPlatformApplicationArrayOutputWithContext(ctx context.Context) PlatformApplicationArrayOutput { 504 return o 505 } 506 507 func (o PlatformApplicationArrayOutput) Index(i pulumi.IntInput) PlatformApplicationOutput { 508 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PlatformApplication { 509 return vs[0].([]*PlatformApplication)[vs[1].(int)] 510 }).(PlatformApplicationOutput) 511 } 512 513 type PlatformApplicationMapOutput struct{ *pulumi.OutputState } 514 515 func (PlatformApplicationMapOutput) ElementType() reflect.Type { 516 return reflect.TypeOf((*map[string]*PlatformApplication)(nil)).Elem() 517 } 518 519 func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutput() PlatformApplicationMapOutput { 520 return o 521 } 522 523 func (o PlatformApplicationMapOutput) ToPlatformApplicationMapOutputWithContext(ctx context.Context) PlatformApplicationMapOutput { 524 return o 525 } 526 527 func (o PlatformApplicationMapOutput) MapIndex(k pulumi.StringInput) PlatformApplicationOutput { 528 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PlatformApplication { 529 return vs[0].(map[string]*PlatformApplication)[vs[1].(string)] 530 }).(PlatformApplicationOutput) 531 } 532 533 func init() { 534 pulumi.RegisterInputType(reflect.TypeOf((*PlatformApplicationInput)(nil)).Elem(), &PlatformApplication{}) 535 pulumi.RegisterInputType(reflect.TypeOf((*PlatformApplicationArrayInput)(nil)).Elem(), PlatformApplicationArray{}) 536 pulumi.RegisterInputType(reflect.TypeOf((*PlatformApplicationMapInput)(nil)).Elem(), PlatformApplicationMap{}) 537 pulumi.RegisterOutputType(PlatformApplicationOutput{}) 538 pulumi.RegisterOutputType(PlatformApplicationArrayOutput{}) 539 pulumi.RegisterOutputType(PlatformApplicationMapOutput{}) 540 }