/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace SNS { namespace Model { /** *

Input for SetPlatformApplicationAttributes action.

See * Also:

AWS * API Reference

*/ class SetPlatformApplicationAttributesRequest : public SNSRequest { public: AWS_SNS_API SetPlatformApplicationAttributesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SetPlatformApplicationAttributes"; } AWS_SNS_API Aws::String SerializePayload() const override; protected: AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline const Aws::String& GetPlatformApplicationArn() const{ return m_platformApplicationArn; } /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline bool PlatformApplicationArnHasBeenSet() const { return m_platformApplicationArnHasBeenSet; } /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline void SetPlatformApplicationArn(const Aws::String& value) { m_platformApplicationArnHasBeenSet = true; m_platformApplicationArn = value; } /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline void SetPlatformApplicationArn(Aws::String&& value) { m_platformApplicationArnHasBeenSet = true; m_platformApplicationArn = std::move(value); } /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline void SetPlatformApplicationArn(const char* value) { m_platformApplicationArnHasBeenSet = true; m_platformApplicationArn.assign(value); } /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline SetPlatformApplicationAttributesRequest& WithPlatformApplicationArn(const Aws::String& value) { SetPlatformApplicationArn(value); return *this;} /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline SetPlatformApplicationAttributesRequest& WithPlatformApplicationArn(Aws::String&& value) { SetPlatformApplicationArn(std::move(value)); return *this;} /** *

PlatformApplicationArn for * SetPlatformApplicationAttributes action.

*/ inline SetPlatformApplicationAttributesRequest& WithPlatformApplicationArn(const char* value) { SetPlatformApplicationArn(value); return *this;} /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

A map of the platform application attributes. Attributes in this map include * the following:

  • PlatformCredential – The * credential received from the notification service.

    • For ADM, * PlatformCredentialis client secret.

    • For Apple * Services using certificate credentials, PlatformCredential is * private key.

    • For Apple Services using token credentials, * PlatformCredential is signing key.

    • For GCM * (Firebase Cloud Messaging) using key credentials, there is no * PlatformPrincipal. The PlatformCredential is API * key.

    • For GCM (Firebase Cloud Messaging) using token * credentials, there is no PlatformPrincipal. The * PlatformCredential is a JSON formatted private key file. When using * the Amazon Web Services CLI, the file must be in string format and special * characters must be ignored. To format the file correctly, Amazon SNS recommends * using the following command: SERVICE_JSON=`jq @json <<< cat * service.json`.

  • * PlatformPrincipal – The principal received from the notification * service.

    • For ADM, PlatformPrincipalis client * id.

    • For Apple Services using certificate credentials, * PlatformPrincipal is SSL certificate.

    • For Apple * Services using token credentials, PlatformPrincipal is signing key * ID.

    • For GCM (Firebase Cloud Messaging), there is no * PlatformPrincipal.

  • * EventEndpointCreated – Topic ARN to which * EndpointCreated event notifications are sent.

  • * EventEndpointDeleted – Topic ARN to which * EndpointDeleted event notifications are sent.

  • * EventEndpointUpdated – Topic ARN to which * EndpointUpdate event notifications are sent.

  • * EventDeliveryFailure – Topic ARN to which * DeliveryFailure event notifications are sent upon Direct Publish * delivery failure (permanent) to one of the application's endpoints.

  • *
  • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon * SNS write access to use CloudWatch Logs on your behalf.

  • * FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write * access to use CloudWatch Logs on your behalf.

  • * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of * successfully delivered messages.

The following attributes * only apply to APNs token-based authentication:

  • * ApplePlatformTeamID – The identifier that's assigned to your Apple * developer account team.

  • ApplePlatformBundleID – * The bundle identifier that's assigned to your iOS app.

*/ inline SetPlatformApplicationAttributesRequest& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } private: Aws::String m_platformApplicationArn; bool m_platformApplicationArnHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; }; } // namespace Model } // namespace SNS } // namespace Aws