/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.sns.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Sets the attributes of the platform application object for the supported push * notification services, such as APNS and GCM (Firebase Cloud Messaging). For * more information, see Using * Amazon SNS Mobile Push Notifications. For information on configuring * attributes for message delivery status, see Using * Amazon SNS Application Attributes for Message Delivery Status. *
*/ public class SetPlatformApplicationAttributesRequest extends AmazonWebServiceRequest implements Serializable { /** ** PlatformApplicationArn for SetPlatformApplicationAttributes action. *
*/ private String platformApplicationArn; /** ** A map of the platform application attributes. Attributes in this map * include the following: *
*
* PlatformCredential
– The credential received from the
* notification service.
*
* For ADM, PlatformCredential
is 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), PlatformCredential
is
* API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* PlatformApplicationArn for SetPlatformApplicationAttributes action. *
* * @return* PlatformApplicationArn for SetPlatformApplicationAttributes * action. *
*/ public String getPlatformApplicationArn() { return platformApplicationArn; } /** ** PlatformApplicationArn for SetPlatformApplicationAttributes action. *
* * @param platformApplicationArn* PlatformApplicationArn for SetPlatformApplicationAttributes * action. *
*/ public void setPlatformApplicationArn(String platformApplicationArn) { this.platformApplicationArn = platformApplicationArn; } /** ** PlatformApplicationArn for SetPlatformApplicationAttributes action. *
** Returns a reference to this object so that method calls can be chained * together. * * @param platformApplicationArn
* PlatformApplicationArn for SetPlatformApplicationAttributes * action. *
* @return A reference to this updated object so that method calls can be * chained together. */ public SetPlatformApplicationAttributesRequest withPlatformApplicationArn( String platformApplicationArn) { this.platformApplicationArn = platformApplicationArn; 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, PlatformCredential
is 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), PlatformCredential
is
* API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* A map of the platform application attributes. Attributes in this * map include the following: *
*
* PlatformCredential
– The credential received from
* the notification service.
*
* For ADM, PlatformCredential
is 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),
* PlatformCredential
is API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* A map of the platform application attributes. Attributes in this map * include the following: *
*
* PlatformCredential
– The credential received from the
* notification service.
*
* For ADM, PlatformCredential
is 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), PlatformCredential
is
* API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* A map of the platform application attributes. Attributes in * this map include the following: *
*
* PlatformCredential
– The credential received from
* the notification service.
*
* For ADM, PlatformCredential
is 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),
* PlatformCredential
is API key.
*
* PlatformPrincipal
– The principal received from
* the notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* A map of the platform application attributes. Attributes in this map * include the following: *
*
* PlatformCredential
– The credential received from the
* notification service.
*
* For ADM, PlatformCredential
is 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), PlatformCredential
is
* API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param 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, PlatformCredential
is 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),
* PlatformCredential
is API key.
*
* PlatformPrincipal
– The principal received from
* the notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* A map of the platform application attributes. Attributes in this map * include the following: *
*
* PlatformCredential
– The credential received from the
* notification service.
*
* For ADM, PlatformCredential
is 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), PlatformCredential
is
* API key.
*
* PlatformPrincipal
– The principal received from the
* notification service.
*
* For ADM, PlatformPrincipal
is 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.
*
* The method adds a new key-value pair into Attributes parameter, and
* returns a reference to this object so that method calls can be chained
* together.
*
* @param key The key of the entry to be added into Attributes.
* @param value The corresponding value of the entry to be added into
* Attributes.
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public SetPlatformApplicationAttributesRequest addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new java.util.HashMap
* Returns a reference to this object so that method calls can be chained
* together.
*/
public SetPlatformApplicationAttributesRequest clearAttributesEntries() {
this.attributes = null;
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getPlatformApplicationArn() != null)
sb.append("PlatformApplicationArn: " + getPlatformApplicationArn() + ",");
if (getAttributes() != null)
sb.append("Attributes: " + getAttributes());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime
* hashCode
+ ((getPlatformApplicationArn() == null) ? 0 : getPlatformApplicationArn()
.hashCode());
hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SetPlatformApplicationAttributesRequest == false)
return false;
SetPlatformApplicationAttributesRequest other = (SetPlatformApplicationAttributesRequest) obj;
if (other.getPlatformApplicationArn() == null ^ this.getPlatformApplicationArn() == null)
return false;
if (other.getPlatformApplicationArn() != null
&& other.getPlatformApplicationArn().equals(this.getPlatformApplicationArn()) == false)
return false;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null
&& other.getAttributes().equals(this.getAttributes()) == false)
return false;
return true;
}
}