/
api_op_GetEntitlements.go
148 lines (120 loc) · 4.61 KB
/
api_op_GetEntitlements.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package marketplaceentitlementservice
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// The GetEntitlementsRequest contains parameters for the GetEntitlements operation.
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)
}
// 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.
type GetEntitlementsOutput struct {
_ struct{} `type:"structure"`
// 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)
}
const opGetEntitlements = "GetEntitlements"
// 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 GetEntitlementsRequest.
// req := client.GetEntitlementsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/entitlement.marketplace-2017-01-11/GetEntitlements
func (c *Client) GetEntitlementsRequest(input *GetEntitlementsInput) GetEntitlementsRequest {
op := &aws.Operation{
Name: opGetEntitlements,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetEntitlementsInput{}
}
req := c.newRequest(op, input, &GetEntitlementsOutput{})
return GetEntitlementsRequest{Request: req, Input: input, Copy: c.GetEntitlementsRequest}
}
// GetEntitlementsRequest is the 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(ctx context.Context) (*GetEntitlementsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &GetEntitlementsResponse{
GetEntitlementsOutput: r.Request.Data.(*GetEntitlementsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// GetEntitlementsResponse is the response type for the
// GetEntitlements API operation.
type GetEntitlementsResponse struct {
*GetEntitlementsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// GetEntitlements request.
func (r *GetEntitlementsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}