/
api_op_ListUsageForLicenseConfiguration.go
143 lines (115 loc) · 4.77 KB
/
api_op_ListUsageForLicenseConfiguration.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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package licensemanager
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type ListUsageForLicenseConfigurationInput struct {
_ struct{} `type:"structure"`
// Filters to scope the results. The following filters and logical operators
// are supported:
//
// * resourceArn - The ARN of the license configuration resource. Logical
// operators are EQUALS | NOT_EQUALS.
//
// * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI
// | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS.
//
// * resourceAccount - The ID of the account that owns the resource. Logical
// operators are EQUALS | NOT_EQUALS.
Filters []Filter `type:"list"`
// Amazon Resource Name (ARN) of the license configuration.
//
// LicenseConfigurationArn is a required field
LicenseConfigurationArn *string `type:"string" required:"true"`
// Maximum number of results to return in a single call.
MaxResults *int64 `type:"integer"`
// Token for the next set of results.
NextToken *string `type:"string"`
}
// String returns the string representation
func (s ListUsageForLicenseConfigurationInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListUsageForLicenseConfigurationInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "ListUsageForLicenseConfigurationInput"}
if s.LicenseConfigurationArn == nil {
invalidParams.Add(aws.NewErrParamRequired("LicenseConfigurationArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type ListUsageForLicenseConfigurationOutput struct {
_ struct{} `type:"structure"`
// Information about the license configurations.
LicenseConfigurationUsageList []LicenseConfigurationUsage `type:"list"`
// Token for the next set of results.
NextToken *string `type:"string"`
}
// String returns the string representation
func (s ListUsageForLicenseConfigurationOutput) String() string {
return awsutil.Prettify(s)
}
const opListUsageForLicenseConfiguration = "ListUsageForLicenseConfiguration"
// ListUsageForLicenseConfigurationRequest returns a request value for making API operation for
// AWS License Manager.
//
// Lists all license usage records for a license configuration, displaying license
// consumption details by resource at a selected point in time. Use this action
// to audit the current license consumption for any license inventory and configuration.
//
// // Example sending a request using ListUsageForLicenseConfigurationRequest.
// req := client.ListUsageForLicenseConfigurationRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration
func (c *Client) ListUsageForLicenseConfigurationRequest(input *ListUsageForLicenseConfigurationInput) ListUsageForLicenseConfigurationRequest {
op := &aws.Operation{
Name: opListUsageForLicenseConfiguration,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ListUsageForLicenseConfigurationInput{}
}
req := c.newRequest(op, input, &ListUsageForLicenseConfigurationOutput{})
return ListUsageForLicenseConfigurationRequest{Request: req, Input: input, Copy: c.ListUsageForLicenseConfigurationRequest}
}
// ListUsageForLicenseConfigurationRequest is the request type for the
// ListUsageForLicenseConfiguration API operation.
type ListUsageForLicenseConfigurationRequest struct {
*aws.Request
Input *ListUsageForLicenseConfigurationInput
Copy func(*ListUsageForLicenseConfigurationInput) ListUsageForLicenseConfigurationRequest
}
// Send marshals and sends the ListUsageForLicenseConfiguration API request.
func (r ListUsageForLicenseConfigurationRequest) Send(ctx context.Context) (*ListUsageForLicenseConfigurationResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &ListUsageForLicenseConfigurationResponse{
ListUsageForLicenseConfigurationOutput: r.Request.Data.(*ListUsageForLicenseConfigurationOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// ListUsageForLicenseConfigurationResponse is the response type for the
// ListUsageForLicenseConfiguration API operation.
type ListUsageForLicenseConfigurationResponse struct {
*ListUsageForLicenseConfigurationOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// ListUsageForLicenseConfiguration request.
func (r *ListUsageForLicenseConfigurationResponse) SDKResponseMetdata() *aws.Response {
return r.response
}