-
Notifications
You must be signed in to change notification settings - Fork 626
/
api_op_GetDeployment.go
229 lines (188 loc) · 7.19 KB
/
api_op_GetDeployment.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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package apigateway
import (
"context"
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
"github.com/aws/aws-sdk-go-v2/private/protocol"
)
// Requests API Gateway to get information about a Deployment resource.
type GetDeploymentInput struct {
_ struct{} `type:"structure"`
// [Required] The identifier of the Deployment resource to get information about.
//
// DeploymentId is a required field
DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
// A query parameter to retrieve the specified embedded resources of the returned
// Deployment resource in the response. In a REST API call, this embed parameter
// value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2.
// The SDK and other platform-dependent libraries might use a different format
// for the list. Currently, this request supports only retrieval of the embedded
// API summary this way. Hence, the parameter value must be a single-valued
// list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.
Embed []string `location:"querystring" locationName:"embed" type:"list"`
// [Required] The string identifier of the associated RestApi.
//
// RestApiId is a required field
RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
}
// String returns the string representation
func (s GetDeploymentInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetDeploymentInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetDeploymentInput"}
if s.DeploymentId == nil {
invalidParams.Add(aws.NewErrParamRequired("DeploymentId"))
}
if s.RestApiId == nil {
invalidParams.Add(aws.NewErrParamRequired("RestApiId"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetDeploymentInput) MarshalFields(e protocol.FieldEncoder) error {
e.SetValue(protocol.HeaderTarget, "Content-Type", protocol.StringValue("application/json"), protocol.Metadata{})
if s.DeploymentId != nil {
v := *s.DeploymentId
metadata := protocol.Metadata{}
e.SetValue(protocol.PathTarget, "deployment_id", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
if s.RestApiId != nil {
v := *s.RestApiId
metadata := protocol.Metadata{}
e.SetValue(protocol.PathTarget, "restapi_id", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
if s.Embed != nil {
v := s.Embed
metadata := protocol.Metadata{}
ls0 := e.List(protocol.QueryTarget, "embed", metadata)
ls0.Start()
for _, v1 := range v {
ls0.ListAddValue(protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v1)})
}
ls0.End()
}
return nil
}
// An immutable representation of a RestApi resource that can be called by users
// using Stages. A deployment must be associated with a Stage for it to be callable
// over the Internet.
//
// To create a deployment, call POST on the Deployments resource of a RestApi.
// To view, update, or delete a deployment, call GET, PATCH, or DELETE on the
// specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
//
// RestApi, Deployments, Stage, AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
// AWS SDKs (https://aws.amazon.com/tools/)
type GetDeploymentOutput struct {
_ struct{} `type:"structure"`
// A summary of the RestApi at the date and time that the deployment resource
// was created.
ApiSummary map[string]map[string]MethodSnapshot `locationName:"apiSummary" type:"map"`
// The date and time that the deployment resource was created.
CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
// The description for the deployment resource.
Description *string `locationName:"description" type:"string"`
// The identifier for the deployment resource.
Id *string `locationName:"id" type:"string"`
}
// String returns the string representation
func (s GetDeploymentOutput) String() string {
return awsutil.Prettify(s)
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetDeploymentOutput) MarshalFields(e protocol.FieldEncoder) error {
if s.ApiSummary != nil {
v := s.ApiSummary
metadata := protocol.Metadata{}
ms0 := e.Map(protocol.BodyTarget, "apiSummary", metadata)
ms0.Start()
for k1, v1 := range v {
ms1 := ms0.Map(k1)
ms1.Start()
for k2, v2 := range v1 {
ms1.MapSetFields(k2, v2)
}
ms1.End()
}
ms0.End()
}
if s.CreatedDate != nil {
v := *s.CreatedDate
metadata := protocol.Metadata{}
e.SetValue(protocol.BodyTarget, "createdDate",
protocol.TimeValue{V: v, Format: protocol.UnixTimeFormatName, QuotedFormatTime: true}, metadata)
}
if s.Description != nil {
v := *s.Description
metadata := protocol.Metadata{}
e.SetValue(protocol.BodyTarget, "description", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
if s.Id != nil {
v := *s.Id
metadata := protocol.Metadata{}
e.SetValue(protocol.BodyTarget, "id", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
return nil
}
const opGetDeployment = "GetDeployment"
// GetDeploymentRequest returns a request value for making API operation for
// Amazon API Gateway.
//
// Gets information about a Deployment resource.
//
// // Example sending a request using GetDeploymentRequest.
// req := client.GetDeploymentRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
func (c *Client) GetDeploymentRequest(input *GetDeploymentInput) GetDeploymentRequest {
op := &aws.Operation{
Name: opGetDeployment,
HTTPMethod: "GET",
HTTPPath: "/restapis/{restapi_id}/deployments/{deployment_id}",
}
if input == nil {
input = &GetDeploymentInput{}
}
req := c.newRequest(op, input, &GetDeploymentOutput{})
return GetDeploymentRequest{Request: req, Input: input, Copy: c.GetDeploymentRequest}
}
// GetDeploymentRequest is the request type for the
// GetDeployment API operation.
type GetDeploymentRequest struct {
*aws.Request
Input *GetDeploymentInput
Copy func(*GetDeploymentInput) GetDeploymentRequest
}
// Send marshals and sends the GetDeployment API request.
func (r GetDeploymentRequest) Send(ctx context.Context) (*GetDeploymentResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetDeploymentResponse{
GetDeploymentOutput: r.Request.Data.(*GetDeploymentOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetDeploymentResponse is the response type for the
// GetDeployment API operation.
type GetDeploymentResponse struct {
*GetDeploymentOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetDeployment request.
func (r *GetDeploymentResponse) SDKResponseMetdata() *aws.Response {
return r.response
}