-
Notifications
You must be signed in to change notification settings - Fork 602
/
api_op_GetSubscriptionAttributes.go
147 lines (124 loc) · 4.69 KB
/
api_op_GetSubscriptionAttributes.go
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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package sns
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Input for GetSubscriptionAttributes.
type GetSubscriptionAttributesInput struct {
_ struct{} `type:"structure"`
// The ARN of the subscription whose properties you want to get.
//
// SubscriptionArn is a required field
SubscriptionArn *string `type:"string" required:"true"`
}
// String returns the string representation
func (s GetSubscriptionAttributesInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetSubscriptionAttributesInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetSubscriptionAttributesInput"}
if s.SubscriptionArn == nil {
invalidParams.Add(aws.NewErrParamRequired("SubscriptionArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Response for GetSubscriptionAttributes action.
type GetSubscriptionAttributesOutput struct {
_ struct{} `type:"structure"`
// 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.
//
// * 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.
//
// * SubscriptionArn – The subscription's ARN.
//
// * TopicArn – The topic ARN that the subscription is associated with.
Attributes map[string]string `type:"map"`
}
// String returns the string representation
func (s GetSubscriptionAttributesOutput) String() string {
return awsutil.Prettify(s)
}
const opGetSubscriptionAttributes = "GetSubscriptionAttributes"
// GetSubscriptionAttributesRequest returns a request value for making API operation for
// Amazon Simple Notification Service.
//
// Returns all of the properties of a subscription.
//
// // Example sending a request using GetSubscriptionAttributesRequest.
// req := client.GetSubscriptionAttributesRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributes
func (c *Client) GetSubscriptionAttributesRequest(input *GetSubscriptionAttributesInput) GetSubscriptionAttributesRequest {
op := &aws.Operation{
Name: opGetSubscriptionAttributes,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetSubscriptionAttributesInput{}
}
req := c.newRequest(op, input, &GetSubscriptionAttributesOutput{})
return GetSubscriptionAttributesRequest{Request: req, Input: input, Copy: c.GetSubscriptionAttributesRequest}
}
// GetSubscriptionAttributesRequest is the request type for the
// GetSubscriptionAttributes API operation.
type GetSubscriptionAttributesRequest struct {
*aws.Request
Input *GetSubscriptionAttributesInput
Copy func(*GetSubscriptionAttributesInput) GetSubscriptionAttributesRequest
}
// Send marshals and sends the GetSubscriptionAttributes API request.
func (r GetSubscriptionAttributesRequest) Send(ctx context.Context) (*GetSubscriptionAttributesResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetSubscriptionAttributesResponse{
GetSubscriptionAttributesOutput: r.Request.Data.(*GetSubscriptionAttributesOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetSubscriptionAttributesResponse is the response type for the
// GetSubscriptionAttributes API operation.
type GetSubscriptionAttributesResponse struct {
*GetSubscriptionAttributesOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetSubscriptionAttributes request.
func (r *GetSubscriptionAttributesResponse) SDKResponseMetdata() *aws.Response {
return r.response
}