Class: Aws::SNS::Subscription
- Inherits:
-
Object
- Object
- Aws::SNS::Subscription
- Extended by:
- Deprecations
- Defined in:
- lib/aws-sdk-sns/subscription.rb
Defined Under Namespace
Classes: Collection
Read-Only Attributes collapse
- #arn ⇒ String
-
#attributes ⇒ Hash<String,String>
A map of the subscription’s attributes.
Actions collapse
- #delete(options = {}) ⇒ EmptyStructure
- #identifiers ⇒ Object deprecated private Deprecated.
- #set_attributes(options = {}) ⇒ EmptyStructure
Instance Method Summary collapse
- #client ⇒ Client
-
#data ⇒ Types::GetSubscriptionAttributesResponse
Returns the data for this Subscription.
-
#data_loaded? ⇒ Boolean
Returns ‘true` if this resource is loaded.
-
#initialize(*args) ⇒ Subscription
constructor
A new instance of Subscription.
-
#load ⇒ self
(also: #reload)
Loads, or reloads #data for the current Subscription.
Constructor Details
#initialize(arn, options = {}) ⇒ Subscription #initialize(options = {}) ⇒ Subscription
Returns a new instance of Subscription.
22 23 24 25 26 27 28 |
# File 'lib/aws-sdk-sns/subscription.rb', line 22 def initialize(*args) = Hash === args.last ? args.pop.dup : {} @arn = extract_arn(args, ) @data = .delete(:data) @client = .delete(:client) || Client.new() @waiter_block_warned = false end |
Instance Method Details
#arn ⇒ String
33 34 35 |
# File 'lib/aws-sdk-sns/subscription.rb', line 33 def arn @arn end |
#attributes ⇒ Hash<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*.
-
‘Owner` – The AWS 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.
[1]: docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
79 80 81 |
# File 'lib/aws-sdk-sns/subscription.rb', line 79 def attributes data[:attributes] end |
#data ⇒ Types::GetSubscriptionAttributesResponse
Returns the data for this Aws::SNS::Subscription. Calls Client#get_subscription_attributes if #data_loaded? is ‘false`.
106 107 108 109 |
# File 'lib/aws-sdk-sns/subscription.rb', line 106 def data load unless @data @data end |
#data_loaded? ⇒ Boolean
114 115 116 |
# File 'lib/aws-sdk-sns/subscription.rb', line 114 def data_loaded? !!@data end |
#delete(options = {}) ⇒ EmptyStructure
125 126 127 128 129 |
# File 'lib/aws-sdk-sns/subscription.rb', line 125 def delete( = {}) = .merge(subscription_arn: @arn) resp = @client.unsubscribe() resp.data end |
#identifiers ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
173 174 175 |
# File 'lib/aws-sdk-sns/subscription.rb', line 173 def identifiers { arn: @arn } end |
#load ⇒ self Also known as: reload
Loads, or reloads #data for the current Aws::SNS::Subscription. Returns ‘self` making it possible to chain methods.
subscription.reload.data
96 97 98 99 100 |
# File 'lib/aws-sdk-sns/subscription.rb', line 96 def load resp = @client.get_subscription_attributes(subscription_arn: @arn) @data = resp.data self end |
#set_attributes(options = {}) ⇒ EmptyStructure
165 166 167 168 169 |
# File 'lib/aws-sdk-sns/subscription.rb', line 165 def set_attributes( = {}) = .merge(subscription_arn: @arn) resp = @client.set_subscription_attributes() resp.data end |