-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_GetCompatibleElasticsearchVersions.go
152 lines (124 loc) · 5.36 KB
/
api_op_GetCompatibleElasticsearchVersions.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package elasticsearchservice
import (
"context"
"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"
)
// Container for request parameters to GetCompatibleElasticsearchVersions operation.
type GetCompatibleElasticsearchVersionsInput struct {
_ struct{} `type:"structure"`
// The name of an Elasticsearch domain. Domain names are unique across the domains
// owned by an account within an AWS region. Domain names start with a letter
// or number and can contain the following characters: a-z (lowercase), 0-9,
// and - (hyphen).
DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"`
}
// String returns the string representation
func (s GetCompatibleElasticsearchVersionsInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetCompatibleElasticsearchVersionsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetCompatibleElasticsearchVersionsInput"}
if s.DomainName != nil && len(*s.DomainName) < 3 {
invalidParams.Add(aws.NewErrParamMinLen("DomainName", 3))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetCompatibleElasticsearchVersionsInput) MarshalFields(e protocol.FieldEncoder) error {
e.SetValue(protocol.HeaderTarget, "Content-Type", protocol.StringValue("application/json"), protocol.Metadata{})
if s.DomainName != nil {
v := *s.DomainName
metadata := protocol.Metadata{}
e.SetValue(protocol.QueryTarget, "domainName", protocol.QuotedValue{ValueMarshaler: protocol.StringValue(v)}, metadata)
}
return nil
}
// Container for response returned by GetCompatibleElasticsearchVersions operation.
type GetCompatibleElasticsearchVersionsOutput struct {
_ struct{} `type:"structure"`
// A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions
// operation.
CompatibleElasticsearchVersions []CompatibleVersionsMap `type:"list"`
}
// String returns the string representation
func (s GetCompatibleElasticsearchVersionsOutput) String() string {
return awsutil.Prettify(s)
}
// MarshalFields encodes the AWS API shape using the passed in protocol encoder.
func (s GetCompatibleElasticsearchVersionsOutput) MarshalFields(e protocol.FieldEncoder) error {
if s.CompatibleElasticsearchVersions != nil {
v := s.CompatibleElasticsearchVersions
metadata := protocol.Metadata{}
ls0 := e.List(protocol.BodyTarget, "CompatibleElasticsearchVersions", metadata)
ls0.Start()
for _, v1 := range v {
ls0.ListAddFields(v1)
}
ls0.End()
}
return nil
}
const opGetCompatibleElasticsearchVersions = "GetCompatibleElasticsearchVersions"
// GetCompatibleElasticsearchVersionsRequest returns a request value for making API operation for
// Amazon Elasticsearch Service.
//
// Returns a list of upgrade compatible Elastisearch versions. You can optionally
// pass a DomainName to get all upgrade compatible Elasticsearch versions for
// that specific domain.
//
// // Example sending a request using GetCompatibleElasticsearchVersionsRequest.
// req := client.GetCompatibleElasticsearchVersionsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
func (c *Client) GetCompatibleElasticsearchVersionsRequest(input *GetCompatibleElasticsearchVersionsInput) GetCompatibleElasticsearchVersionsRequest {
op := &aws.Operation{
Name: opGetCompatibleElasticsearchVersions,
HTTPMethod: "GET",
HTTPPath: "/2015-01-01/es/compatibleVersions",
}
if input == nil {
input = &GetCompatibleElasticsearchVersionsInput{}
}
req := c.newRequest(op, input, &GetCompatibleElasticsearchVersionsOutput{})
return GetCompatibleElasticsearchVersionsRequest{Request: req, Input: input, Copy: c.GetCompatibleElasticsearchVersionsRequest}
}
// GetCompatibleElasticsearchVersionsRequest is the request type for the
// GetCompatibleElasticsearchVersions API operation.
type GetCompatibleElasticsearchVersionsRequest struct {
*aws.Request
Input *GetCompatibleElasticsearchVersionsInput
Copy func(*GetCompatibleElasticsearchVersionsInput) GetCompatibleElasticsearchVersionsRequest
}
// Send marshals and sends the GetCompatibleElasticsearchVersions API request.
func (r GetCompatibleElasticsearchVersionsRequest) Send(ctx context.Context) (*GetCompatibleElasticsearchVersionsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetCompatibleElasticsearchVersionsResponse{
GetCompatibleElasticsearchVersionsOutput: r.Request.Data.(*GetCompatibleElasticsearchVersionsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetCompatibleElasticsearchVersionsResponse is the response type for the
// GetCompatibleElasticsearchVersions API operation.
type GetCompatibleElasticsearchVersionsResponse struct {
*GetCompatibleElasticsearchVersionsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetCompatibleElasticsearchVersions request.
func (r *GetCompatibleElasticsearchVersionsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}