-
Notifications
You must be signed in to change notification settings - Fork 594
/
api_op_DescribeVpcEndpointServices.go
167 lines (147 loc) · 5.49 KB
/
api_op_DescribeVpcEndpointServices.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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// Code generated by smithy-go-codegen DO NOT EDIT.
package ec2
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/ec2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Describes available services to which you can create a VPC endpoint. When the
// service provider and the consumer have different accounts in multiple
// Availability Zones, and the consumer views the VPC endpoint service information,
// the response only includes the common Availability Zones. For example, when the
// service provider account uses us-east-1a and us-east-1c and the consumer uses
// us-east-1a and us-east-1b, the response includes the VPC endpoint services in
// the common Availability Zone, us-east-1a.
func (c *Client) DescribeVpcEndpointServices(ctx context.Context, params *DescribeVpcEndpointServicesInput, optFns ...func(*Options)) (*DescribeVpcEndpointServicesOutput, error) {
if params == nil {
params = &DescribeVpcEndpointServicesInput{}
}
result, metadata, err := c.invokeOperation(ctx, "DescribeVpcEndpointServices", params, optFns, c.addOperationDescribeVpcEndpointServicesMiddlewares)
if err != nil {
return nil, err
}
out := result.(*DescribeVpcEndpointServicesOutput)
out.ResultMetadata = metadata
return out, nil
}
// Contains the parameters for DescribeVpcEndpointServices.
type DescribeVpcEndpointServicesInput struct {
// Checks whether you have the required permissions for the action, without
// actually making the request, and provides an error response. If you have the
// required permissions, the error response is DryRunOperation. Otherwise, it is
// UnauthorizedOperation.
DryRun *bool
// One or more filters.
//
// * service-name - The name of the service.
//
// * service-type
// - The type of service (Interface | Gateway).
//
// * supported-ip-address-types - The
// IP address type (ipv4 | ipv6).
//
// * tag: - The key/value combination of a tag
// assigned to the resource. Use the tag key in the filter name and the tag value
// as the filter value. For example, to find all resources that have a tag with the
// key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA
// for the filter value.
//
// * tag-key - The key of a tag assigned to the resource.
// Use this filter to find all resources assigned a tag with a specific key,
// regardless of the tag value.
Filters []types.Filter
// The maximum number of items to return for this request. The request returns a
// token that you can specify in a subsequent call to get the next set of results.
// Constraint: If the value is greater than 1,000, we return only 1,000 items.
MaxResults *int32
// The token for the next set of items to return. (You received this token from a
// prior call.)
NextToken *string
// One or more service names.
ServiceNames []string
noSmithyDocumentSerde
}
// Contains the output of DescribeVpcEndpointServices.
type DescribeVpcEndpointServicesOutput struct {
// The token to use when requesting the next set of items. If there are no
// additional items to return, the string is empty.
NextToken *string
// Information about the service.
ServiceDetails []types.ServiceDetail
// A list of supported services.
ServiceNames []string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationDescribeVpcEndpointServicesMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsEc2query_serializeOpDescribeVpcEndpointServices{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsEc2query_deserializeOpDescribeVpcEndpointServices{}, middleware.After)
if 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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeVpcEndpointServices(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opDescribeVpcEndpointServices(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "ec2",
OperationName: "DescribeVpcEndpointServices",
}
}