pub struct Client { /* private fields */ }
Expand description
Client for Amazon Simple Notification Service
Client for invoking operations on Amazon Simple Notification Service. Each operation on Amazon Simple Notification Service is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_sns::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Builder
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_sns::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
§Using the Client
A client has a function for every operation that can be performed by the service.
For example, the AddPermission
operation has
a Client::add_permission
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.add_permission()
.topic_arn("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
Source§impl Client
impl Client
Sourcepub fn add_permission(&self) -> AddPermissionFluentBuilder
pub fn add_permission(&self) -> AddPermissionFluentBuilder
Constructs a fluent builder for the AddPermission
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic whose access control policy you wish to modify.
label(impl Into<String>)
/set_label(Option<String>)
:
required: trueA unique identifier for the new policy statement.
aws_account_id(impl Into<String>)
/set_aws_account_id(Option<Vec::<String>>)
:
required: trueThe Amazon Web Services account IDs of the users (principals) who will be given access to the specified actions. The users must have Amazon Web Services account, but do not need to be signed up for this service.
action_name(impl Into<String>)
/set_action_name(Option<Vec::<String>>)
:
required: trueThe action you want to allow for the specified principal(s).
Valid values: Any Amazon SNS action name, for example
Publish
.
- On success, responds with
AddPermissionOutput
- On failure, responds with
SdkError<AddPermissionError>
Source§impl Client
impl Client
Sourcepub fn check_if_phone_number_is_opted_out(
&self,
) -> CheckIfPhoneNumberIsOptedOutFluentBuilder
pub fn check_if_phone_number_is_opted_out( &self, ) -> CheckIfPhoneNumberIsOptedOutFluentBuilder
Constructs a fluent builder for the CheckIfPhoneNumberIsOptedOut
operation.
- The fluent builder is configurable:
phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: trueThe phone number for which you want to check the opt out status.
- On success, responds with
CheckIfPhoneNumberIsOptedOutOutput
with field(s):is_opted_out(bool)
:Indicates whether the phone number is opted out:
-
true
– The phone number is opted out, meaning you cannot publish SMS messages to it. -
false
– The phone number is opted in, meaning you can publish SMS messages to it.
-
- On failure, responds with
SdkError<CheckIfPhoneNumberIsOptedOutError>
Source§impl Client
impl Client
Sourcepub fn confirm_subscription(&self) -> ConfirmSubscriptionFluentBuilder
pub fn confirm_subscription(&self) -> ConfirmSubscriptionFluentBuilder
Constructs a fluent builder for the ConfirmSubscription
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic for which you wish to confirm a subscription.
token(impl Into<String>)
/set_token(Option<String>)
:
required: trueShort-lived token sent to an endpoint during the
Subscribe
action.authenticate_on_unsubscribe(impl Into<String>)
/set_authenticate_on_unsubscribe(Option<String>)
:
required: falseDisallows unauthenticated unsubscribes of the subscription. If the value of this parameter is
true
and the request has an Amazon Web Services signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires Amazon Web Services authentication.
- On success, responds with
ConfirmSubscriptionOutput
with field(s):subscription_arn(Option<String>)
:The ARN of the created subscription.
- On failure, responds with
SdkError<ConfirmSubscriptionError>
Source§impl Client
impl Client
Sourcepub fn create_platform_application(
&self,
) -> CreatePlatformApplicationFluentBuilder
pub fn create_platform_application( &self, ) -> CreatePlatformApplicationFluentBuilder
Constructs a fluent builder for the CreatePlatformApplication
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueApplication names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long.
platform(impl Into<String>)
/set_platform(Option<String>)
:
required: trueThe following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud Messaging).
attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: trueFor a list of attributes, see
SetPlatformApplicationAttributes
.
- On success, responds with
CreatePlatformApplicationOutput
with field(s):platform_application_arn(Option<String>)
:PlatformApplicationArn
is returned.
- On failure, responds with
SdkError<CreatePlatformApplicationError>
Source§impl Client
impl Client
Sourcepub fn create_platform_endpoint(&self) -> CreatePlatformEndpointFluentBuilder
pub fn create_platform_endpoint(&self) -> CreatePlatformEndpointFluentBuilder
Constructs a fluent builder for the CreatePlatformEndpoint
operation.
- The fluent builder is configurable:
platform_application_arn(impl Into<String>)
/set_platform_application_arn(Option<String>)
:
required: truePlatformApplicationArn
returned from CreatePlatformApplication is used to create a an endpoint.token(impl Into<String>)
/set_token(Option<String>)
:
required: trueUnique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using GCM (Firebase Cloud Messaging) or ADM, the device token equivalent is called the registration ID.
custom_user_data(impl Into<String>)
/set_custom_user_data(Option<String>)
:
required: falseArbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.
attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: falseFor a list of attributes, see
SetEndpointAttributes
.
- On success, responds with
CreatePlatformEndpointOutput
with field(s):endpoint_arn(Option<String>)
:EndpointArn returned from CreateEndpoint action.
- On failure, responds with
SdkError<CreatePlatformEndpointError>
Source§impl Client
impl Client
Sourcepub fn create_sms_sandbox_phone_number(
&self,
) -> CreateSMSSandboxPhoneNumberFluentBuilder
pub fn create_sms_sandbox_phone_number( &self, ) -> CreateSMSSandboxPhoneNumberFluentBuilder
Constructs a fluent builder for the CreateSMSSandboxPhoneNumber
operation.
- The fluent builder is configurable:
phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: trueThe destination phone number to verify. On verification, Amazon SNS adds this phone number to the list of verified phone numbers that you can send SMS messages to.
language_code(LanguageCodeString)
/set_language_code(Option<LanguageCodeString>)
:
required: falseThe language to use for sending the OTP. The default value is
en-US
.
- On success, responds with
CreateSmsSandboxPhoneNumberOutput
- On failure, responds with
SdkError<CreateSMSSandboxPhoneNumberError>
Source§impl Client
impl Client
Sourcepub fn create_topic(&self) -> CreateTopicFluentBuilder
pub fn create_topic(&self) -> CreateTopicFluentBuilder
Constructs a fluent builder for the CreateTopic
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
For a FIFO (first-in-first-out) topic, the name must end with the
.fifo
suffix.attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: falseA map of attributes with their corresponding values.
The following lists names, descriptions, and values of the special request parameters that the
CreateTopic
action uses:-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. -
DisplayName
– The display name to use for a topic with SMS subscriptions. -
FifoTopic
– Set to true to create a FIFO topic. -
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic. -
SignatureVersion
– The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default,SignatureVersion
is set to1
. -
TracingConfig
– Tracing mode of an Amazon SNS topic. By defaultTracingConfig
is set toPassThrough
, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set toActive
, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.
The following attribute applies only to server-side encryption:
-
KmsMasterKeyId
– The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.
The following attributes apply only to FIFO topics:
-
ArchivePolicy
– The policy that sets the retention period for messages stored in the message archive of an Amazon SNS FIFO topic. -
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.-
By default,
ContentBasedDeduplication
is set tofalse
. If you create a FIFO topic and this attribute isfalse
, you must specify a value for theMessageDeduplicationId
parameter for the Publish action. -
When you set
ContentBasedDeduplication
totrue
, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
using the body of the message (but not the attributes of the message).(Optional) To override the generated value, you can specify a value for the
MessageDeduplicationId
parameter for thePublish
action.
-
-
FifoThroughputScope
– Enables higher throughput for your FIFO topic by adjusting the scope of deduplication. This attribute has two possible values:-
Topic
– The scope of message deduplication is across the entire topic. This is the default value and maintains existing behavior, with a maximum throughput of 3000 messages per second or 20MB per second, whichever comes first. -
MessageGroup
– The scope of deduplication is within each individual message group, which enables higher throughput per topic subject to regional quotas. For more information on quotas or to request an increase, see Amazon SNS service quotas in the Amazon Web Services General Reference.
-
-
tags(Tag)
/set_tags(Option<Vec::<Tag>>)
:
required: falseThe list of tags to add to a new topic.
To be able to tag a topic on creation, you must have the
sns:CreateTopic
andsns:TagResource
permissions.data_protection_policy(impl Into<String>)
/set_data_protection_policy(Option<String>)
:
required: falseThe body of the policy document you want to use for this topic.
You can only add one policy per topic.
The policy must be in JSON string format.
Length Constraints: Maximum length of 30,720.
- On success, responds with
CreateTopicOutput
with field(s):topic_arn(Option<String>)
:The Amazon Resource Name (ARN) assigned to the created topic.
- On failure, responds with
SdkError<CreateTopicError>
Source§impl Client
impl Client
Sourcepub fn delete_endpoint(&self) -> DeleteEndpointFluentBuilder
pub fn delete_endpoint(&self) -> DeleteEndpointFluentBuilder
Constructs a fluent builder for the DeleteEndpoint
operation.
- The fluent builder is configurable:
endpoint_arn(impl Into<String>)
/set_endpoint_arn(Option<String>)
:
required: trueEndpointArn
of endpoint to delete.
- On success, responds with
DeleteEndpointOutput
- On failure, responds with
SdkError<DeleteEndpointError>
Source§impl Client
impl Client
Sourcepub fn delete_platform_application(
&self,
) -> DeletePlatformApplicationFluentBuilder
pub fn delete_platform_application( &self, ) -> DeletePlatformApplicationFluentBuilder
Constructs a fluent builder for the DeletePlatformApplication
operation.
- The fluent builder is configurable:
platform_application_arn(impl Into<String>)
/set_platform_application_arn(Option<String>)
:
required: truePlatformApplicationArn
of platform application object to delete.
- On success, responds with
DeletePlatformApplicationOutput
- On failure, responds with
SdkError<DeletePlatformApplicationError>
Source§impl Client
impl Client
Sourcepub fn delete_sms_sandbox_phone_number(
&self,
) -> DeleteSMSSandboxPhoneNumberFluentBuilder
pub fn delete_sms_sandbox_phone_number( &self, ) -> DeleteSMSSandboxPhoneNumberFluentBuilder
Constructs a fluent builder for the DeleteSMSSandboxPhoneNumber
operation.
- The fluent builder is configurable:
phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: trueThe destination phone number to delete.
- On success, responds with
DeleteSmsSandboxPhoneNumberOutput
- On failure, responds with
SdkError<DeleteSMSSandboxPhoneNumberError>
Source§impl Client
impl Client
Sourcepub fn delete_topic(&self) -> DeleteTopicFluentBuilder
pub fn delete_topic(&self) -> DeleteTopicFluentBuilder
Constructs a fluent builder for the DeleteTopic
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic you want to delete.
- On success, responds with
DeleteTopicOutput
- On failure, responds with
SdkError<DeleteTopicError>
Source§impl Client
impl Client
Sourcepub fn get_data_protection_policy(&self) -> GetDataProtectionPolicyFluentBuilder
pub fn get_data_protection_policy(&self) -> GetDataProtectionPolicyFluentBuilder
Constructs a fluent builder for the GetDataProtectionPolicy
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the topic whose
DataProtectionPolicy
you want to get.For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.
- On success, responds with
GetDataProtectionPolicyOutput
with field(s):data_protection_policy(Option<String>)
:Retrieves the
DataProtectionPolicy
in JSON string format.
- On failure, responds with
SdkError<GetDataProtectionPolicyError>
Source§impl Client
impl Client
Sourcepub fn get_endpoint_attributes(&self) -> GetEndpointAttributesFluentBuilder
pub fn get_endpoint_attributes(&self) -> GetEndpointAttributesFluentBuilder
Constructs a fluent builder for the GetEndpointAttributes
operation.
- The fluent builder is configurable:
endpoint_arn(impl Into<String>)
/set_endpoint_arn(Option<String>)
:
required: trueEndpointArn
forGetEndpointAttributes
input.
- On success, responds with
GetEndpointAttributesOutput
with field(s):attributes(Option<HashMap::<String, String>>)
:Attributes include the following:
-
CustomUserData
– arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB. -
Enabled
– flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token. -
Token
– device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.The device token for the iOS platform is returned in lowercase.
-
- On failure, responds with
SdkError<GetEndpointAttributesError>
Source§impl Client
impl Client
Sourcepub fn get_platform_application_attributes(
&self,
) -> GetPlatformApplicationAttributesFluentBuilder
pub fn get_platform_application_attributes( &self, ) -> GetPlatformApplicationAttributesFluentBuilder
Constructs a fluent builder for the GetPlatformApplicationAttributes
operation.
- The fluent builder is configurable:
platform_application_arn(impl Into<String>)
/set_platform_application_arn(Option<String>)
:
required: truePlatformApplicationArn
for GetPlatformApplicationAttributesInput.
- On success, responds with
GetPlatformApplicationAttributesOutput
with field(s):attributes(Option<HashMap::<String, String>>)
:Attributes include the following:
-
AppleCertificateExpiryDate
– The expiry date of the SSL certificate used to configure certificate-based authentication. -
ApplePlatformTeamID
– The Apple developer account ID used to configure token-based authentication. -
ApplePlatformBundleID
– The app identifier used to configure token-based authentication. -
AuthenticationMethod
– Returns the credential type used when sending push notifications from application to APNS/APNS_Sandbox, or application to GCM.-
APNS – Returns the token or certificate.
-
GCM – Returns the token or key.
-
-
EventEndpointCreated
– Topic ARN to which EndpointCreated event notifications should be sent. -
EventEndpointDeleted
– Topic ARN to which EndpointDeleted event notifications should be sent. -
EventEndpointUpdated
– Topic ARN to which EndpointUpdate event notifications should be sent. -
EventDeliveryFailure
– Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application’s endpoints.
-
- On failure, responds with
SdkError<GetPlatformApplicationAttributesError>
Source§impl Client
impl Client
Sourcepub fn get_sms_attributes(&self) -> GetSMSAttributesFluentBuilder
pub fn get_sms_attributes(&self) -> GetSMSAttributesFluentBuilder
Constructs a fluent builder for the GetSMSAttributes
operation.
- The fluent builder is configurable:
attributes(impl Into<String>)
/set_attributes(Option<Vec::<String>>)
:
required: falseA list of the individual attribute names, such as
MonthlySpendLimit
, for which you want values.For all attribute names, see SetSMSAttributes.
If you don’t use this parameter, Amazon SNS returns all SMS attributes.
- On success, responds with
GetSmsAttributesOutput
with field(s):attributes(Option<HashMap::<String, String>>)
:The SMS attribute names and their values.
- On failure, responds with
SdkError<GetSMSAttributesError>
Source§impl Client
impl Client
Sourcepub fn get_sms_sandbox_account_status(
&self,
) -> GetSMSSandboxAccountStatusFluentBuilder
pub fn get_sms_sandbox_account_status( &self, ) -> GetSMSSandboxAccountStatusFluentBuilder
Constructs a fluent builder for the GetSMSSandboxAccountStatus
operation.
- The fluent builder takes no input, just
send
it. - On success, responds with
GetSmsSandboxAccountStatusOutput
with field(s):is_in_sandbox(bool)
:Indicates whether the calling Amazon Web Services account is in the SMS sandbox.
- On failure, responds with
SdkError<GetSMSSandboxAccountStatusError>
Source§impl Client
impl Client
Sourcepub fn get_subscription_attributes(
&self,
) -> GetSubscriptionAttributesFluentBuilder
pub fn get_subscription_attributes( &self, ) -> GetSubscriptionAttributesFluentBuilder
Constructs a fluent builder for the GetSubscriptionAttributes
operation.
- The fluent builder is configurable:
subscription_arn(impl Into<String>)
/set_subscription_arn(Option<String>)
:
required: trueThe ARN of the subscription whose properties you want to get.
- On success, responds with
GetSubscriptionAttributesOutput
with field(s):attributes(Option<HashMap::<String, String>>)
:A map of the subscription’s attributes. Attributes in this map include the following:
-
ConfirmationWasAuthenticated
–true
if the subscription confirmation request was authenticated. -
DeliveryPolicy
– The JSON serialization of the subscription’s delivery policy. -
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults. -
FilterPolicy
– The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide. -
FilterPolicyScope
– This attribute lets you choose the filtering scope by using one of the following string value types:-
MessageAttributes
(default) – The filter is applied on the message attributes. -
MessageBody
– The filter is applied on the message body.
-
-
Owner
– The Amazon Web Services account ID of the subscription’s owner. -
PendingConfirmation
–true
if the subscription hasn’t been confirmed. To confirm a pending subscription, call theConfirmSubscription
action with a confirmation token. -
RawMessageDelivery
–true
if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints. -
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can’t be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. -
SubscriptionArn
– The subscription’s ARN. -
TopicArn
– The topic ARN that the subscription is associated with.
The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:
-
SubscriptionRoleArn
– The ARN of the IAM role that has the following:-
Permission to write to the Firehose delivery stream
-
Amazon SNS listed as a trusted entity
Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.
-
-
- On failure, responds with
SdkError<GetSubscriptionAttributesError>
Source§impl Client
impl Client
Sourcepub fn get_topic_attributes(&self) -> GetTopicAttributesFluentBuilder
pub fn get_topic_attributes(&self) -> GetTopicAttributesFluentBuilder
Constructs a fluent builder for the GetTopicAttributes
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic whose properties you want to get.
- On success, responds with
GetTopicAttributesOutput
with field(s):attributes(Option<HashMap::<String, String>>)
:A map of the topic’s attributes. Attributes in this map include the following:
-
DeliveryPolicy
– The JSON serialization of the topic’s delivery policy. -
DisplayName
– The human-readable name used in theFrom
field for notifications toemail
andemail-json
endpoints. -
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy, taking system defaults into account. -
Owner
– The Amazon Web Services account ID of the topic’s owner. -
Policy
– The JSON serialization of the topic’s access control policy. -
SignatureVersion
– The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS.-
By default,
SignatureVersion
is set to 1. The signature is a Base64-encoded SHA1withRSA signature. -
When you set
SignatureVersion
to 2. Amazon SNS uses a Base64-encoded SHA256withRSA signature.If the API response does not include the
SignatureVersion
attribute, it means that theSignatureVersion
for the topic has value 1.
-
-
SubscriptionsConfirmed
– The number of confirmed subscriptions for the topic. -
SubscriptionsDeleted
– The number of deleted subscriptions for the topic. -
SubscriptionsPending
– The number of subscriptions pending confirmation for the topic. -
TopicArn
– The topic’s ARN. -
TracingConfig
– Tracing mode of an Amazon SNS topic. By defaultTracingConfig
is set toPassThrough
, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set toActive
, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
- The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.
The following attributes apply only to FIFO topics:
-
ArchivePolicy
– The policy that sets the retention period for messages stored in the message archive of an Amazon SNS FIFO topic. -
BeginningArchiveTime
– The earliest starting point at which a message in the topic’s archive can be replayed from. This point in time is based on the configured message retention period set by the topic’s message archiving policy. -
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.-
By default,
ContentBasedDeduplication
is set tofalse
. If you create a FIFO topic and this attribute isfalse
, you must specify a value for theMessageDeduplicationId
parameter for the Publish action. -
When you set
ContentBasedDeduplication
totrue
, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
using the body of the message (but not the attributes of the message).(Optional) To override the generated value, you can specify a value for the
MessageDeduplicationId
parameter for thePublish
action.
-
-
FifoTopic
– When this is set totrue
, a FIFO topic is created.
-
- On failure, responds with
SdkError<GetTopicAttributesError>
Source§impl Client
impl Client
Sourcepub fn list_endpoints_by_platform_application(
&self,
) -> ListEndpointsByPlatformApplicationFluentBuilder
pub fn list_endpoints_by_platform_application( &self, ) -> ListEndpointsByPlatformApplicationFluentBuilder
Constructs a fluent builder for the ListEndpointsByPlatformApplication
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
platform_application_arn(impl Into<String>)
/set_platform_application_arn(Option<String>)
:
required: truePlatformApplicationArn
forListEndpointsByPlatformApplicationInput
action.next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseNextToken
string is used when callingListEndpointsByPlatformApplication
action to retrieve additional records that are available after the first page results.
- On success, responds with
ListEndpointsByPlatformApplicationOutput
with field(s):endpoints(Option<Vec::<Endpoint>>)
:Endpoints returned for
ListEndpointsByPlatformApplication
action.next_token(Option<String>)
:NextToken
string is returned when callingListEndpointsByPlatformApplication
action if additional records are available after the first page results.
- On failure, responds with
SdkError<ListEndpointsByPlatformApplicationError>
Source§impl Client
impl Client
Sourcepub fn list_origination_numbers(&self) -> ListOriginationNumbersFluentBuilder
pub fn list_origination_numbers(&self) -> ListOriginationNumbersFluentBuilder
Constructs a fluent builder for the ListOriginationNumbers
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseToken that the previous
ListOriginationNumbers
request returns.max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of origination numbers to return.
- On success, responds with
ListOriginationNumbersOutput
with field(s):next_token(Option<String>)
:A
NextToken
string is returned when you call theListOriginationNumbers
operation if additional pages of records are available.phone_numbers(Option<Vec::<PhoneNumberInformation>>)
:A list of the calling account’s verified and pending origination numbers.
- On failure, responds with
SdkError<ListOriginationNumbersError>
Source§impl Client
impl Client
Sourcepub fn list_phone_numbers_opted_out(
&self,
) -> ListPhoneNumbersOptedOutFluentBuilder
pub fn list_phone_numbers_opted_out( &self, ) -> ListPhoneNumbersOptedOutFluentBuilder
Constructs a fluent builder for the ListPhoneNumbersOptedOut
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA
NextToken
string is used when you call theListPhoneNumbersOptedOut
action to retrieve additional records that are available after the first page of results.
- On success, responds with
ListPhoneNumbersOptedOutOutput
with field(s):phone_numbers(Option<Vec::<String>>)
:A list of phone numbers that are opted out of receiving SMS messages. The list is paginated, and each page can contain up to 100 phone numbers.
next_token(Option<String>)
:A
NextToken
string is returned when you call theListPhoneNumbersOptedOut
action if additional records are available after the first page of results.
- On failure, responds with
SdkError<ListPhoneNumbersOptedOutError>
Source§impl Client
impl Client
Sourcepub fn list_platform_applications(
&self,
) -> ListPlatformApplicationsFluentBuilder
pub fn list_platform_applications( &self, ) -> ListPlatformApplicationsFluentBuilder
Constructs a fluent builder for the ListPlatformApplications
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseNextToken
string is used when callingListPlatformApplications
action to retrieve additional records that are available after the first page results.
- On success, responds with
ListPlatformApplicationsOutput
with field(s):platform_applications(Option<Vec::<PlatformApplication>>)
:Platform applications returned when calling
ListPlatformApplications
action.next_token(Option<String>)
:NextToken
string is returned when callingListPlatformApplications
action if additional records are available after the first page results.
- On failure, responds with
SdkError<ListPlatformApplicationsError>
Source§impl Client
impl Client
Sourcepub fn list_sms_sandbox_phone_numbers(
&self,
) -> ListSMSSandboxPhoneNumbersFluentBuilder
pub fn list_sms_sandbox_phone_numbers( &self, ) -> ListSMSSandboxPhoneNumbersFluentBuilder
Constructs a fluent builder for the ListSMSSandboxPhoneNumbers
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseToken that the previous
ListSMSSandboxPhoneNumbersInput
request returns.max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of phone numbers to return.
- On success, responds with
ListSmsSandboxPhoneNumbersOutput
with field(s):phone_numbers(Vec::<SmsSandboxPhoneNumber>)
:A list of the calling account’s pending and verified phone numbers.
next_token(Option<String>)
:A
NextToken
string is returned when you call theListSMSSandboxPhoneNumbersInput
operation if additional pages of records are available.
- On failure, responds with
SdkError<ListSMSSandboxPhoneNumbersError>
Source§impl Client
impl Client
Sourcepub fn list_subscriptions(&self) -> ListSubscriptionsFluentBuilder
pub fn list_subscriptions(&self) -> ListSubscriptionsFluentBuilder
Constructs a fluent builder for the ListSubscriptions
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseToken returned by the previous
ListSubscriptions
request.
- On success, responds with
ListSubscriptionsOutput
with field(s):subscriptions(Option<Vec::<Subscription>>)
:A list of subscriptions.
next_token(Option<String>)
:Token to pass along to the next
ListSubscriptions
request. This element is returned if there are more subscriptions to retrieve.
- On failure, responds with
SdkError<ListSubscriptionsError>
Source§impl Client
impl Client
Sourcepub fn list_subscriptions_by_topic(
&self,
) -> ListSubscriptionsByTopicFluentBuilder
pub fn list_subscriptions_by_topic( &self, ) -> ListSubscriptionsByTopicFluentBuilder
Constructs a fluent builder for the ListSubscriptionsByTopic
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic for which you wish to find subscriptions.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseToken returned by the previous
ListSubscriptionsByTopic
request.
- On success, responds with
ListSubscriptionsByTopicOutput
with field(s):subscriptions(Option<Vec::<Subscription>>)
:A list of subscriptions.
next_token(Option<String>)
:Token to pass along to the next
ListSubscriptionsByTopic
request. This element is returned if there are more subscriptions to retrieve.
- On failure, responds with
SdkError<ListSubscriptionsByTopicError>
Source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the topic for which to list tags.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<Vec::<Tag>>)
:The tags associated with the specified topic.
- On failure, responds with
SdkError<ListTagsForResourceError>
Source§impl Client
impl Client
Sourcepub fn list_topics(&self) -> ListTopicsFluentBuilder
pub fn list_topics(&self) -> ListTopicsFluentBuilder
Constructs a fluent builder for the ListTopics
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseToken returned by the previous
ListTopics
request.
- On success, responds with
ListTopicsOutput
with field(s):topics(Option<Vec::<Topic>>)
:A list of topic ARNs.
next_token(Option<String>)
:Token to pass along to the next
ListTopics
request. This element is returned if there are additional topics to retrieve.
- On failure, responds with
SdkError<ListTopicsError>
Source§impl Client
impl Client
Sourcepub fn opt_in_phone_number(&self) -> OptInPhoneNumberFluentBuilder
pub fn opt_in_phone_number(&self) -> OptInPhoneNumberFluentBuilder
Constructs a fluent builder for the OptInPhoneNumber
operation.
- The fluent builder is configurable:
phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: trueThe phone number to opt in. Use E.164 format.
- On success, responds with
OptInPhoneNumberOutput
- On failure, responds with
SdkError<OptInPhoneNumberError>
Source§impl Client
impl Client
Sourcepub fn publish(&self) -> PublishFluentBuilder
pub fn publish(&self) -> PublishFluentBuilder
Constructs a fluent builder for the Publish
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: falseThe topic you want to publish to.
If you don’t specify a value for the
TopicArn
parameter, you must specify a value for thePhoneNumber
orTargetArn
parameters.target_arn(impl Into<String>)
/set_target_arn(Option<String>)
:
required: falseIf you don’t specify a value for the
TargetArn
parameter, you must specify a value for thePhoneNumber
orTopicArn
parameters.phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: falseThe phone number to which you want to deliver an SMS message. Use E.164 format.
If you don’t specify a value for the
PhoneNumber
parameter, you must specify a value for theTargetArn
orTopicArn
parameters.message(impl Into<String>)
/set_message(Option<String>)
:
required: trueThe message you want to send.
If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the
MessageStructure
parameter tojson
and use a JSON object for theMessage
parameter.Constraints:
-
With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).
-
For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters.
If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren’t truncated mid-word but are cut off at whole-word boundaries.
The total size limit for a single SMS
Publish
action is 1,600 characters.
JSON-specific constraints:
-
Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.
-
The values will be parsed (unescaped) before they are used in outgoing messages.
-
Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).
-
Values have a minimum length of 0 (the empty string, “”, is allowed).
-
Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).
-
Non-string values will cause the key to be ignored.
-
Keys that do not correspond to supported transport protocols are ignored.
-
Duplicate keys are not allowed.
-
Failure to parse or validate any key or value in the message will cause the
Publish
call to return an error (no partial delivery).
-
subject(impl Into<String>)
/set_subject(Option<String>)
:
required: falseOptional parameter to be used as the “Subject” line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.
Constraints: Subjects must be UTF-8 text with no line breaks or control characters, and less than 100 characters long.
message_structure(impl Into<String>)
/set_message_structure(Option<String>)
:
required: falseSet
MessageStructure
tojson
if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you setMessageStructure
tojson
, the value of theMessage
parameter must:-
be a syntactically valid JSON object; and
-
contain at least a top-level JSON key of “default” with a value that is a string.
You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., “http”).
Valid value:
json
-
message_attributes(impl Into<String>, MessageAttributeValue)
/set_message_attributes(Option<HashMap::<String, MessageAttributeValue>>)
:
required: falseMessage attributes for Publish action.
message_deduplication_id(impl Into<String>)
/set_message_deduplication_id(Option<String>)
:
required: false-
This parameter applies only to FIFO (first-in-first-out) topics. The
MessageDeduplicationId
can contain up to 128 alphanumeric characters(a-z, A-Z, 0-9)
and punctuation(!“#$%&’()*+,-./:;<=>?@[\]^_`{|}~)
. -
Every message must have a unique
MessageDeduplicationId
, which is a token used for deduplication of sent messages within the 5 minute minimum deduplication interval. -
The scope of deduplication depends on the
FifoThroughputScope
attribute, when set toTopic
the message deduplication scope is across the entire topic, when set toMessageGroup
the message deduplication scope is within each individual message group. -
If a message with a particular
MessageDeduplicationId
is sent successfully, subsequent messages within the deduplication scope and interval, with the sameMessageDeduplicationId
, are accepted successfully but aren’t delivered. -
Every message must have a unique
MessageDeduplicationId
:-
You may provide a
MessageDeduplicationId
explicitly. -
If you aren’t able to provide a
MessageDeduplicationId
and you enableContentBasedDeduplication
for your topic, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
using the body of the message (but not the attributes of the message). -
If you don’t provide a
MessageDeduplicationId
and the topic doesn’t haveContentBasedDeduplication
set, the action fails with an error. -
If the topic has a
ContentBasedDeduplication
set, yourMessageDeduplicationId
overrides the generated one.
-
-
When
ContentBasedDeduplication
is in effect, messages with identical content sent within the deduplication scope and interval are treated as duplicates and only one copy of the message is delivered. -
If you send one message with
ContentBasedDeduplication
enabled, and then another message with aMessageDeduplicationId
that is the same as the one generated for the firstMessageDeduplicationId
, the two messages are treated as duplicates, within the deduplication scope and interval, and only one copy of the message is delivered.
-
message_group_id(impl Into<String>)
/set_message_group_id(Option<String>)
:
required: falseThis parameter applies only to FIFO (first-in-first-out) topics. The
MessageGroupId
can contain up to 128 alphanumeric characters(a-z, A-Z, 0-9)
and punctuation(!“#$%&’()*+,-./:;<=>?@[\]^_`{|}~)
.The
MessageGroupId
is a tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). Every message must include aMessageGroupId
.
- On success, responds with
PublishOutput
with field(s):message_id(Option<String>)
:Unique identifier assigned to the published message.
Length Constraint: Maximum 100 characters
sequence_number(Option<String>)
:This response element applies only to FIFO (first-in-first-out) topics.
The sequence number is a large, non-consecutive number that Amazon SNS assigns to each message. The length of
SequenceNumber
is 128 bits.SequenceNumber
continues to increase for eachMessageGroupId
.
- On failure, responds with
SdkError<PublishError>
Source§impl Client
impl Client
Sourcepub fn publish_batch(&self) -> PublishBatchFluentBuilder
pub fn publish_batch(&self) -> PublishBatchFluentBuilder
Constructs a fluent builder for the PublishBatch
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe Amazon resource name (ARN) of the topic you want to batch publish to.
publish_batch_request_entries(PublishBatchRequestEntry)
/set_publish_batch_request_entries(Option<Vec::<PublishBatchRequestEntry>>)
:
required: trueA list of
PublishBatch
request entries to be sent to the SNS topic.
- On success, responds with
PublishBatchOutput
with field(s):successful(Option<Vec::<PublishBatchResultEntry>>)
:A list of successful
PublishBatch
responses.failed(Option<Vec::<BatchResultErrorEntry>>)
:A list of failed
PublishBatch
responses.
- On failure, responds with
SdkError<PublishBatchError>
Source§impl Client
impl Client
Sourcepub fn put_data_protection_policy(&self) -> PutDataProtectionPolicyFluentBuilder
pub fn put_data_protection_policy(&self) -> PutDataProtectionPolicyFluentBuilder
Constructs a fluent builder for the PutDataProtectionPolicy
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the topic whose
DataProtectionPolicy
you want to add or update.For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.
data_protection_policy(impl Into<String>)
/set_data_protection_policy(Option<String>)
:
required: trueThe JSON serialization of the topic’s
DataProtectionPolicy
.The
DataProtectionPolicy
must be in JSON string format.Length Constraints: Maximum length of 30,720.
- On success, responds with
PutDataProtectionPolicyOutput
- On failure, responds with
SdkError<PutDataProtectionPolicyError>
Source§impl Client
impl Client
Sourcepub fn remove_permission(&self) -> RemovePermissionFluentBuilder
pub fn remove_permission(&self) -> RemovePermissionFluentBuilder
Constructs a fluent builder for the RemovePermission
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic whose access control policy you wish to modify.
label(impl Into<String>)
/set_label(Option<String>)
:
required: trueThe unique label of the statement you want to remove.
- On success, responds with
RemovePermissionOutput
- On failure, responds with
SdkError<RemovePermissionError>
Source§impl Client
impl Client
Sourcepub fn set_endpoint_attributes(&self) -> SetEndpointAttributesFluentBuilder
pub fn set_endpoint_attributes(&self) -> SetEndpointAttributesFluentBuilder
Constructs a fluent builder for the SetEndpointAttributes
operation.
- The fluent builder is configurable:
endpoint_arn(impl Into<String>)
/set_endpoint_arn(Option<String>)
:
required: trueEndpointArn used for
SetEndpointAttributes
action.attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: trueA map of the endpoint attributes. Attributes in this map include the following:
-
CustomUserData
– arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB. -
Enabled
– flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token. -
Token
– device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.
-
- On success, responds with
SetEndpointAttributesOutput
- On failure, responds with
SdkError<SetEndpointAttributesError>
Source§impl Client
impl Client
Sourcepub fn set_platform_application_attributes(
&self,
) -> SetPlatformApplicationAttributesFluentBuilder
pub fn set_platform_application_attributes( &self, ) -> SetPlatformApplicationAttributesFluentBuilder
Constructs a fluent builder for the SetPlatformApplicationAttributes
operation.
- The fluent builder is configurable:
platform_application_arn(impl Into<String>)
/set_platform_application_arn(Option<String>)
:
required: truePlatformApplicationArn
forSetPlatformApplicationAttributes
action.attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: trueA 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) using key credentials, there is no
PlatformPrincipal
. ThePlatformCredential
isAPI key
. -
For GCM (Firebase Cloud Messaging) using token credentials, there is no
PlatformPrincipal
. ThePlatformCredential
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,
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 whichEndpointCreated
event notifications are sent. -
EventEndpointDeleted
– Topic ARN to whichEndpointDeleted
event notifications are sent. -
EventEndpointUpdated
– Topic ARN to whichEndpointUpdate
event notifications are sent. -
EventDeliveryFailure
– Topic ARN to whichDeliveryFailure
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.
-
- On success, responds with
SetPlatformApplicationAttributesOutput
- On failure, responds with
SdkError<SetPlatformApplicationAttributesError>
Source§impl Client
impl Client
Sourcepub fn set_sms_attributes(&self) -> SetSMSAttributesFluentBuilder
pub fn set_sms_attributes(&self) -> SetSMSAttributesFluentBuilder
Constructs a fluent builder for the SetSMSAttributes
operation.
- The fluent builder is configurable:
attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: trueThe default settings for sending SMS messages from your Amazon Web Services 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 to0
. To write logs for 10% of your successful deliveries, set it to10
.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 Amazon Web Services 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 principal to perform the
s3:PutObject
ands3:GetBucketLocation
actions.For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.
-
- On success, responds with
SetSmsAttributesOutput
- On failure, responds with
SdkError<SetSMSAttributesError>
Source§impl Client
impl Client
Sourcepub fn set_subscription_attributes(
&self,
) -> SetSubscriptionAttributesFluentBuilder
pub fn set_subscription_attributes( &self, ) -> SetSubscriptionAttributesFluentBuilder
Constructs a fluent builder for the SetSubscriptionAttributes
operation.
- The fluent builder is configurable:
subscription_arn(impl Into<String>)
/set_subscription_arn(Option<String>)
:
required: trueThe ARN of the subscription to modify.
attribute_name(impl Into<String>)
/set_attribute_name(Option<String>)
:
required: trueA map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that this action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. -
FilterPolicy
– The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic. -
FilterPolicyScope
– This attribute lets you choose the filtering scope by using one of the following string value types:-
MessageAttributes
(default) – The filter is applied on the message attributes. -
MessageBody
– The filter is applied on the message body.
-
-
RawMessageDelivery
– When set totrue
, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata. -
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can’t be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:
-
SubscriptionRoleArn
– The ARN of the IAM role that has the following:-
Permission to write to the Firehose delivery stream
-
Amazon SNS listed as a trusted entity
Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.
-
-
attribute_value(impl Into<String>)
/set_attribute_value(Option<String>)
:
required: falseThe new value for the attribute in JSON format.
- On success, responds with
SetSubscriptionAttributesOutput
- On failure, responds with
SdkError<SetSubscriptionAttributesError>
Source§impl Client
impl Client
Sourcepub fn set_topic_attributes(&self) -> SetTopicAttributesFluentBuilder
pub fn set_topic_attributes(&self) -> SetTopicAttributesFluentBuilder
Constructs a fluent builder for the SetTopicAttributes
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic to modify.
attribute_name(impl Into<String>)
/set_attribute_name(Option<String>)
:
required: trueA map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the
SetTopicAttributes
action uses:-
ApplicationSuccessFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to a platform application endpoint. -
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. -
DisplayName
– The display name to use for a topic with SMS subscriptions. -
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic. -
TracingConfig
– Tracing mode of an Amazon SNS topic. By defaultTracingConfig
is set toPassThrough
, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set toActive
, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics. -
HTTP
-
HTTPSuccessFeedbackRoleArn
– Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an HTTP endpoint. -
HTTPSuccessFeedbackSampleRate
– Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an HTTP endpoint. -
HTTPFailureFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an HTTP endpoint.
-
-
Amazon Kinesis Data Firehose
-
FirehoseSuccessFeedbackRoleArn
– Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint. -
FirehoseSuccessFeedbackSampleRate
– Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint. -
FirehoseFailureFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon Kinesis Data Firehose endpoint.
-
-
Lambda
-
LambdaSuccessFeedbackRoleArn
– Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Lambda endpoint. -
LambdaSuccessFeedbackSampleRate
– Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Lambda endpoint. -
LambdaFailureFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Lambda endpoint.
-
-
Platform application endpoint
-
ApplicationSuccessFeedbackRoleArn
– Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint. -
ApplicationSuccessFeedbackSampleRate
– Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint. -
ApplicationFailureFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon Web Services application endpoint.
In addition to being able to configure topic attributes for message delivery status of notification messages sent to Amazon SNS application endpoints, you can also configure application attributes for the delivery status of push notification messages sent to push notification services.
For example, For more information, see Using Amazon SNS Application Attributes for Message Delivery Status.
-
-
Amazon SQS
-
SQSSuccessFeedbackRoleArn
– Indicates successful message delivery status for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint. -
SQSSuccessFeedbackSampleRate
– Indicates percentage of successful messages to sample for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint. -
SQSFailureFeedbackRoleArn
– Indicates failed message delivery status for an Amazon SNS topic that is subscribed to an Amazon SQS endpoint.
-
The
SuccessFeedbackRoleArn and FailureFeedbackRoleArn attributes are used to give Amazon SNS write access to use CloudWatch Logs on your behalf. The SuccessFeedbackSampleRate attribute is for specifying the sample rate percentage (0-100) of successfully delivered messages. After you configure the FailureFeedbackRoleArn attribute, then all failed message deliveries generate CloudWatch Logs. The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
– The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference. -
SignatureVersion
– The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default,SignatureVersion
is set to1
.
The following attribute applies only to FIFO topics:
-
ArchivePolicy
– The policy that sets the retention period for messages stored in the message archive of an Amazon SNS FIFO topic. -
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.-
By default,
ContentBasedDeduplication
is set tofalse
. If you create a FIFO topic and this attribute isfalse
, you must specify a value for theMessageDeduplicationId
parameter for the Publish action. -
When you set
ContentBasedDeduplication
totrue
, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
using the body of the message (but not the attributes of the message).(Optional) To override the generated value, you can specify a value for the
MessageDeduplicationId
parameter for thePublish
action.
-
-
FifoThroughputScope
– Enables higher throughput for your FIFO topic by adjusting the scope of deduplication. This attribute has two possible values:-
Topic
– The scope of message deduplication is across the entire topic. This is the default value and maintains existing behavior, with a maximum throughput of 3000 messages per second or 20MB per second, whichever comes first. -
MessageGroup
– The scope of deduplication is within each individual message group, which enables higher throughput per topic subject to regional quotas. For more information on quotas or to request an increase, see Amazon SNS service quotas in the Amazon Web Services General Reference.
-
-
attribute_value(impl Into<String>)
/set_attribute_value(Option<String>)
:
required: falseThe new value for the attribute.
- On success, responds with
SetTopicAttributesOutput
- On failure, responds with
SdkError<SetTopicAttributesError>
Source§impl Client
impl Client
Sourcepub fn subscribe(&self) -> SubscribeFluentBuilder
pub fn subscribe(&self) -> SubscribeFluentBuilder
Constructs a fluent builder for the Subscribe
operation.
- The fluent builder is configurable:
topic_arn(impl Into<String>)
/set_topic_arn(Option<String>)
:
required: trueThe ARN of the topic you want to subscribe to.
protocol(impl Into<String>)
/set_protocol(Option<String>)
:
required: trueThe protocol that you want to use. Supported protocols include:
-
http
– delivery of JSON-encoded message via HTTP POST -
https
– delivery of JSON-encoded message via HTTPS POST -
email
– delivery of message via SMTP -
email-json
– delivery of JSON-encoded message via SMTP -
sms
– delivery of message via SMS -
sqs
– delivery of JSON-encoded message to an Amazon SQS queue -
application
– delivery of JSON-encoded message to an EndpointArn for a mobile app and device -
lambda
– delivery of JSON-encoded message to an Lambda function -
firehose
– delivery of JSON-encoded message to an Amazon Kinesis Data Firehose delivery stream.
-
endpoint(impl Into<String>)
/set_endpoint(Option<String>)
:
required: falseThe endpoint that you want to receive notifications. Endpoints vary by protocol:
-
For the
http
protocol, the (public) endpoint is a URL beginning withhttp://
. -
For the
https
protocol, the (public) endpoint is a URL beginning withhttps://
. -
For the
email
protocol, the endpoint is an email address. -
For the
email-json
protocol, the endpoint is an email address. -
For the
sms
protocol, the endpoint is a phone number of an SMS-enabled device. -
For the
sqs
protocol, the endpoint is the ARN of an Amazon SQS queue. -
For the
application
protocol, the endpoint is the EndpointArn of a mobile app and device. -
For the
lambda
protocol, the endpoint is the ARN of an Lambda function. -
For the
firehose
protocol, the endpoint is the ARN of an Amazon Kinesis Data Firehose delivery stream.
-
attributes(impl Into<String>, impl Into<String>)
/set_attributes(Option<HashMap::<String, String>>)
:
required: falseA map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the
Subscribe
action uses:-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. -
FilterPolicy
– The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic. -
FilterPolicyScope
– This attribute lets you choose the filtering scope by using one of the following string value types:-
MessageAttributes
(default) – The filter is applied on the message attributes. -
MessageBody
– The filter is applied on the message body.
-
-
RawMessageDelivery
– When set totrue
, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata. -
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can’t be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:
-
SubscriptionRoleArn
– The ARN of the IAM role that has the following:-
Permission to write to the Firehose delivery stream
-
Amazon SNS listed as a trusted entity
Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.
-
The following attributes apply only to FIFO topics:
-
ReplayPolicy
– Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic. -
ReplayStatus
– Retrieves the status of the subscription message replay, which can be one of the following:-
Completed
– The replay has successfully redelivered all messages, and is now delivering newly published messages. If an ending point was specified in theReplayPolicy
then the subscription will no longer receive newly published messages. -
In progress
– The replay is currently replaying the selected messages. -
Failed
– The replay was unable to complete. -
Pending
– The default state while the replay initiates.
-
-
return_subscription_arn(bool)
/set_return_subscription_arn(Option<bool>)
:
required: falseSets whether the response from the
Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.If you set this parameter to
true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes thepending subscription
ARN value for subscriptions that aren’t yet confirmed. A subscription becomes confirmed when the subscriber calls theConfirmSubscription
action with a confirmation token.The default value is
false
.
- On success, responds with
SubscribeOutput
with field(s):subscription_arn(Option<String>)
:The ARN of the subscription if it is confirmed, or the string “pending confirmation” if the subscription requires confirmation. However, if the API request parameter
ReturnSubscriptionArn
is true, then the value is always the subscription ARN, even if the subscription requires confirmation.
- On failure, responds with
SdkError<SubscribeError>
Source§impl Client
impl Client
Sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the topic to which to add tags.
tags(Tag)
/set_tags(Option<Vec::<Tag>>)
:
required: trueThe tags to be added to the specified topic. A tag consists of a required key and an optional value.
- On success, responds with
TagResourceOutput
- On failure, responds with
SdkError<TagResourceError>
Source§impl Client
impl Client
Sourcepub fn unsubscribe(&self) -> UnsubscribeFluentBuilder
pub fn unsubscribe(&self) -> UnsubscribeFluentBuilder
Constructs a fluent builder for the Unsubscribe
operation.
- The fluent builder is configurable:
subscription_arn(impl Into<String>)
/set_subscription_arn(Option<String>)
:
required: trueThe ARN of the subscription to be deleted.
- On success, responds with
UnsubscribeOutput
- On failure, responds with
SdkError<UnsubscribeError>
Source§impl Client
impl Client
Sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the topic from which to remove tags.
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueThe list of tag keys to remove from the specified topic.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
Source§impl Client
impl Client
Sourcepub fn verify_sms_sandbox_phone_number(
&self,
) -> VerifySMSSandboxPhoneNumberFluentBuilder
pub fn verify_sms_sandbox_phone_number( &self, ) -> VerifySMSSandboxPhoneNumberFluentBuilder
Constructs a fluent builder for the VerifySMSSandboxPhoneNumber
operation.
- The fluent builder is configurable:
phone_number(impl Into<String>)
/set_phone_number(Option<String>)
:
required: trueThe destination phone number to verify.
one_time_password(impl Into<String>)
/set_one_time_password(Option<String>)
:
required: trueThe OTP sent to the destination number from the
CreateSMSSandBoxPhoneNumber
call.
- On success, responds with
VerifySmsSandboxPhoneNumberOutput
- On failure, responds with
SdkError<VerifySMSSandboxPhoneNumberError>
Source§impl Client
impl Client
Sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
Source§impl Client
impl Client
Sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);