1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package sns
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Returns all of the properties of a subscription.
func (c *Client) GetSubscriptionAttributes(ctx context.Context, params *GetSubscriptionAttributesInput, optFns ...func(*Options)) (*GetSubscriptionAttributesOutput, error) {
if params == nil {
params = &GetSubscriptionAttributesInput{}
}
result, metadata, err := c.invokeOperation(ctx, "GetSubscriptionAttributes", params, optFns, c.addOperationGetSubscriptionAttributesMiddlewares)
if err != nil {
return nil, err
}
out := result.(*GetSubscriptionAttributesOutput)
out.ResultMetadata = metadata
return out, nil
}
// Input for GetSubscriptionAttributes.
type GetSubscriptionAttributesInput struct {
// The ARN of the subscription whose properties you want to get.
//
// This member is required.
SubscriptionArn *string
noSmithyDocumentSerde
}
// Response for GetSubscriptionAttributes action.
type GetSubscriptionAttributesOutput struct {
// 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 (https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html)
// 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 (https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html)
// in the Amazon SNS Developer Guide.
Attributes map[string]string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationGetSubscriptionAttributesMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsquery_serializeOpGetSubscriptionAttributes{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsquery_deserializeOpGetSubscriptionAttributes{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "GetSubscriptionAttributes"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpGetSubscriptionAttributesValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetSubscriptionAttributes(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opGetSubscriptionAttributes(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "GetSubscriptionAttributes",
}
}
|