forked from aws/aws-sdk-go-v2
/
api.go
241 lines (194 loc) · 8.38 KB
/
api.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
230
231
232
233
234
235
236
237
238
239
240
241
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package marketplaceentitlementservice
import (
"time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
const opGetEntitlements = "GetEntitlements"
// GetEntitlementsRequest is a API request type for the GetEntitlements API operation.
type GetEntitlementsRequest struct {
*aws.Request
Input *GetEntitlementsInput
Copy func(*GetEntitlementsInput) GetEntitlementsRequest
}
// Send marshals and sends the GetEntitlements API request.
func (r GetEntitlementsRequest) Send() (*GetEntitlementsOutput, error) {
err := r.Request.Send()
if err != nil {
return nil, err
}
return r.Request.Data.(*GetEntitlementsOutput), nil
}
// GetEntitlementsRequest returns a request value for making API operation for
// AWS Marketplace Entitlement Service.
//
// GetEntitlements retrieves entitlement values for a given product. The results
// can be filtered based on customer identifier or product dimensions.
//
// // Example sending a request using the GetEntitlementsRequest method.
// req := client.GetEntitlementsRequest(params)
// resp, err := req.Send()
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/GetEntitlements
func (c *MarketplaceEntitlementService) GetEntitlementsRequest(input *GetEntitlementsInput) GetEntitlementsRequest {
op := &aws.Operation{
Name: opGetEntitlements,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEntitlementsInput{}
}
output := &GetEntitlementsOutput{}
req := c.newRequest(op, input, output)
output.responseMetadata = aws.Response{Request: req}
return GetEntitlementsRequest{Request: req, Input: input, Copy: c.GetEntitlementsRequest}
}
// An entitlement represents capacity in a product owned by the customer. For
// example, a customer might own some number of users or seats in an SaaS application
// or some amount of data capacity in a multi-tenant database.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/Entitlement
type Entitlement struct {
_ struct{} `type:"structure"`
// The customer identifier is a handle to each unique customer in an application.
// Customer identifiers are obtained through the ResolveCustomer operation in
// AWS Marketplace Metering Service.
CustomerIdentifier *string `type:"string"`
// The dimension for which the given entitlement applies. Dimensions represent
// categories of capacity in a product and are specified when the product is
// listed in AWS Marketplace.
Dimension *string `type:"string"`
// The expiration date represents the minimum date through which this entitlement
// is expected to remain valid. For contractual products listed on AWS Marketplace,
// the expiration date is the date at which the customer will renew or cancel
// their contract. Customers who are opting to renew their contract will still
// have entitlements with an expiration date.
ExpirationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
// The product code for which the given entitlement applies. Product codes are
// provided by AWS Marketplace when the product listing is created.
ProductCode *string `min:"1" type:"string"`
// The EntitlementValue represents the amount of capacity that the customer
// is entitled to for the product.
Value *EntitlementValue `type:"structure"`
}
// String returns the string representation
func (s Entitlement) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Entitlement) GoString() string {
return s.String()
}
// The EntitlementValue represents the amount of capacity that the customer
// is entitled to for the product.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/EntitlementValue
type EntitlementValue struct {
_ struct{} `type:"structure"`
// The BooleanValue field will be populated with a boolean value when the entitlement
// is a boolean type. Otherwise, the field will not be set.
BooleanValue *bool `type:"boolean"`
// The DoubleValue field will be populated with a double value when the entitlement
// is a double type. Otherwise, the field will not be set.
DoubleValue *float64 `type:"double"`
// The IntegerValue field will be populated with an integer value when the entitlement
// is an integer type. Otherwise, the field will not be set.
IntegerValue *int64 `type:"integer"`
// The StringValue field will be populated with a string value when the entitlement
// is a string type. Otherwise, the field will not be set.
StringValue *string `type:"string"`
}
// String returns the string representation
func (s EntitlementValue) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s EntitlementValue) GoString() string {
return s.String()
}
// The GetEntitlementsRequest contains parameters for the GetEntitlements operation.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/GetEntitlementsRequest
type GetEntitlementsInput struct {
_ struct{} `type:"structure"`
// Filter is used to return entitlements for a specific customer or for a specific
// dimension. Filters are described as keys mapped to a lists of values. Filtered
// requests are unioned for each value in the value list, and then intersected
// for each filter key.
Filter map[string][]string `type:"map"`
// The maximum number of items to retrieve from the GetEntitlements operation.
// For pagination, use the NextToken field in subsequent calls to GetEntitlements.
MaxResults *int64 `type:"integer"`
// For paginated calls to GetEntitlements, pass the NextToken from the previous
// GetEntitlementsResult.
NextToken *string `type:"string"`
// Product code is used to uniquely identify a product in AWS Marketplace. The
// product code will be provided by AWS Marketplace when the product listing
// is created.
//
// ProductCode is a required field
ProductCode *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s GetEntitlementsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetEntitlementsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetEntitlementsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "GetEntitlementsInput"}
if s.ProductCode == nil {
invalidParams.Add(aws.NewErrParamRequired("ProductCode"))
}
if s.ProductCode != nil && len(*s.ProductCode) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("ProductCode", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// The GetEntitlementsRequest contains results from the GetEntitlements operation.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/GetEntitlementsResult
type GetEntitlementsOutput struct {
_ struct{} `type:"structure"`
responseMetadata aws.Response
// The set of entitlements found through the GetEntitlements operation. If the
// result contains an empty set of entitlements, NextToken might still be present
// and should be used.
Entitlements []Entitlement `type:"list"`
// For paginated results, use NextToken in subsequent calls to GetEntitlements.
// If the result contains an empty set of entitlements, NextToken might still
// be present and should be used.
NextToken *string `type:"string"`
}
// String returns the string representation
func (s GetEntitlementsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetEntitlementsOutput) GoString() string {
return s.String()
}
// SDKResponseMetdata return sthe response metadata for the API.
func (s GetEntitlementsOutput) SDKResponseMetadata() aws.Response {
return s.responseMetadata
}
type GetEntitlementFilterName string
// Enum values for GetEntitlementFilterName
const (
GetEntitlementFilterNameCustomerIdentifier GetEntitlementFilterName = "CUSTOMER_IDENTIFIER"
GetEntitlementFilterNameDimension GetEntitlementFilterName = "DIMENSION"
)
func (enum GetEntitlementFilterName) MarshalValue() (string, error) {
return string(enum), nil
}
func (enum GetEntitlementFilterName) MarshalValueBuf(b []byte) ([]byte, error) {
b = b[0:0]
return append(b, enum...), nil
}