com.amazonaws.services.sns.model.SetSMSAttributesRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-sns Show documentation
/*
* Copyright 2016-2021 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 javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* The input for the SetSMSAttributes action.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class SetSMSAttributesRequest extends com.amazonaws.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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit
* an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use
* Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the
* message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit
* an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use
* Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the
* message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit,
* submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the
* Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS
* optimizes the message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit
* an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use
* Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the
* message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit,
* submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the
* Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS
* optimizes the message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit
* an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use
* Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the
* message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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.
*
*
*
* By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit,
* submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the
* Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.
*
*
* 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
– (Default) Noncritical messages, such as marketing messages. Amazon SNS
* optimizes the message delivery to incur the lowest cost.
*
*
* -
*
* Transactional
– 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 Monitoring SMS Activity 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;
}
/**
* Add a single Attributes entry
*
* @see SetSMSAttributesRequest#withAttributes
* @returns a reference to this object so that method calls can be chained together.
*/
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.
*
* @return 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. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @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: ").append(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();
}
}