/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.sns.model; import java.io.Serializable; /** *
* Response for GetTopicAttributes action. *
*/ public class GetTopicAttributesResult implements Serializable { /** ** 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 the
* From
field for notifications to email
and
* email-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 the SignatureVersion
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
* default TracingConfig
is set to PassThrough
,
* and the topic passes through the tracing header it receives from an
* Amazon SNS publisher to its subscriptions. If set to Active
,
* 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: *
*
* FifoTopic
– When this is set to true
, a FIFO
* topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute is
* false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to true
,
* Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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 the
* Publish
action.
*
* 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 the
* From
field for notifications to email
and
* email-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 the SignatureVersion
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
* default TracingConfig
is set to PassThrough
,
* and the topic passes through the tracing header it receives from an
* Amazon SNS publisher to its subscriptions. If set to Active
,
* 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: *
*
* FifoTopic
– When this is set to true
, a FIFO
* topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute is
* false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to true
,
* Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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 the
* Publish
action.
*
* 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 the
* From
field for notifications to email
* and email-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 the
* SignatureVersion
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 default TracingConfig
is set to
* PassThrough
, and the topic passes through the
* tracing header it receives from an Amazon SNS publisher to its
* subscriptions. If set to Active
, 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: *
*
* FifoTopic
– When this is set to true
, a
* FIFO topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute
* is false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to
* true
, Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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
* the Publish
action.
*
* 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 the
* From
field for notifications to email
and
* email-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 the SignatureVersion
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
* default TracingConfig
is set to PassThrough
,
* and the topic passes through the tracing header it receives from an
* Amazon SNS publisher to its subscriptions. If set to Active
,
* 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: *
*
* FifoTopic
– When this is set to true
, a FIFO
* topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute is
* false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to true
,
* Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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 the
* Publish
action.
*
* 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 the
* From
field for notifications to
* email
and email-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 the
* SignatureVersion
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 default TracingConfig
is set to
* PassThrough
, and the topic passes through the
* tracing header it receives from an Amazon SNS publisher to its
* subscriptions. If set to Active
, 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: *
*
* FifoTopic
– When this is set to true
* , a FIFO topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this
* attribute is false
, you must specify a value for
* the MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to
* true
, Amazon SNS uses a SHA-256 hash to generate
* the MessageDeduplicationId
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 the Publish
action.
*
* 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 the
* From
field for notifications to email
and
* email-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 the SignatureVersion
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
* default TracingConfig
is set to PassThrough
,
* and the topic passes through the tracing header it receives from an
* Amazon SNS publisher to its subscriptions. If set to Active
,
* 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: *
*
* FifoTopic
– When this is set to true
, a FIFO
* topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute is
* false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to true
,
* Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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 the
* Publish
action.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param attributes
* 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 the
* From
field for notifications to
* email
and email-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 the
* SignatureVersion
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 default TracingConfig
is set to
* PassThrough
, and the topic passes through the
* tracing header it receives from an Amazon SNS publisher to its
* subscriptions. If set to Active
, 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: *
*
* FifoTopic
– When this is set to true
* , a FIFO topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this
* attribute is false
, you must specify a value for
* the MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to
* true
, Amazon SNS uses a SHA-256 hash to generate
* the MessageDeduplicationId
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 the Publish
action.
*
* 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 the
* From
field for notifications to email
and
* email-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 the SignatureVersion
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
* default TracingConfig
is set to PassThrough
,
* and the topic passes through the tracing header it receives from an
* Amazon SNS publisher to its subscriptions. If set to Active
,
* 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: *
*
* FifoTopic
– When this is set to true
, a FIFO
* topic is created.
*
* ContentBasedDeduplication
– Enables content-based
* deduplication for FIFO topics.
*
* By default, ContentBasedDeduplication
is set to
* false
. If you create a FIFO topic and this attribute is
* false
, you must specify a value for the
* MessageDeduplicationId
parameter for the Publish action.
*
* When you set ContentBasedDeduplication
to true
,
* Amazon SNS uses a SHA-256 hash to generate the
* MessageDeduplicationId
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 the
* Publish
action.
*
* The method adds a new key-value pair into Attributes parameter, and
* returns a reference to this object so that method calls can be chained
* together.
*
* @param key The key of the entry to be added into Attributes.
* @param value The corresponding value of the entry to be added into
* Attributes.
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public GetTopicAttributesResult addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new java.util.HashMap
* Returns a reference to this object so that method calls can be chained
* together.
*/
public GetTopicAttributesResult clearAttributesEntries() {
this.attributes = null;
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @return A string representation of this object.
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAttributes() != null)
sb.append("Attributes: " + getAttributes());
sb.append("}");
return sb.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode());
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof GetTopicAttributesResult == false)
return false;
GetTopicAttributesResult other = (GetTopicAttributesResult) obj;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null
&& other.getAttributes().equals(this.getAttributes()) == false)
return false;
return true;
}
}