com.amazonaws.services.sns.model.SetSMSAttributesRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-sns Show documentation
/*
* Copyright 2011-2016 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;
/**
*
* The input for the SetSMSAttributes action.
*
*/
public class SetSMSAttributesRequest extends AmazonWebServiceRequest implements
Serializable, Cloneable {
/**
*
* The default settings for sending SMS messages from your account. You can
* set values for the following attribute names:
*
*
* MonthlySpendLimit
– The maximum amount in USD that you are
* willing to spend each month to send SMS messages. When Amazon SNS
* determines that sending an SMS message would incur a cost that exceeds
* this limit, it stops sending SMS messages within minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit being
* crossed. During that interval, if you continue to send SMS messages, you
* will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that allows
* Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For
* each SMS message that you send, Amazon SNS writes a log that includes the
* message price, the success or failure status, the reason for failure (if
* the message failed), the message dwell time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For example,
* to write logs only for failed deliveries, set this value to
* 0
. To write logs for 10% of your successful deliveries, set
* it to 10
.
*
*
* DefaultSenderID
– A string, such as your business brand,
* that is displayed as the sender on the receiving device. Support for
* sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric
* characters, and it must contain at least one letter.
*
*
* DefaultSMSType
– The type of SMS message that you will send
* by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the lowest
* cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that support
* customer transactions, such as one-time passcodes for multi-factor
* authentication. Amazon SNS optimizes the message delivery to achieve the
* highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3 bucket to
* receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS
* will deliver a usage report as a CSV file to the bucket. The report
* includes the following information for each SMS message that was
* successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too long for
* a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows the
* Amazon SNS service principle to perform the s3:PutObject
and
* s3:GetBucketLocation
actions.
*
*
* For an example bucket policy and usage report, see Viewing
* Statistics About SMS Message Delivery in the Amazon SNS Developer
* Guide.
*
*/
private com.amazonaws.internal.SdkInternalMap attributes;
/**
*
* The default settings for sending SMS messages from your account. You can
* set values for the following attribute names:
*
*
* MonthlySpendLimit
– The maximum amount in USD that you are
* willing to spend each month to send SMS messages. When Amazon SNS
* determines that sending an SMS message would incur a cost that exceeds
* this limit, it stops sending SMS messages within minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit being
* crossed. During that interval, if you continue to send SMS messages, you
* will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that allows
* Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For
* each SMS message that you send, Amazon SNS writes a log that includes the
* message price, the success or failure status, the reason for failure (if
* the message failed), the message dwell time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For example,
* to write logs only for failed deliveries, set this value to
* 0
. To write logs for 10% of your successful deliveries, set
* it to 10
.
*
*
* DefaultSenderID
– A string, such as your business brand,
* that is displayed as the sender on the receiving device. Support for
* sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric
* characters, and it must contain at least one letter.
*
*
* DefaultSMSType
– The type of SMS message that you will send
* by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the lowest
* cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that support
* customer transactions, such as one-time passcodes for multi-factor
* authentication. Amazon SNS optimizes the message delivery to achieve the
* highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3 bucket to
* receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS
* will deliver a usage report as a CSV file to the bucket. The report
* includes the following information for each SMS message that was
* successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too long for
* a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows the
* Amazon SNS service principle to perform the s3:PutObject
and
* s3:GetBucketLocation
actions.
*
*
* For an example bucket policy and usage report, see Viewing
* Statistics About SMS Message Delivery in the Amazon SNS Developer
* Guide.
*
*
* @return The default settings for sending SMS messages from your account.
* You can set values for the following attribute names:
*
* MonthlySpendLimit
– The maximum amount in USD that
* you are willing to spend each month to send SMS messages. When
* Amazon SNS determines that sending an SMS message would incur a
* cost that exceeds this limit, it stops sending SMS messages
* within minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit
* being crossed. During that interval, if you continue to send SMS
* messages, you will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that
* allows Amazon SNS to write logs about SMS deliveries in
* CloudWatch Logs. For each SMS message that you send, Amazon SNS
* writes a log that includes the message price, the success or
* failure status, the reason for failure (if the message failed),
* the message dwell time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage
* of successful SMS deliveries for which Amazon SNS will write logs
* in CloudWatch Logs. The value can be an integer from 0 - 100. For
* example, to write logs only for failed deliveries, set this value
* to 0
. To write logs for 10% of your successful
* deliveries, set it to 10
.
*
*
* DefaultSenderID
– A string, such as your business
* brand, that is displayed as the sender on the receiving device.
* Support for sender IDs varies by country. The sender ID can be 1
* - 11 alphanumeric characters, and it must contain at least one
* letter.
*
*
* DefaultSMSType
– The type of SMS message that you
* will send by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as
* marketing messages. Amazon SNS optimizes the message delivery to
* incur the lowest cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that
* support customer transactions, such as one-time passcodes for
* multi-factor authentication. Amazon SNS optimizes the message
* delivery to achieve the highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3
* bucket to receive daily SMS usage reports from Amazon SNS. Each
* day, Amazon SNS will deliver a usage report as a CSV file to the
* bucket. The report includes the following information for each
* SMS message that was successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too
* long for a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows
* the Amazon SNS service principle to perform the
* s3:PutObject
and s3:GetBucketLocation
* actions.
*
*
* For an example bucket policy and usage report, see Viewing Statistics About SMS Message Delivery in the
* Amazon SNS Developer Guide.
*/
public java.util.Map getAttributes() {
if (attributes == null) {
attributes = new com.amazonaws.internal.SdkInternalMap();
}
return attributes;
}
/**
*
* The default settings for sending SMS messages from your account. You can
* set values for the following attribute names:
*
*
* MonthlySpendLimit
– The maximum amount in USD that you are
* willing to spend each month to send SMS messages. When Amazon SNS
* determines that sending an SMS message would incur a cost that exceeds
* this limit, it stops sending SMS messages within minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit being
* crossed. During that interval, if you continue to send SMS messages, you
* will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that allows
* Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For
* each SMS message that you send, Amazon SNS writes a log that includes the
* message price, the success or failure status, the reason for failure (if
* the message failed), the message dwell time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For example,
* to write logs only for failed deliveries, set this value to
* 0
. To write logs for 10% of your successful deliveries, set
* it to 10
.
*
*
* DefaultSenderID
– A string, such as your business brand,
* that is displayed as the sender on the receiving device. Support for
* sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric
* characters, and it must contain at least one letter.
*
*
* DefaultSMSType
– The type of SMS message that you will send
* by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the lowest
* cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that support
* customer transactions, such as one-time passcodes for multi-factor
* authentication. Amazon SNS optimizes the message delivery to achieve the
* highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3 bucket to
* receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS
* will deliver a usage report as a CSV file to the bucket. The report
* includes the following information for each SMS message that was
* successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too long for
* a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows the
* Amazon SNS service principle to perform the s3:PutObject
and
* s3:GetBucketLocation
actions.
*
*
* For an example bucket policy and usage report, see Viewing
* Statistics About SMS Message Delivery in the Amazon SNS Developer
* Guide.
*
*
* @param attributes
* The default settings for sending SMS messages from your account.
* You can set values for the following attribute names:
*
* MonthlySpendLimit
– The maximum amount in USD that
* you are willing to spend each month to send SMS messages. When
* Amazon SNS determines that sending an SMS message would incur a
* cost that exceeds this limit, it stops sending SMS messages within
* minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit
* being crossed. During that interval, if you continue to send SMS
* messages, you will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that
* allows Amazon SNS to write logs about SMS deliveries in CloudWatch
* Logs. For each SMS message that you send, Amazon SNS writes a log
* that includes the message price, the success or failure status,
* the reason for failure (if the message failed), the message dwell
* time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For
* example, to write logs only for failed deliveries, set this value
* to 0
. To write logs for 10% of your successful
* deliveries, set it to 10
.
*
*
* DefaultSenderID
– A string, such as your business
* brand, that is displayed as the sender on the receiving device.
* Support for sender IDs varies by country. The sender ID can be 1 -
* 11 alphanumeric characters, and it must contain at least one
* letter.
*
*
* DefaultSMSType
– The type of SMS message that you
* will send by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the
* lowest cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that
* support customer transactions, such as one-time passcodes for
* multi-factor authentication. Amazon SNS optimizes the message
* delivery to achieve the highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3
* bucket to receive daily SMS usage reports from Amazon SNS. Each
* day, Amazon SNS will deliver a usage report as a CSV file to the
* bucket. The report includes the following information for each SMS
* message that was successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too
* long for a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows
* the Amazon SNS service principle to perform the
* s3:PutObject
and s3:GetBucketLocation
* actions.
*
*
* For an example bucket policy and usage report, see Viewing Statistics About SMS Message Delivery in the
* Amazon SNS Developer Guide.
*/
public void setAttributes(java.util.Map attributes) {
this.attributes = attributes == null ? null
: new com.amazonaws.internal.SdkInternalMap(
attributes);
}
/**
*
* The default settings for sending SMS messages from your account. You can
* set values for the following attribute names:
*
*
* MonthlySpendLimit
– The maximum amount in USD that you are
* willing to spend each month to send SMS messages. When Amazon SNS
* determines that sending an SMS message would incur a cost that exceeds
* this limit, it stops sending SMS messages within minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit being
* crossed. During that interval, if you continue to send SMS messages, you
* will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that allows
* Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For
* each SMS message that you send, Amazon SNS writes a log that includes the
* message price, the success or failure status, the reason for failure (if
* the message failed), the message dwell time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For example,
* to write logs only for failed deliveries, set this value to
* 0
. To write logs for 10% of your successful deliveries, set
* it to 10
.
*
*
* DefaultSenderID
– A string, such as your business brand,
* that is displayed as the sender on the receiving device. Support for
* sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric
* characters, and it must contain at least one letter.
*
*
* DefaultSMSType
– The type of SMS message that you will send
* by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the lowest
* cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that support
* customer transactions, such as one-time passcodes for multi-factor
* authentication. Amazon SNS optimizes the message delivery to achieve the
* highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3 bucket to
* receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS
* will deliver a usage report as a CSV file to the bucket. The report
* includes the following information for each SMS message that was
* successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too long for
* a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows the
* Amazon SNS service principle to perform the s3:PutObject
and
* s3:GetBucketLocation
actions.
*
*
* For an example bucket policy and usage report, see Viewing
* Statistics About SMS Message Delivery in the Amazon SNS Developer
* Guide.
*
*
* @param attributes
* The default settings for sending SMS messages from your account.
* You can set values for the following attribute names:
*
* MonthlySpendLimit
– The maximum amount in USD that
* you are willing to spend each month to send SMS messages. When
* Amazon SNS determines that sending an SMS message would incur a
* cost that exceeds this limit, it stops sending SMS messages within
* minutes.
*
*
*
* Amazon SNS stops sending SMS messages within minutes of the limit
* being crossed. During that interval, if you continue to send SMS
* messages, you will incur costs that exceed your limit.
*
*
*
* DeliveryStatusIAMRole
– The ARN of the IAM role that
* allows Amazon SNS to write logs about SMS deliveries in CloudWatch
* Logs. For each SMS message that you send, Amazon SNS writes a log
* that includes the message price, the success or failure status,
* the reason for failure (if the message failed), the message dwell
* time, and other information.
*
*
* DeliveryStatusSuccessSamplingRate
– The percentage of
* successful SMS deliveries for which Amazon SNS will write logs in
* CloudWatch Logs. The value can be an integer from 0 - 100. For
* example, to write logs only for failed deliveries, set this value
* to 0
. To write logs for 10% of your successful
* deliveries, set it to 10
.
*
*
* DefaultSenderID
– A string, such as your business
* brand, that is displayed as the sender on the receiving device.
* Support for sender IDs varies by country. The sender ID can be 1 -
* 11 alphanumeric characters, and it must contain at least one
* letter.
*
*
* DefaultSMSType
– The type of SMS message that you
* will send by default. You can assign the following values:
*
*
* -
*
* Promotional
– Noncritical messages, such as marketing
* messages. Amazon SNS optimizes the message delivery to incur the
* lowest cost.
*
*
* -
*
* Transactional
– (Default) Critical messages that
* support customer transactions, such as one-time passcodes for
* multi-factor authentication. Amazon SNS optimizes the message
* delivery to achieve the highest reliability.
*
*
*
*
* UsageReportS3Bucket
– The name of the Amazon S3
* bucket to receive daily SMS usage reports from Amazon SNS. Each
* day, Amazon SNS will deliver a usage report as a CSV file to the
* bucket. The report includes the following information for each SMS
* message that was successfully delivered by your account:
*
*
* -
*
* Time that the message was published (in UTC)
*
*
* -
*
* Message ID
*
*
* -
*
* Destination phone number
*
*
* -
*
* Message type
*
*
* -
*
* Delivery status
*
*
* -
*
* Message price (in USD)
*
*
* -
*
* Part number (a message is split into multiple parts if it is too
* long for a single message)
*
*
* -
*
* Total number of parts
*
*
*
*
* To receive the report, the bucket must have a policy that allows
* the Amazon SNS service principle to perform the
* s3:PutObject
and s3:GetBucketLocation
* actions.
*
*
* For an example bucket policy and usage report, see Viewing Statistics About SMS Message Delivery in the
* Amazon SNS Developer Guide.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public SetSMSAttributesRequest withAttributes(
java.util.Map attributes) {
setAttributes(attributes);
return this;
}
public SetSMSAttributesRequest addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new com.amazonaws.internal.SdkInternalMap();
}
if (this.attributes.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.attributes.put(key, value);
return this;
}
/**
* Removes all the entries added into Attributes. <p> Returns a reference
* to this object so that method calls can be chained together.
*/
public SetSMSAttributesRequest 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 (getAttributes() != null)
sb.append("Attributes: " + getAttributes());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SetSMSAttributesRequest == false)
return false;
SetSMSAttributesRequest other = (SetSMSAttributesRequest) obj;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null
&& other.getAttributes().equals(this.getAttributes()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getAttributes() == null) ? 0 : getAttributes().hashCode());
return hashCode;
}
@Override
public SetSMSAttributesRequest clone() {
return (SetSMSAttributesRequest) super.clone();
}
}