/* * 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 GetSubscriptionAttributes action. *
*/ public class GetSubscriptionAttributesResult implements Serializable { /** ** 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 the
* ConfirmSubscription
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 Kinesis Data Firehose * delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that has the
* following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis Data * Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon * SNS Developer Guide. *
** 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 the
* ConfirmSubscription
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 Kinesis Data Firehose * delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that has the
* following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis Data * Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon * SNS Developer Guide. *
** 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 the ConfirmSubscription
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 Kinesis Data * Firehose delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that
* has the following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis * Data Firehose delivery stream subscriptions. For more * information, see Fanout to Kinesis Data Firehose delivery streams in the * Amazon SNS Developer Guide. *
** 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 the
* ConfirmSubscription
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 Kinesis Data Firehose * delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that has the
* following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis Data * Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon * SNS Developer Guide. *
** 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 the ConfirmSubscription
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 Kinesis Data * Firehose delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role
* that has the following:
*
* Permission to write to the Kinesis Data Firehose delivery * stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for * Kinesis Data Firehose delivery stream subscriptions. For more * information, see Fanout to Kinesis Data Firehose delivery streams in the * Amazon SNS Developer Guide. *
** 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 the
* ConfirmSubscription
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 Kinesis Data Firehose * delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that has the
* following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis Data * Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon * SNS Developer Guide. *
** Returns a reference to this object so that method calls can be chained * together. * * @param attributes
* 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 the ConfirmSubscription
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 Kinesis Data * Firehose delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role
* that has the following:
*
* Permission to write to the Kinesis Data Firehose delivery * stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for * Kinesis Data Firehose delivery stream subscriptions. For more * information, see Fanout to Kinesis Data Firehose delivery streams in the * Amazon SNS Developer Guide. *
** 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 the
* ConfirmSubscription
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 Kinesis Data Firehose * delivery stream subscriptions: *
*
* SubscriptionRoleArn
– The ARN of the IAM role that has the
* following:
*
* Permission to write to the Kinesis Data Firehose delivery stream *
** Amazon SNS listed as a trusted entity *
** Specifying a valid ARN for this attribute is required for Kinesis Data * Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon * SNS Developer Guide. *
*
* 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 GetSubscriptionAttributesResult 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 GetSubscriptionAttributesResult 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 GetSubscriptionAttributesResult == false)
return false;
GetSubscriptionAttributesResult other = (GetSubscriptionAttributesResult) obj;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null
&& other.getAttributes().equals(this.getAttributes()) == false)
return false;
return true;
}
}