1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package licensemanager
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opCreateLicenseConfiguration = "CreateLicenseConfiguration"
17
18// CreateLicenseConfigurationRequest generates a "aws/request.Request" representing the
19// client's request for the CreateLicenseConfiguration operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateLicenseConfiguration for more information on using the CreateLicenseConfiguration
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateLicenseConfigurationRequest method.
34//    req, resp := client.CreateLicenseConfigurationRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration
42func (c *LicenseManager) CreateLicenseConfigurationRequest(input *CreateLicenseConfigurationInput) (req *request.Request, output *CreateLicenseConfigurationOutput) {
43	op := &request.Operation{
44		Name:       opCreateLicenseConfiguration,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CreateLicenseConfigurationInput{}
51	}
52
53	output = &CreateLicenseConfigurationOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateLicenseConfiguration API operation for AWS License Manager.
59//
60// Creates a license configuration.
61//
62// A license configuration is an abstraction of a customer license agreement
63// that can be consumed and enforced by License Manager. Components include
64// specifications for the license type (licensing by instance, socket, CPU,
65// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated
66// Host, or all of these), license affinity to host (how long a license must
67// be associated with a host), and the number of licenses purchased and used.
68//
69// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
70// with awserr.Error's Code and Message methods to get detailed information about
71// the error.
72//
73// See the AWS API reference guide for AWS License Manager's
74// API operation CreateLicenseConfiguration for usage and error information.
75//
76// Returned Error Types:
77//   * InvalidParameterValueException
78//   One or more parameter values are not valid.
79//
80//   * ServerInternalException
81//   The server experienced an internal error. Try again.
82//
83//   * ResourceLimitExceededException
84//   Your resource limits have been exceeded.
85//
86//   * AuthorizationException
87//   The AWS user account does not have permission to perform the action. Check
88//   the IAM policy associated with this account.
89//
90//   * AccessDeniedException
91//   Access to resource denied.
92//
93//   * RateLimitExceededException
94//   Too many requests have been submitted. Try again after a brief wait.
95//
96// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration
97func (c *LicenseManager) CreateLicenseConfiguration(input *CreateLicenseConfigurationInput) (*CreateLicenseConfigurationOutput, error) {
98	req, out := c.CreateLicenseConfigurationRequest(input)
99	return out, req.Send()
100}
101
102// CreateLicenseConfigurationWithContext is the same as CreateLicenseConfiguration with the addition of
103// the ability to pass a context and additional request options.
104//
105// See CreateLicenseConfiguration for details on how to use this API operation.
106//
107// The context must be non-nil and will be used for request cancellation. If
108// the context is nil a panic will occur. In the future the SDK may create
109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
110// for more information on using Contexts.
111func (c *LicenseManager) CreateLicenseConfigurationWithContext(ctx aws.Context, input *CreateLicenseConfigurationInput, opts ...request.Option) (*CreateLicenseConfigurationOutput, error) {
112	req, out := c.CreateLicenseConfigurationRequest(input)
113	req.SetContext(ctx)
114	req.ApplyOptions(opts...)
115	return out, req.Send()
116}
117
118const opDeleteLicenseConfiguration = "DeleteLicenseConfiguration"
119
120// DeleteLicenseConfigurationRequest generates a "aws/request.Request" representing the
121// client's request for the DeleteLicenseConfiguration operation. The "output" return
122// value will be populated with the request's response once the request completes
123// successfully.
124//
125// Use "Send" method on the returned Request to send the API call to the service.
126// the "output" return value is not valid until after Send returns without error.
127//
128// See DeleteLicenseConfiguration for more information on using the DeleteLicenseConfiguration
129// API call, and error handling.
130//
131// This method is useful when you want to inject custom logic or configuration
132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
133//
134//
135//    // Example sending a request using the DeleteLicenseConfigurationRequest method.
136//    req, resp := client.DeleteLicenseConfigurationRequest(params)
137//
138//    err := req.Send()
139//    if err == nil { // resp is now filled
140//        fmt.Println(resp)
141//    }
142//
143// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/DeleteLicenseConfiguration
144func (c *LicenseManager) DeleteLicenseConfigurationRequest(input *DeleteLicenseConfigurationInput) (req *request.Request, output *DeleteLicenseConfigurationOutput) {
145	op := &request.Operation{
146		Name:       opDeleteLicenseConfiguration,
147		HTTPMethod: "POST",
148		HTTPPath:   "/",
149	}
150
151	if input == nil {
152		input = &DeleteLicenseConfigurationInput{}
153	}
154
155	output = &DeleteLicenseConfigurationOutput{}
156	req = c.newRequest(op, input, output)
157	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
158	return
159}
160
161// DeleteLicenseConfiguration API operation for AWS License Manager.
162//
163// Deletes the specified license configuration.
164//
165// You cannot delete a license configuration that is in use.
166//
167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
168// with awserr.Error's Code and Message methods to get detailed information about
169// the error.
170//
171// See the AWS API reference guide for AWS License Manager's
172// API operation DeleteLicenseConfiguration for usage and error information.
173//
174// Returned Error Types:
175//   * InvalidParameterValueException
176//   One or more parameter values are not valid.
177//
178//   * ServerInternalException
179//   The server experienced an internal error. Try again.
180//
181//   * AuthorizationException
182//   The AWS user account does not have permission to perform the action. Check
183//   the IAM policy associated with this account.
184//
185//   * AccessDeniedException
186//   Access to resource denied.
187//
188//   * RateLimitExceededException
189//   Too many requests have been submitted. Try again after a brief wait.
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/DeleteLicenseConfiguration
192func (c *LicenseManager) DeleteLicenseConfiguration(input *DeleteLicenseConfigurationInput) (*DeleteLicenseConfigurationOutput, error) {
193	req, out := c.DeleteLicenseConfigurationRequest(input)
194	return out, req.Send()
195}
196
197// DeleteLicenseConfigurationWithContext is the same as DeleteLicenseConfiguration with the addition of
198// the ability to pass a context and additional request options.
199//
200// See DeleteLicenseConfiguration for details on how to use this API operation.
201//
202// The context must be non-nil and will be used for request cancellation. If
203// the context is nil a panic will occur. In the future the SDK may create
204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
205// for more information on using Contexts.
206func (c *LicenseManager) DeleteLicenseConfigurationWithContext(ctx aws.Context, input *DeleteLicenseConfigurationInput, opts ...request.Option) (*DeleteLicenseConfigurationOutput, error) {
207	req, out := c.DeleteLicenseConfigurationRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opGetLicenseConfiguration = "GetLicenseConfiguration"
214
215// GetLicenseConfigurationRequest generates a "aws/request.Request" representing the
216// client's request for the GetLicenseConfiguration operation. The "output" return
217// value will be populated with the request's response once the request completes
218// successfully.
219//
220// Use "Send" method on the returned Request to send the API call to the service.
221// the "output" return value is not valid until after Send returns without error.
222//
223// See GetLicenseConfiguration for more information on using the GetLicenseConfiguration
224// API call, and error handling.
225//
226// This method is useful when you want to inject custom logic or configuration
227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
228//
229//
230//    // Example sending a request using the GetLicenseConfigurationRequest method.
231//    req, resp := client.GetLicenseConfigurationRequest(params)
232//
233//    err := req.Send()
234//    if err == nil { // resp is now filled
235//        fmt.Println(resp)
236//    }
237//
238// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetLicenseConfiguration
239func (c *LicenseManager) GetLicenseConfigurationRequest(input *GetLicenseConfigurationInput) (req *request.Request, output *GetLicenseConfigurationOutput) {
240	op := &request.Operation{
241		Name:       opGetLicenseConfiguration,
242		HTTPMethod: "POST",
243		HTTPPath:   "/",
244	}
245
246	if input == nil {
247		input = &GetLicenseConfigurationInput{}
248	}
249
250	output = &GetLicenseConfigurationOutput{}
251	req = c.newRequest(op, input, output)
252	return
253}
254
255// GetLicenseConfiguration API operation for AWS License Manager.
256//
257// Gets detailed information about the specified license configuration.
258//
259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
260// with awserr.Error's Code and Message methods to get detailed information about
261// the error.
262//
263// See the AWS API reference guide for AWS License Manager's
264// API operation GetLicenseConfiguration for usage and error information.
265//
266// Returned Error Types:
267//   * InvalidParameterValueException
268//   One or more parameter values are not valid.
269//
270//   * ServerInternalException
271//   The server experienced an internal error. Try again.
272//
273//   * AuthorizationException
274//   The AWS user account does not have permission to perform the action. Check
275//   the IAM policy associated with this account.
276//
277//   * AccessDeniedException
278//   Access to resource denied.
279//
280//   * RateLimitExceededException
281//   Too many requests have been submitted. Try again after a brief wait.
282//
283// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetLicenseConfiguration
284func (c *LicenseManager) GetLicenseConfiguration(input *GetLicenseConfigurationInput) (*GetLicenseConfigurationOutput, error) {
285	req, out := c.GetLicenseConfigurationRequest(input)
286	return out, req.Send()
287}
288
289// GetLicenseConfigurationWithContext is the same as GetLicenseConfiguration with the addition of
290// the ability to pass a context and additional request options.
291//
292// See GetLicenseConfiguration for details on how to use this API operation.
293//
294// The context must be non-nil and will be used for request cancellation. If
295// the context is nil a panic will occur. In the future the SDK may create
296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
297// for more information on using Contexts.
298func (c *LicenseManager) GetLicenseConfigurationWithContext(ctx aws.Context, input *GetLicenseConfigurationInput, opts ...request.Option) (*GetLicenseConfigurationOutput, error) {
299	req, out := c.GetLicenseConfigurationRequest(input)
300	req.SetContext(ctx)
301	req.ApplyOptions(opts...)
302	return out, req.Send()
303}
304
305const opGetServiceSettings = "GetServiceSettings"
306
307// GetServiceSettingsRequest generates a "aws/request.Request" representing the
308// client's request for the GetServiceSettings operation. The "output" return
309// value will be populated with the request's response once the request completes
310// successfully.
311//
312// Use "Send" method on the returned Request to send the API call to the service.
313// the "output" return value is not valid until after Send returns without error.
314//
315// See GetServiceSettings for more information on using the GetServiceSettings
316// API call, and error handling.
317//
318// This method is useful when you want to inject custom logic or configuration
319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
320//
321//
322//    // Example sending a request using the GetServiceSettingsRequest method.
323//    req, resp := client.GetServiceSettingsRequest(params)
324//
325//    err := req.Send()
326//    if err == nil { // resp is now filled
327//        fmt.Println(resp)
328//    }
329//
330// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetServiceSettings
331func (c *LicenseManager) GetServiceSettingsRequest(input *GetServiceSettingsInput) (req *request.Request, output *GetServiceSettingsOutput) {
332	op := &request.Operation{
333		Name:       opGetServiceSettings,
334		HTTPMethod: "POST",
335		HTTPPath:   "/",
336	}
337
338	if input == nil {
339		input = &GetServiceSettingsInput{}
340	}
341
342	output = &GetServiceSettingsOutput{}
343	req = c.newRequest(op, input, output)
344	return
345}
346
347// GetServiceSettings API operation for AWS License Manager.
348//
349// Gets the License Manager settings for the current Region.
350//
351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
352// with awserr.Error's Code and Message methods to get detailed information about
353// the error.
354//
355// See the AWS API reference guide for AWS License Manager's
356// API operation GetServiceSettings for usage and error information.
357//
358// Returned Error Types:
359//   * ServerInternalException
360//   The server experienced an internal error. Try again.
361//
362//   * AuthorizationException
363//   The AWS user account does not have permission to perform the action. Check
364//   the IAM policy associated with this account.
365//
366//   * AccessDeniedException
367//   Access to resource denied.
368//
369//   * RateLimitExceededException
370//   Too many requests have been submitted. Try again after a brief wait.
371//
372// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetServiceSettings
373func (c *LicenseManager) GetServiceSettings(input *GetServiceSettingsInput) (*GetServiceSettingsOutput, error) {
374	req, out := c.GetServiceSettingsRequest(input)
375	return out, req.Send()
376}
377
378// GetServiceSettingsWithContext is the same as GetServiceSettings with the addition of
379// the ability to pass a context and additional request options.
380//
381// See GetServiceSettings for details on how to use this API operation.
382//
383// The context must be non-nil and will be used for request cancellation. If
384// the context is nil a panic will occur. In the future the SDK may create
385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
386// for more information on using Contexts.
387func (c *LicenseManager) GetServiceSettingsWithContext(ctx aws.Context, input *GetServiceSettingsInput, opts ...request.Option) (*GetServiceSettingsOutput, error) {
388	req, out := c.GetServiceSettingsRequest(input)
389	req.SetContext(ctx)
390	req.ApplyOptions(opts...)
391	return out, req.Send()
392}
393
394const opListAssociationsForLicenseConfiguration = "ListAssociationsForLicenseConfiguration"
395
396// ListAssociationsForLicenseConfigurationRequest generates a "aws/request.Request" representing the
397// client's request for the ListAssociationsForLicenseConfiguration operation. The "output" return
398// value will be populated with the request's response once the request completes
399// successfully.
400//
401// Use "Send" method on the returned Request to send the API call to the service.
402// the "output" return value is not valid until after Send returns without error.
403//
404// See ListAssociationsForLicenseConfiguration for more information on using the ListAssociationsForLicenseConfiguration
405// API call, and error handling.
406//
407// This method is useful when you want to inject custom logic or configuration
408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
409//
410//
411//    // Example sending a request using the ListAssociationsForLicenseConfigurationRequest method.
412//    req, resp := client.ListAssociationsForLicenseConfigurationRequest(params)
413//
414//    err := req.Send()
415//    if err == nil { // resp is now filled
416//        fmt.Println(resp)
417//    }
418//
419// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListAssociationsForLicenseConfiguration
420func (c *LicenseManager) ListAssociationsForLicenseConfigurationRequest(input *ListAssociationsForLicenseConfigurationInput) (req *request.Request, output *ListAssociationsForLicenseConfigurationOutput) {
421	op := &request.Operation{
422		Name:       opListAssociationsForLicenseConfiguration,
423		HTTPMethod: "POST",
424		HTTPPath:   "/",
425	}
426
427	if input == nil {
428		input = &ListAssociationsForLicenseConfigurationInput{}
429	}
430
431	output = &ListAssociationsForLicenseConfigurationOutput{}
432	req = c.newRequest(op, input, output)
433	return
434}
435
436// ListAssociationsForLicenseConfiguration API operation for AWS License Manager.
437//
438// Lists the resource associations for the specified license configuration.
439//
440// Resource associations need not consume licenses from a license configuration.
441// For example, an AMI or a stopped instance might not consume a license (depending
442// on the license rules).
443//
444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
445// with awserr.Error's Code and Message methods to get detailed information about
446// the error.
447//
448// See the AWS API reference guide for AWS License Manager's
449// API operation ListAssociationsForLicenseConfiguration for usage and error information.
450//
451// Returned Error Types:
452//   * InvalidParameterValueException
453//   One or more parameter values are not valid.
454//
455//   * FilterLimitExceededException
456//   The request uses too many filters or too many filter values.
457//
458//   * ServerInternalException
459//   The server experienced an internal error. Try again.
460//
461//   * AuthorizationException
462//   The AWS user account does not have permission to perform the action. Check
463//   the IAM policy associated with this account.
464//
465//   * AccessDeniedException
466//   Access to resource denied.
467//
468//   * RateLimitExceededException
469//   Too many requests have been submitted. Try again after a brief wait.
470//
471// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListAssociationsForLicenseConfiguration
472func (c *LicenseManager) ListAssociationsForLicenseConfiguration(input *ListAssociationsForLicenseConfigurationInput) (*ListAssociationsForLicenseConfigurationOutput, error) {
473	req, out := c.ListAssociationsForLicenseConfigurationRequest(input)
474	return out, req.Send()
475}
476
477// ListAssociationsForLicenseConfigurationWithContext is the same as ListAssociationsForLicenseConfiguration with the addition of
478// the ability to pass a context and additional request options.
479//
480// See ListAssociationsForLicenseConfiguration for details on how to use this API operation.
481//
482// The context must be non-nil and will be used for request cancellation. If
483// the context is nil a panic will occur. In the future the SDK may create
484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
485// for more information on using Contexts.
486func (c *LicenseManager) ListAssociationsForLicenseConfigurationWithContext(ctx aws.Context, input *ListAssociationsForLicenseConfigurationInput, opts ...request.Option) (*ListAssociationsForLicenseConfigurationOutput, error) {
487	req, out := c.ListAssociationsForLicenseConfigurationRequest(input)
488	req.SetContext(ctx)
489	req.ApplyOptions(opts...)
490	return out, req.Send()
491}
492
493const opListFailuresForLicenseConfigurationOperations = "ListFailuresForLicenseConfigurationOperations"
494
495// ListFailuresForLicenseConfigurationOperationsRequest generates a "aws/request.Request" representing the
496// client's request for the ListFailuresForLicenseConfigurationOperations operation. The "output" return
497// value will be populated with the request's response once the request completes
498// successfully.
499//
500// Use "Send" method on the returned Request to send the API call to the service.
501// the "output" return value is not valid until after Send returns without error.
502//
503// See ListFailuresForLicenseConfigurationOperations for more information on using the ListFailuresForLicenseConfigurationOperations
504// API call, and error handling.
505//
506// This method is useful when you want to inject custom logic or configuration
507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
508//
509//
510//    // Example sending a request using the ListFailuresForLicenseConfigurationOperationsRequest method.
511//    req, resp := client.ListFailuresForLicenseConfigurationOperationsRequest(params)
512//
513//    err := req.Send()
514//    if err == nil { // resp is now filled
515//        fmt.Println(resp)
516//    }
517//
518// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListFailuresForLicenseConfigurationOperations
519func (c *LicenseManager) ListFailuresForLicenseConfigurationOperationsRequest(input *ListFailuresForLicenseConfigurationOperationsInput) (req *request.Request, output *ListFailuresForLicenseConfigurationOperationsOutput) {
520	op := &request.Operation{
521		Name:       opListFailuresForLicenseConfigurationOperations,
522		HTTPMethod: "POST",
523		HTTPPath:   "/",
524	}
525
526	if input == nil {
527		input = &ListFailuresForLicenseConfigurationOperationsInput{}
528	}
529
530	output = &ListFailuresForLicenseConfigurationOperationsOutput{}
531	req = c.newRequest(op, input, output)
532	return
533}
534
535// ListFailuresForLicenseConfigurationOperations API operation for AWS License Manager.
536//
537// Lists the license configuration operations that failed.
538//
539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
540// with awserr.Error's Code and Message methods to get detailed information about
541// the error.
542//
543// See the AWS API reference guide for AWS License Manager's
544// API operation ListFailuresForLicenseConfigurationOperations for usage and error information.
545//
546// Returned Error Types:
547//   * InvalidParameterValueException
548//   One or more parameter values are not valid.
549//
550//   * ServerInternalException
551//   The server experienced an internal error. Try again.
552//
553//   * AuthorizationException
554//   The AWS user account does not have permission to perform the action. Check
555//   the IAM policy associated with this account.
556//
557//   * AccessDeniedException
558//   Access to resource denied.
559//
560//   * RateLimitExceededException
561//   Too many requests have been submitted. Try again after a brief wait.
562//
563// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListFailuresForLicenseConfigurationOperations
564func (c *LicenseManager) ListFailuresForLicenseConfigurationOperations(input *ListFailuresForLicenseConfigurationOperationsInput) (*ListFailuresForLicenseConfigurationOperationsOutput, error) {
565	req, out := c.ListFailuresForLicenseConfigurationOperationsRequest(input)
566	return out, req.Send()
567}
568
569// ListFailuresForLicenseConfigurationOperationsWithContext is the same as ListFailuresForLicenseConfigurationOperations with the addition of
570// the ability to pass a context and additional request options.
571//
572// See ListFailuresForLicenseConfigurationOperations for details on how to use this API operation.
573//
574// The context must be non-nil and will be used for request cancellation. If
575// the context is nil a panic will occur. In the future the SDK may create
576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
577// for more information on using Contexts.
578func (c *LicenseManager) ListFailuresForLicenseConfigurationOperationsWithContext(ctx aws.Context, input *ListFailuresForLicenseConfigurationOperationsInput, opts ...request.Option) (*ListFailuresForLicenseConfigurationOperationsOutput, error) {
579	req, out := c.ListFailuresForLicenseConfigurationOperationsRequest(input)
580	req.SetContext(ctx)
581	req.ApplyOptions(opts...)
582	return out, req.Send()
583}
584
585const opListLicenseConfigurations = "ListLicenseConfigurations"
586
587// ListLicenseConfigurationsRequest generates a "aws/request.Request" representing the
588// client's request for the ListLicenseConfigurations operation. The "output" return
589// value will be populated with the request's response once the request completes
590// successfully.
591//
592// Use "Send" method on the returned Request to send the API call to the service.
593// the "output" return value is not valid until after Send returns without error.
594//
595// See ListLicenseConfigurations for more information on using the ListLicenseConfigurations
596// API call, and error handling.
597//
598// This method is useful when you want to inject custom logic or configuration
599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
600//
601//
602//    // Example sending a request using the ListLicenseConfigurationsRequest method.
603//    req, resp := client.ListLicenseConfigurationsRequest(params)
604//
605//    err := req.Send()
606//    if err == nil { // resp is now filled
607//        fmt.Println(resp)
608//    }
609//
610// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseConfigurations
611func (c *LicenseManager) ListLicenseConfigurationsRequest(input *ListLicenseConfigurationsInput) (req *request.Request, output *ListLicenseConfigurationsOutput) {
612	op := &request.Operation{
613		Name:       opListLicenseConfigurations,
614		HTTPMethod: "POST",
615		HTTPPath:   "/",
616	}
617
618	if input == nil {
619		input = &ListLicenseConfigurationsInput{}
620	}
621
622	output = &ListLicenseConfigurationsOutput{}
623	req = c.newRequest(op, input, output)
624	return
625}
626
627// ListLicenseConfigurations API operation for AWS License Manager.
628//
629// Lists the license configurations for your account.
630//
631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
632// with awserr.Error's Code and Message methods to get detailed information about
633// the error.
634//
635// See the AWS API reference guide for AWS License Manager's
636// API operation ListLicenseConfigurations for usage and error information.
637//
638// Returned Error Types:
639//   * InvalidParameterValueException
640//   One or more parameter values are not valid.
641//
642//   * ServerInternalException
643//   The server experienced an internal error. Try again.
644//
645//   * FilterLimitExceededException
646//   The request uses too many filters or too many filter values.
647//
648//   * AuthorizationException
649//   The AWS user account does not have permission to perform the action. Check
650//   the IAM policy associated with this account.
651//
652//   * AccessDeniedException
653//   Access to resource denied.
654//
655//   * RateLimitExceededException
656//   Too many requests have been submitted. Try again after a brief wait.
657//
658// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseConfigurations
659func (c *LicenseManager) ListLicenseConfigurations(input *ListLicenseConfigurationsInput) (*ListLicenseConfigurationsOutput, error) {
660	req, out := c.ListLicenseConfigurationsRequest(input)
661	return out, req.Send()
662}
663
664// ListLicenseConfigurationsWithContext is the same as ListLicenseConfigurations with the addition of
665// the ability to pass a context and additional request options.
666//
667// See ListLicenseConfigurations for details on how to use this API operation.
668//
669// The context must be non-nil and will be used for request cancellation. If
670// the context is nil a panic will occur. In the future the SDK may create
671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
672// for more information on using Contexts.
673func (c *LicenseManager) ListLicenseConfigurationsWithContext(ctx aws.Context, input *ListLicenseConfigurationsInput, opts ...request.Option) (*ListLicenseConfigurationsOutput, error) {
674	req, out := c.ListLicenseConfigurationsRequest(input)
675	req.SetContext(ctx)
676	req.ApplyOptions(opts...)
677	return out, req.Send()
678}
679
680const opListLicenseSpecificationsForResource = "ListLicenseSpecificationsForResource"
681
682// ListLicenseSpecificationsForResourceRequest generates a "aws/request.Request" representing the
683// client's request for the ListLicenseSpecificationsForResource operation. The "output" return
684// value will be populated with the request's response once the request completes
685// successfully.
686//
687// Use "Send" method on the returned Request to send the API call to the service.
688// the "output" return value is not valid until after Send returns without error.
689//
690// See ListLicenseSpecificationsForResource for more information on using the ListLicenseSpecificationsForResource
691// API call, and error handling.
692//
693// This method is useful when you want to inject custom logic or configuration
694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
695//
696//
697//    // Example sending a request using the ListLicenseSpecificationsForResourceRequest method.
698//    req, resp := client.ListLicenseSpecificationsForResourceRequest(params)
699//
700//    err := req.Send()
701//    if err == nil { // resp is now filled
702//        fmt.Println(resp)
703//    }
704//
705// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseSpecificationsForResource
706func (c *LicenseManager) ListLicenseSpecificationsForResourceRequest(input *ListLicenseSpecificationsForResourceInput) (req *request.Request, output *ListLicenseSpecificationsForResourceOutput) {
707	op := &request.Operation{
708		Name:       opListLicenseSpecificationsForResource,
709		HTTPMethod: "POST",
710		HTTPPath:   "/",
711	}
712
713	if input == nil {
714		input = &ListLicenseSpecificationsForResourceInput{}
715	}
716
717	output = &ListLicenseSpecificationsForResourceOutput{}
718	req = c.newRequest(op, input, output)
719	return
720}
721
722// ListLicenseSpecificationsForResource API operation for AWS License Manager.
723//
724// Describes the license configurations for the specified resource.
725//
726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
727// with awserr.Error's Code and Message methods to get detailed information about
728// the error.
729//
730// See the AWS API reference guide for AWS License Manager's
731// API operation ListLicenseSpecificationsForResource for usage and error information.
732//
733// Returned Error Types:
734//   * InvalidParameterValueException
735//   One or more parameter values are not valid.
736//
737//   * ServerInternalException
738//   The server experienced an internal error. Try again.
739//
740//   * AuthorizationException
741//   The AWS user account does not have permission to perform the action. Check
742//   the IAM policy associated with this account.
743//
744//   * AccessDeniedException
745//   Access to resource denied.
746//
747//   * RateLimitExceededException
748//   Too many requests have been submitted. Try again after a brief wait.
749//
750// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseSpecificationsForResource
751func (c *LicenseManager) ListLicenseSpecificationsForResource(input *ListLicenseSpecificationsForResourceInput) (*ListLicenseSpecificationsForResourceOutput, error) {
752	req, out := c.ListLicenseSpecificationsForResourceRequest(input)
753	return out, req.Send()
754}
755
756// ListLicenseSpecificationsForResourceWithContext is the same as ListLicenseSpecificationsForResource with the addition of
757// the ability to pass a context and additional request options.
758//
759// See ListLicenseSpecificationsForResource for details on how to use this API operation.
760//
761// The context must be non-nil and will be used for request cancellation. If
762// the context is nil a panic will occur. In the future the SDK may create
763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
764// for more information on using Contexts.
765func (c *LicenseManager) ListLicenseSpecificationsForResourceWithContext(ctx aws.Context, input *ListLicenseSpecificationsForResourceInput, opts ...request.Option) (*ListLicenseSpecificationsForResourceOutput, error) {
766	req, out := c.ListLicenseSpecificationsForResourceRequest(input)
767	req.SetContext(ctx)
768	req.ApplyOptions(opts...)
769	return out, req.Send()
770}
771
772const opListResourceInventory = "ListResourceInventory"
773
774// ListResourceInventoryRequest generates a "aws/request.Request" representing the
775// client's request for the ListResourceInventory operation. The "output" return
776// value will be populated with the request's response once the request completes
777// successfully.
778//
779// Use "Send" method on the returned Request to send the API call to the service.
780// the "output" return value is not valid until after Send returns without error.
781//
782// See ListResourceInventory for more information on using the ListResourceInventory
783// API call, and error handling.
784//
785// This method is useful when you want to inject custom logic or configuration
786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
787//
788//
789//    // Example sending a request using the ListResourceInventoryRequest method.
790//    req, resp := client.ListResourceInventoryRequest(params)
791//
792//    err := req.Send()
793//    if err == nil { // resp is now filled
794//        fmt.Println(resp)
795//    }
796//
797// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListResourceInventory
798func (c *LicenseManager) ListResourceInventoryRequest(input *ListResourceInventoryInput) (req *request.Request, output *ListResourceInventoryOutput) {
799	op := &request.Operation{
800		Name:       opListResourceInventory,
801		HTTPMethod: "POST",
802		HTTPPath:   "/",
803	}
804
805	if input == nil {
806		input = &ListResourceInventoryInput{}
807	}
808
809	output = &ListResourceInventoryOutput{}
810	req = c.newRequest(op, input, output)
811	return
812}
813
814// ListResourceInventory API operation for AWS License Manager.
815//
816// Lists resources managed using Systems Manager inventory.
817//
818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
819// with awserr.Error's Code and Message methods to get detailed information about
820// the error.
821//
822// See the AWS API reference guide for AWS License Manager's
823// API operation ListResourceInventory for usage and error information.
824//
825// Returned Error Types:
826//   * InvalidParameterValueException
827//   One or more parameter values are not valid.
828//
829//   * ServerInternalException
830//   The server experienced an internal error. Try again.
831//
832//   * FilterLimitExceededException
833//   The request uses too many filters or too many filter values.
834//
835//   * FailedDependencyException
836//   A dependency required to run the API is missing.
837//
838//   * AuthorizationException
839//   The AWS user account does not have permission to perform the action. Check
840//   the IAM policy associated with this account.
841//
842//   * AccessDeniedException
843//   Access to resource denied.
844//
845//   * RateLimitExceededException
846//   Too many requests have been submitted. Try again after a brief wait.
847//
848// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListResourceInventory
849func (c *LicenseManager) ListResourceInventory(input *ListResourceInventoryInput) (*ListResourceInventoryOutput, error) {
850	req, out := c.ListResourceInventoryRequest(input)
851	return out, req.Send()
852}
853
854// ListResourceInventoryWithContext is the same as ListResourceInventory with the addition of
855// the ability to pass a context and additional request options.
856//
857// See ListResourceInventory for details on how to use this API operation.
858//
859// The context must be non-nil and will be used for request cancellation. If
860// the context is nil a panic will occur. In the future the SDK may create
861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
862// for more information on using Contexts.
863func (c *LicenseManager) ListResourceInventoryWithContext(ctx aws.Context, input *ListResourceInventoryInput, opts ...request.Option) (*ListResourceInventoryOutput, error) {
864	req, out := c.ListResourceInventoryRequest(input)
865	req.SetContext(ctx)
866	req.ApplyOptions(opts...)
867	return out, req.Send()
868}
869
870const opListTagsForResource = "ListTagsForResource"
871
872// ListTagsForResourceRequest generates a "aws/request.Request" representing the
873// client's request for the ListTagsForResource operation. The "output" return
874// value will be populated with the request's response once the request completes
875// successfully.
876//
877// Use "Send" method on the returned Request to send the API call to the service.
878// the "output" return value is not valid until after Send returns without error.
879//
880// See ListTagsForResource for more information on using the ListTagsForResource
881// API call, and error handling.
882//
883// This method is useful when you want to inject custom logic or configuration
884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
885//
886//
887//    // Example sending a request using the ListTagsForResourceRequest method.
888//    req, resp := client.ListTagsForResourceRequest(params)
889//
890//    err := req.Send()
891//    if err == nil { // resp is now filled
892//        fmt.Println(resp)
893//    }
894//
895// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListTagsForResource
896func (c *LicenseManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
897	op := &request.Operation{
898		Name:       opListTagsForResource,
899		HTTPMethod: "POST",
900		HTTPPath:   "/",
901	}
902
903	if input == nil {
904		input = &ListTagsForResourceInput{}
905	}
906
907	output = &ListTagsForResourceOutput{}
908	req = c.newRequest(op, input, output)
909	return
910}
911
912// ListTagsForResource API operation for AWS License Manager.
913//
914// Lists the tags for the specified license configuration.
915//
916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
917// with awserr.Error's Code and Message methods to get detailed information about
918// the error.
919//
920// See the AWS API reference guide for AWS License Manager's
921// API operation ListTagsForResource for usage and error information.
922//
923// Returned Error Types:
924//   * InvalidParameterValueException
925//   One or more parameter values are not valid.
926//
927//   * ServerInternalException
928//   The server experienced an internal error. Try again.
929//
930//   * AuthorizationException
931//   The AWS user account does not have permission to perform the action. Check
932//   the IAM policy associated with this account.
933//
934//   * AccessDeniedException
935//   Access to resource denied.
936//
937//   * RateLimitExceededException
938//   Too many requests have been submitted. Try again after a brief wait.
939//
940// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListTagsForResource
941func (c *LicenseManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
942	req, out := c.ListTagsForResourceRequest(input)
943	return out, req.Send()
944}
945
946// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
947// the ability to pass a context and additional request options.
948//
949// See ListTagsForResource for details on how to use this API operation.
950//
951// The context must be non-nil and will be used for request cancellation. If
952// the context is nil a panic will occur. In the future the SDK may create
953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
954// for more information on using Contexts.
955func (c *LicenseManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
956	req, out := c.ListTagsForResourceRequest(input)
957	req.SetContext(ctx)
958	req.ApplyOptions(opts...)
959	return out, req.Send()
960}
961
962const opListUsageForLicenseConfiguration = "ListUsageForLicenseConfiguration"
963
964// ListUsageForLicenseConfigurationRequest generates a "aws/request.Request" representing the
965// client's request for the ListUsageForLicenseConfiguration operation. The "output" return
966// value will be populated with the request's response once the request completes
967// successfully.
968//
969// Use "Send" method on the returned Request to send the API call to the service.
970// the "output" return value is not valid until after Send returns without error.
971//
972// See ListUsageForLicenseConfiguration for more information on using the ListUsageForLicenseConfiguration
973// API call, and error handling.
974//
975// This method is useful when you want to inject custom logic or configuration
976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
977//
978//
979//    // Example sending a request using the ListUsageForLicenseConfigurationRequest method.
980//    req, resp := client.ListUsageForLicenseConfigurationRequest(params)
981//
982//    err := req.Send()
983//    if err == nil { // resp is now filled
984//        fmt.Println(resp)
985//    }
986//
987// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration
988func (c *LicenseManager) ListUsageForLicenseConfigurationRequest(input *ListUsageForLicenseConfigurationInput) (req *request.Request, output *ListUsageForLicenseConfigurationOutput) {
989	op := &request.Operation{
990		Name:       opListUsageForLicenseConfiguration,
991		HTTPMethod: "POST",
992		HTTPPath:   "/",
993	}
994
995	if input == nil {
996		input = &ListUsageForLicenseConfigurationInput{}
997	}
998
999	output = &ListUsageForLicenseConfigurationOutput{}
1000	req = c.newRequest(op, input, output)
1001	return
1002}
1003
1004// ListUsageForLicenseConfiguration API operation for AWS License Manager.
1005//
1006// Lists all license usage records for a license configuration, displaying license
1007// consumption details by resource at a selected point in time. Use this action
1008// to audit the current license consumption for any license inventory and configuration.
1009//
1010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1011// with awserr.Error's Code and Message methods to get detailed information about
1012// the error.
1013//
1014// See the AWS API reference guide for AWS License Manager's
1015// API operation ListUsageForLicenseConfiguration for usage and error information.
1016//
1017// Returned Error Types:
1018//   * InvalidParameterValueException
1019//   One or more parameter values are not valid.
1020//
1021//   * FilterLimitExceededException
1022//   The request uses too many filters or too many filter values.
1023//
1024//   * ServerInternalException
1025//   The server experienced an internal error. Try again.
1026//
1027//   * AuthorizationException
1028//   The AWS user account does not have permission to perform the action. Check
1029//   the IAM policy associated with this account.
1030//
1031//   * AccessDeniedException
1032//   Access to resource denied.
1033//
1034//   * RateLimitExceededException
1035//   Too many requests have been submitted. Try again after a brief wait.
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration
1038func (c *LicenseManager) ListUsageForLicenseConfiguration(input *ListUsageForLicenseConfigurationInput) (*ListUsageForLicenseConfigurationOutput, error) {
1039	req, out := c.ListUsageForLicenseConfigurationRequest(input)
1040	return out, req.Send()
1041}
1042
1043// ListUsageForLicenseConfigurationWithContext is the same as ListUsageForLicenseConfiguration with the addition of
1044// the ability to pass a context and additional request options.
1045//
1046// See ListUsageForLicenseConfiguration for details on how to use this API operation.
1047//
1048// The context must be non-nil and will be used for request cancellation. If
1049// the context is nil a panic will occur. In the future the SDK may create
1050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1051// for more information on using Contexts.
1052func (c *LicenseManager) ListUsageForLicenseConfigurationWithContext(ctx aws.Context, input *ListUsageForLicenseConfigurationInput, opts ...request.Option) (*ListUsageForLicenseConfigurationOutput, error) {
1053	req, out := c.ListUsageForLicenseConfigurationRequest(input)
1054	req.SetContext(ctx)
1055	req.ApplyOptions(opts...)
1056	return out, req.Send()
1057}
1058
1059const opTagResource = "TagResource"
1060
1061// TagResourceRequest generates a "aws/request.Request" representing the
1062// client's request for the TagResource operation. The "output" return
1063// value will be populated with the request's response once the request completes
1064// successfully.
1065//
1066// Use "Send" method on the returned Request to send the API call to the service.
1067// the "output" return value is not valid until after Send returns without error.
1068//
1069// See TagResource for more information on using the TagResource
1070// API call, and error handling.
1071//
1072// This method is useful when you want to inject custom logic or configuration
1073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1074//
1075//
1076//    // Example sending a request using the TagResourceRequest method.
1077//    req, resp := client.TagResourceRequest(params)
1078//
1079//    err := req.Send()
1080//    if err == nil { // resp is now filled
1081//        fmt.Println(resp)
1082//    }
1083//
1084// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/TagResource
1085func (c *LicenseManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1086	op := &request.Operation{
1087		Name:       opTagResource,
1088		HTTPMethod: "POST",
1089		HTTPPath:   "/",
1090	}
1091
1092	if input == nil {
1093		input = &TagResourceInput{}
1094	}
1095
1096	output = &TagResourceOutput{}
1097	req = c.newRequest(op, input, output)
1098	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1099	return
1100}
1101
1102// TagResource API operation for AWS License Manager.
1103//
1104// Adds the specified tags to the specified license configuration.
1105//
1106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1107// with awserr.Error's Code and Message methods to get detailed information about
1108// the error.
1109//
1110// See the AWS API reference guide for AWS License Manager's
1111// API operation TagResource for usage and error information.
1112//
1113// Returned Error Types:
1114//   * InvalidParameterValueException
1115//   One or more parameter values are not valid.
1116//
1117//   * ServerInternalException
1118//   The server experienced an internal error. Try again.
1119//
1120//   * AuthorizationException
1121//   The AWS user account does not have permission to perform the action. Check
1122//   the IAM policy associated with this account.
1123//
1124//   * AccessDeniedException
1125//   Access to resource denied.
1126//
1127//   * RateLimitExceededException
1128//   Too many requests have been submitted. Try again after a brief wait.
1129//
1130// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/TagResource
1131func (c *LicenseManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1132	req, out := c.TagResourceRequest(input)
1133	return out, req.Send()
1134}
1135
1136// TagResourceWithContext is the same as TagResource with the addition of
1137// the ability to pass a context and additional request options.
1138//
1139// See TagResource for details on how to use this API operation.
1140//
1141// The context must be non-nil and will be used for request cancellation. If
1142// the context is nil a panic will occur. In the future the SDK may create
1143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1144// for more information on using Contexts.
1145func (c *LicenseManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1146	req, out := c.TagResourceRequest(input)
1147	req.SetContext(ctx)
1148	req.ApplyOptions(opts...)
1149	return out, req.Send()
1150}
1151
1152const opUntagResource = "UntagResource"
1153
1154// UntagResourceRequest generates a "aws/request.Request" representing the
1155// client's request for the UntagResource operation. The "output" return
1156// value will be populated with the request's response once the request completes
1157// successfully.
1158//
1159// Use "Send" method on the returned Request to send the API call to the service.
1160// the "output" return value is not valid until after Send returns without error.
1161//
1162// See UntagResource for more information on using the UntagResource
1163// API call, and error handling.
1164//
1165// This method is useful when you want to inject custom logic or configuration
1166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1167//
1168//
1169//    // Example sending a request using the UntagResourceRequest method.
1170//    req, resp := client.UntagResourceRequest(params)
1171//
1172//    err := req.Send()
1173//    if err == nil { // resp is now filled
1174//        fmt.Println(resp)
1175//    }
1176//
1177// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UntagResource
1178func (c *LicenseManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1179	op := &request.Operation{
1180		Name:       opUntagResource,
1181		HTTPMethod: "POST",
1182		HTTPPath:   "/",
1183	}
1184
1185	if input == nil {
1186		input = &UntagResourceInput{}
1187	}
1188
1189	output = &UntagResourceOutput{}
1190	req = c.newRequest(op, input, output)
1191	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1192	return
1193}
1194
1195// UntagResource API operation for AWS License Manager.
1196//
1197// Removes the specified tags from the specified license configuration.
1198//
1199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1200// with awserr.Error's Code and Message methods to get detailed information about
1201// the error.
1202//
1203// See the AWS API reference guide for AWS License Manager's
1204// API operation UntagResource for usage and error information.
1205//
1206// Returned Error Types:
1207//   * InvalidParameterValueException
1208//   One or more parameter values are not valid.
1209//
1210//   * ServerInternalException
1211//   The server experienced an internal error. Try again.
1212//
1213//   * AuthorizationException
1214//   The AWS user account does not have permission to perform the action. Check
1215//   the IAM policy associated with this account.
1216//
1217//   * AccessDeniedException
1218//   Access to resource denied.
1219//
1220//   * RateLimitExceededException
1221//   Too many requests have been submitted. Try again after a brief wait.
1222//
1223// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UntagResource
1224func (c *LicenseManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1225	req, out := c.UntagResourceRequest(input)
1226	return out, req.Send()
1227}
1228
1229// UntagResourceWithContext is the same as UntagResource with the addition of
1230// the ability to pass a context and additional request options.
1231//
1232// See UntagResource for details on how to use this API operation.
1233//
1234// The context must be non-nil and will be used for request cancellation. If
1235// the context is nil a panic will occur. In the future the SDK may create
1236// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1237// for more information on using Contexts.
1238func (c *LicenseManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1239	req, out := c.UntagResourceRequest(input)
1240	req.SetContext(ctx)
1241	req.ApplyOptions(opts...)
1242	return out, req.Send()
1243}
1244
1245const opUpdateLicenseConfiguration = "UpdateLicenseConfiguration"
1246
1247// UpdateLicenseConfigurationRequest generates a "aws/request.Request" representing the
1248// client's request for the UpdateLicenseConfiguration operation. The "output" return
1249// value will be populated with the request's response once the request completes
1250// successfully.
1251//
1252// Use "Send" method on the returned Request to send the API call to the service.
1253// the "output" return value is not valid until after Send returns without error.
1254//
1255// See UpdateLicenseConfiguration for more information on using the UpdateLicenseConfiguration
1256// API call, and error handling.
1257//
1258// This method is useful when you want to inject custom logic or configuration
1259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1260//
1261//
1262//    // Example sending a request using the UpdateLicenseConfigurationRequest method.
1263//    req, resp := client.UpdateLicenseConfigurationRequest(params)
1264//
1265//    err := req.Send()
1266//    if err == nil { // resp is now filled
1267//        fmt.Println(resp)
1268//    }
1269//
1270// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration
1271func (c *LicenseManager) UpdateLicenseConfigurationRequest(input *UpdateLicenseConfigurationInput) (req *request.Request, output *UpdateLicenseConfigurationOutput) {
1272	op := &request.Operation{
1273		Name:       opUpdateLicenseConfiguration,
1274		HTTPMethod: "POST",
1275		HTTPPath:   "/",
1276	}
1277
1278	if input == nil {
1279		input = &UpdateLicenseConfigurationInput{}
1280	}
1281
1282	output = &UpdateLicenseConfigurationOutput{}
1283	req = c.newRequest(op, input, output)
1284	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1285	return
1286}
1287
1288// UpdateLicenseConfiguration API operation for AWS License Manager.
1289//
1290// Modifies the attributes of an existing license configuration.
1291//
1292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1293// with awserr.Error's Code and Message methods to get detailed information about
1294// the error.
1295//
1296// See the AWS API reference guide for AWS License Manager's
1297// API operation UpdateLicenseConfiguration for usage and error information.
1298//
1299// Returned Error Types:
1300//   * InvalidParameterValueException
1301//   One or more parameter values are not valid.
1302//
1303//   * ServerInternalException
1304//   The server experienced an internal error. Try again.
1305//
1306//   * AuthorizationException
1307//   The AWS user account does not have permission to perform the action. Check
1308//   the IAM policy associated with this account.
1309//
1310//   * AccessDeniedException
1311//   Access to resource denied.
1312//
1313//   * RateLimitExceededException
1314//   Too many requests have been submitted. Try again after a brief wait.
1315//
1316// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration
1317func (c *LicenseManager) UpdateLicenseConfiguration(input *UpdateLicenseConfigurationInput) (*UpdateLicenseConfigurationOutput, error) {
1318	req, out := c.UpdateLicenseConfigurationRequest(input)
1319	return out, req.Send()
1320}
1321
1322// UpdateLicenseConfigurationWithContext is the same as UpdateLicenseConfiguration with the addition of
1323// the ability to pass a context and additional request options.
1324//
1325// See UpdateLicenseConfiguration for details on how to use this API operation.
1326//
1327// The context must be non-nil and will be used for request cancellation. If
1328// the context is nil a panic will occur. In the future the SDK may create
1329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1330// for more information on using Contexts.
1331func (c *LicenseManager) UpdateLicenseConfigurationWithContext(ctx aws.Context, input *UpdateLicenseConfigurationInput, opts ...request.Option) (*UpdateLicenseConfigurationOutput, error) {
1332	req, out := c.UpdateLicenseConfigurationRequest(input)
1333	req.SetContext(ctx)
1334	req.ApplyOptions(opts...)
1335	return out, req.Send()
1336}
1337
1338const opUpdateLicenseSpecificationsForResource = "UpdateLicenseSpecificationsForResource"
1339
1340// UpdateLicenseSpecificationsForResourceRequest generates a "aws/request.Request" representing the
1341// client's request for the UpdateLicenseSpecificationsForResource operation. The "output" return
1342// value will be populated with the request's response once the request completes
1343// successfully.
1344//
1345// Use "Send" method on the returned Request to send the API call to the service.
1346// the "output" return value is not valid until after Send returns without error.
1347//
1348// See UpdateLicenseSpecificationsForResource for more information on using the UpdateLicenseSpecificationsForResource
1349// API call, and error handling.
1350//
1351// This method is useful when you want to inject custom logic or configuration
1352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1353//
1354//
1355//    // Example sending a request using the UpdateLicenseSpecificationsForResourceRequest method.
1356//    req, resp := client.UpdateLicenseSpecificationsForResourceRequest(params)
1357//
1358//    err := req.Send()
1359//    if err == nil { // resp is now filled
1360//        fmt.Println(resp)
1361//    }
1362//
1363// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource
1364func (c *LicenseManager) UpdateLicenseSpecificationsForResourceRequest(input *UpdateLicenseSpecificationsForResourceInput) (req *request.Request, output *UpdateLicenseSpecificationsForResourceOutput) {
1365	op := &request.Operation{
1366		Name:       opUpdateLicenseSpecificationsForResource,
1367		HTTPMethod: "POST",
1368		HTTPPath:   "/",
1369	}
1370
1371	if input == nil {
1372		input = &UpdateLicenseSpecificationsForResourceInput{}
1373	}
1374
1375	output = &UpdateLicenseSpecificationsForResourceOutput{}
1376	req = c.newRequest(op, input, output)
1377	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1378	return
1379}
1380
1381// UpdateLicenseSpecificationsForResource API operation for AWS License Manager.
1382//
1383// Adds or removes the specified license configurations for the specified AWS
1384// resource.
1385//
1386// You can update the license specifications of AMIs, instances, and hosts.
1387// You cannot update the license specifications for launch templates and AWS
1388// CloudFormation templates, as they send license configurations to the operation
1389// that creates the resource.
1390//
1391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1392// with awserr.Error's Code and Message methods to get detailed information about
1393// the error.
1394//
1395// See the AWS API reference guide for AWS License Manager's
1396// API operation UpdateLicenseSpecificationsForResource for usage and error information.
1397//
1398// Returned Error Types:
1399//   * InvalidParameterValueException
1400//   One or more parameter values are not valid.
1401//
1402//   * InvalidResourceStateException
1403//   License Manager cannot allocate a license to a resource because of its state.
1404//
1405//   For example, you cannot allocate a license to an instance in the process
1406//   of shutting down.
1407//
1408//   * LicenseUsageException
1409//   You do not have enough licenses available to support a new resource launch.
1410//
1411//   * ServerInternalException
1412//   The server experienced an internal error. Try again.
1413//
1414//   * AuthorizationException
1415//   The AWS user account does not have permission to perform the action. Check
1416//   the IAM policy associated with this account.
1417//
1418//   * AccessDeniedException
1419//   Access to resource denied.
1420//
1421//   * RateLimitExceededException
1422//   Too many requests have been submitted. Try again after a brief wait.
1423//
1424// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource
1425func (c *LicenseManager) UpdateLicenseSpecificationsForResource(input *UpdateLicenseSpecificationsForResourceInput) (*UpdateLicenseSpecificationsForResourceOutput, error) {
1426	req, out := c.UpdateLicenseSpecificationsForResourceRequest(input)
1427	return out, req.Send()
1428}
1429
1430// UpdateLicenseSpecificationsForResourceWithContext is the same as UpdateLicenseSpecificationsForResource with the addition of
1431// the ability to pass a context and additional request options.
1432//
1433// See UpdateLicenseSpecificationsForResource for details on how to use this API operation.
1434//
1435// The context must be non-nil and will be used for request cancellation. If
1436// the context is nil a panic will occur. In the future the SDK may create
1437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1438// for more information on using Contexts.
1439func (c *LicenseManager) UpdateLicenseSpecificationsForResourceWithContext(ctx aws.Context, input *UpdateLicenseSpecificationsForResourceInput, opts ...request.Option) (*UpdateLicenseSpecificationsForResourceOutput, error) {
1440	req, out := c.UpdateLicenseSpecificationsForResourceRequest(input)
1441	req.SetContext(ctx)
1442	req.ApplyOptions(opts...)
1443	return out, req.Send()
1444}
1445
1446const opUpdateServiceSettings = "UpdateServiceSettings"
1447
1448// UpdateServiceSettingsRequest generates a "aws/request.Request" representing the
1449// client's request for the UpdateServiceSettings operation. The "output" return
1450// value will be populated with the request's response once the request completes
1451// successfully.
1452//
1453// Use "Send" method on the returned Request to send the API call to the service.
1454// the "output" return value is not valid until after Send returns without error.
1455//
1456// See UpdateServiceSettings for more information on using the UpdateServiceSettings
1457// API call, and error handling.
1458//
1459// This method is useful when you want to inject custom logic or configuration
1460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1461//
1462//
1463//    // Example sending a request using the UpdateServiceSettingsRequest method.
1464//    req, resp := client.UpdateServiceSettingsRequest(params)
1465//
1466//    err := req.Send()
1467//    if err == nil { // resp is now filled
1468//        fmt.Println(resp)
1469//    }
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings
1472func (c *LicenseManager) UpdateServiceSettingsRequest(input *UpdateServiceSettingsInput) (req *request.Request, output *UpdateServiceSettingsOutput) {
1473	op := &request.Operation{
1474		Name:       opUpdateServiceSettings,
1475		HTTPMethod: "POST",
1476		HTTPPath:   "/",
1477	}
1478
1479	if input == nil {
1480		input = &UpdateServiceSettingsInput{}
1481	}
1482
1483	output = &UpdateServiceSettingsOutput{}
1484	req = c.newRequest(op, input, output)
1485	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1486	return
1487}
1488
1489// UpdateServiceSettings API operation for AWS License Manager.
1490//
1491// Updates License Manager settings for the current Region.
1492//
1493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1494// with awserr.Error's Code and Message methods to get detailed information about
1495// the error.
1496//
1497// See the AWS API reference guide for AWS License Manager's
1498// API operation UpdateServiceSettings for usage and error information.
1499//
1500// Returned Error Types:
1501//   * InvalidParameterValueException
1502//   One or more parameter values are not valid.
1503//
1504//   * ServerInternalException
1505//   The server experienced an internal error. Try again.
1506//
1507//   * AuthorizationException
1508//   The AWS user account does not have permission to perform the action. Check
1509//   the IAM policy associated with this account.
1510//
1511//   * AccessDeniedException
1512//   Access to resource denied.
1513//
1514//   * RateLimitExceededException
1515//   Too many requests have been submitted. Try again after a brief wait.
1516//
1517// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings
1518func (c *LicenseManager) UpdateServiceSettings(input *UpdateServiceSettingsInput) (*UpdateServiceSettingsOutput, error) {
1519	req, out := c.UpdateServiceSettingsRequest(input)
1520	return out, req.Send()
1521}
1522
1523// UpdateServiceSettingsWithContext is the same as UpdateServiceSettings with the addition of
1524// the ability to pass a context and additional request options.
1525//
1526// See UpdateServiceSettings for details on how to use this API operation.
1527//
1528// The context must be non-nil and will be used for request cancellation. If
1529// the context is nil a panic will occur. In the future the SDK may create
1530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1531// for more information on using Contexts.
1532func (c *LicenseManager) UpdateServiceSettingsWithContext(ctx aws.Context, input *UpdateServiceSettingsInput, opts ...request.Option) (*UpdateServiceSettingsOutput, error) {
1533	req, out := c.UpdateServiceSettingsRequest(input)
1534	req.SetContext(ctx)
1535	req.ApplyOptions(opts...)
1536	return out, req.Send()
1537}
1538
1539// Access to resource denied.
1540type AccessDeniedException struct {
1541	_            struct{}                  `type:"structure"`
1542	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1543
1544	Message_ *string `locationName:"Message" type:"string"`
1545}
1546
1547// String returns the string representation
1548func (s AccessDeniedException) String() string {
1549	return awsutil.Prettify(s)
1550}
1551
1552// GoString returns the string representation
1553func (s AccessDeniedException) GoString() string {
1554	return s.String()
1555}
1556
1557func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
1558	return &AccessDeniedException{
1559		RespMetadata: v,
1560	}
1561}
1562
1563// Code returns the exception type name.
1564func (s *AccessDeniedException) Code() string {
1565	return "AccessDeniedException"
1566}
1567
1568// Message returns the exception's message.
1569func (s *AccessDeniedException) Message() string {
1570	if s.Message_ != nil {
1571		return *s.Message_
1572	}
1573	return ""
1574}
1575
1576// OrigErr always returns nil, satisfies awserr.Error interface.
1577func (s *AccessDeniedException) OrigErr() error {
1578	return nil
1579}
1580
1581func (s *AccessDeniedException) Error() string {
1582	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1583}
1584
1585// Status code returns the HTTP status code for the request's response error.
1586func (s *AccessDeniedException) StatusCode() int {
1587	return s.RespMetadata.StatusCode
1588}
1589
1590// RequestID returns the service's response RequestID for request.
1591func (s *AccessDeniedException) RequestID() string {
1592	return s.RespMetadata.RequestID
1593}
1594
1595// The AWS user account does not have permission to perform the action. Check
1596// the IAM policy associated with this account.
1597type AuthorizationException struct {
1598	_            struct{}                  `type:"structure"`
1599	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1600
1601	Message_ *string `locationName:"Message" type:"string"`
1602}
1603
1604// String returns the string representation
1605func (s AuthorizationException) String() string {
1606	return awsutil.Prettify(s)
1607}
1608
1609// GoString returns the string representation
1610func (s AuthorizationException) GoString() string {
1611	return s.String()
1612}
1613
1614func newErrorAuthorizationException(v protocol.ResponseMetadata) error {
1615	return &AuthorizationException{
1616		RespMetadata: v,
1617	}
1618}
1619
1620// Code returns the exception type name.
1621func (s *AuthorizationException) Code() string {
1622	return "AuthorizationException"
1623}
1624
1625// Message returns the exception's message.
1626func (s *AuthorizationException) Message() string {
1627	if s.Message_ != nil {
1628		return *s.Message_
1629	}
1630	return ""
1631}
1632
1633// OrigErr always returns nil, satisfies awserr.Error interface.
1634func (s *AuthorizationException) OrigErr() error {
1635	return nil
1636}
1637
1638func (s *AuthorizationException) Error() string {
1639	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1640}
1641
1642// Status code returns the HTTP status code for the request's response error.
1643func (s *AuthorizationException) StatusCode() int {
1644	return s.RespMetadata.StatusCode
1645}
1646
1647// RequestID returns the service's response RequestID for request.
1648func (s *AuthorizationException) RequestID() string {
1649	return s.RespMetadata.RequestID
1650}
1651
1652// Describes automated discovery.
1653type AutomatedDiscoveryInformation struct {
1654	_ struct{} `type:"structure"`
1655
1656	// Time that automated discovery last ran.
1657	LastRunTime *time.Time `type:"timestamp"`
1658}
1659
1660// String returns the string representation
1661func (s AutomatedDiscoveryInformation) String() string {
1662	return awsutil.Prettify(s)
1663}
1664
1665// GoString returns the string representation
1666func (s AutomatedDiscoveryInformation) GoString() string {
1667	return s.String()
1668}
1669
1670// SetLastRunTime sets the LastRunTime field's value.
1671func (s *AutomatedDiscoveryInformation) SetLastRunTime(v time.Time) *AutomatedDiscoveryInformation {
1672	s.LastRunTime = &v
1673	return s
1674}
1675
1676// Details about license consumption.
1677type ConsumedLicenseSummary struct {
1678	_ struct{} `type:"structure"`
1679
1680	// Number of licenses consumed by the resource.
1681	ConsumedLicenses *int64 `type:"long"`
1682
1683	// Resource type of the resource consuming a license.
1684	ResourceType *string `type:"string" enum:"ResourceType"`
1685}
1686
1687// String returns the string representation
1688func (s ConsumedLicenseSummary) String() string {
1689	return awsutil.Prettify(s)
1690}
1691
1692// GoString returns the string representation
1693func (s ConsumedLicenseSummary) GoString() string {
1694	return s.String()
1695}
1696
1697// SetConsumedLicenses sets the ConsumedLicenses field's value.
1698func (s *ConsumedLicenseSummary) SetConsumedLicenses(v int64) *ConsumedLicenseSummary {
1699	s.ConsumedLicenses = &v
1700	return s
1701}
1702
1703// SetResourceType sets the ResourceType field's value.
1704func (s *ConsumedLicenseSummary) SetResourceType(v string) *ConsumedLicenseSummary {
1705	s.ResourceType = &v
1706	return s
1707}
1708
1709type CreateLicenseConfigurationInput struct {
1710	_ struct{} `type:"structure"`
1711
1712	// Description of the license configuration.
1713	Description *string `type:"string"`
1714
1715	// Number of licenses managed by the license configuration.
1716	LicenseCount *int64 `type:"long"`
1717
1718	// Indicates whether hard or soft license enforcement is used. Exceeding a hard
1719	// limit blocks the launch of new instances.
1720	LicenseCountHardLimit *bool `type:"boolean"`
1721
1722	// Dimension used to track the license inventory.
1723	//
1724	// LicenseCountingType is a required field
1725	LicenseCountingType *string `type:"string" required:"true" enum:"LicenseCountingType"`
1726
1727	// License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost).
1728	// The available rules vary by dimension, as follows.
1729	//
1730	//    * Cores dimension: allowedTenancy | licenseAffinityToHost | maximumCores
1731	//    | minimumCores
1732	//
1733	//    * Instances dimension: allowedTenancy | maximumCores | minimumCores |
1734	//    maximumSockets | minimumSockets | maximumVcpus | minimumVcpus
1735	//
1736	//    * Sockets dimension: allowedTenancy | licenseAffinityToHost | maximumSockets
1737	//    | minimumSockets
1738	//
1739	//    * vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus
1740	//    | minimumVcpus
1741	//
1742	// The unit for licenseAffinityToHost is days and the range is 1 to 180. The
1743	// possible values for allowedTenancy are EC2-Default, EC2-DedicatedHost, and
1744	// EC2-DedicatedInstance. The possible values for honorVcpuOptimization are
1745	// True and False.
1746	LicenseRules []*string `type:"list"`
1747
1748	// Name of the license configuration.
1749	//
1750	// Name is a required field
1751	Name *string `type:"string" required:"true"`
1752
1753	// Product information.
1754	ProductInformationList []*ProductInformation `type:"list"`
1755
1756	// Tags to add to the license configuration.
1757	Tags []*Tag `type:"list"`
1758}
1759
1760// String returns the string representation
1761func (s CreateLicenseConfigurationInput) String() string {
1762	return awsutil.Prettify(s)
1763}
1764
1765// GoString returns the string representation
1766func (s CreateLicenseConfigurationInput) GoString() string {
1767	return s.String()
1768}
1769
1770// Validate inspects the fields of the type to determine if they are valid.
1771func (s *CreateLicenseConfigurationInput) Validate() error {
1772	invalidParams := request.ErrInvalidParams{Context: "CreateLicenseConfigurationInput"}
1773	if s.LicenseCountingType == nil {
1774		invalidParams.Add(request.NewErrParamRequired("LicenseCountingType"))
1775	}
1776	if s.Name == nil {
1777		invalidParams.Add(request.NewErrParamRequired("Name"))
1778	}
1779	if s.ProductInformationList != nil {
1780		for i, v := range s.ProductInformationList {
1781			if v == nil {
1782				continue
1783			}
1784			if err := v.Validate(); err != nil {
1785				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationList", i), err.(request.ErrInvalidParams))
1786			}
1787		}
1788	}
1789
1790	if invalidParams.Len() > 0 {
1791		return invalidParams
1792	}
1793	return nil
1794}
1795
1796// SetDescription sets the Description field's value.
1797func (s *CreateLicenseConfigurationInput) SetDescription(v string) *CreateLicenseConfigurationInput {
1798	s.Description = &v
1799	return s
1800}
1801
1802// SetLicenseCount sets the LicenseCount field's value.
1803func (s *CreateLicenseConfigurationInput) SetLicenseCount(v int64) *CreateLicenseConfigurationInput {
1804	s.LicenseCount = &v
1805	return s
1806}
1807
1808// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value.
1809func (s *CreateLicenseConfigurationInput) SetLicenseCountHardLimit(v bool) *CreateLicenseConfigurationInput {
1810	s.LicenseCountHardLimit = &v
1811	return s
1812}
1813
1814// SetLicenseCountingType sets the LicenseCountingType field's value.
1815func (s *CreateLicenseConfigurationInput) SetLicenseCountingType(v string) *CreateLicenseConfigurationInput {
1816	s.LicenseCountingType = &v
1817	return s
1818}
1819
1820// SetLicenseRules sets the LicenseRules field's value.
1821func (s *CreateLicenseConfigurationInput) SetLicenseRules(v []*string) *CreateLicenseConfigurationInput {
1822	s.LicenseRules = v
1823	return s
1824}
1825
1826// SetName sets the Name field's value.
1827func (s *CreateLicenseConfigurationInput) SetName(v string) *CreateLicenseConfigurationInput {
1828	s.Name = &v
1829	return s
1830}
1831
1832// SetProductInformationList sets the ProductInformationList field's value.
1833func (s *CreateLicenseConfigurationInput) SetProductInformationList(v []*ProductInformation) *CreateLicenseConfigurationInput {
1834	s.ProductInformationList = v
1835	return s
1836}
1837
1838// SetTags sets the Tags field's value.
1839func (s *CreateLicenseConfigurationInput) SetTags(v []*Tag) *CreateLicenseConfigurationInput {
1840	s.Tags = v
1841	return s
1842}
1843
1844type CreateLicenseConfigurationOutput struct {
1845	_ struct{} `type:"structure"`
1846
1847	// Amazon Resource Name (ARN) of the license configuration.
1848	LicenseConfigurationArn *string `type:"string"`
1849}
1850
1851// String returns the string representation
1852func (s CreateLicenseConfigurationOutput) String() string {
1853	return awsutil.Prettify(s)
1854}
1855
1856// GoString returns the string representation
1857func (s CreateLicenseConfigurationOutput) GoString() string {
1858	return s.String()
1859}
1860
1861// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
1862func (s *CreateLicenseConfigurationOutput) SetLicenseConfigurationArn(v string) *CreateLicenseConfigurationOutput {
1863	s.LicenseConfigurationArn = &v
1864	return s
1865}
1866
1867type DeleteLicenseConfigurationInput struct {
1868	_ struct{} `type:"structure"`
1869
1870	// ID of the license configuration.
1871	//
1872	// LicenseConfigurationArn is a required field
1873	LicenseConfigurationArn *string `type:"string" required:"true"`
1874}
1875
1876// String returns the string representation
1877func (s DeleteLicenseConfigurationInput) String() string {
1878	return awsutil.Prettify(s)
1879}
1880
1881// GoString returns the string representation
1882func (s DeleteLicenseConfigurationInput) GoString() string {
1883	return s.String()
1884}
1885
1886// Validate inspects the fields of the type to determine if they are valid.
1887func (s *DeleteLicenseConfigurationInput) Validate() error {
1888	invalidParams := request.ErrInvalidParams{Context: "DeleteLicenseConfigurationInput"}
1889	if s.LicenseConfigurationArn == nil {
1890		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
1891	}
1892
1893	if invalidParams.Len() > 0 {
1894		return invalidParams
1895	}
1896	return nil
1897}
1898
1899// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
1900func (s *DeleteLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *DeleteLicenseConfigurationInput {
1901	s.LicenseConfigurationArn = &v
1902	return s
1903}
1904
1905type DeleteLicenseConfigurationOutput struct {
1906	_ struct{} `type:"structure"`
1907}
1908
1909// String returns the string representation
1910func (s DeleteLicenseConfigurationOutput) String() string {
1911	return awsutil.Prettify(s)
1912}
1913
1914// GoString returns the string representation
1915func (s DeleteLicenseConfigurationOutput) GoString() string {
1916	return s.String()
1917}
1918
1919// A dependency required to run the API is missing.
1920type FailedDependencyException struct {
1921	_            struct{}                  `type:"structure"`
1922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1923
1924	Message_ *string `locationName:"Message" type:"string"`
1925}
1926
1927// String returns the string representation
1928func (s FailedDependencyException) String() string {
1929	return awsutil.Prettify(s)
1930}
1931
1932// GoString returns the string representation
1933func (s FailedDependencyException) GoString() string {
1934	return s.String()
1935}
1936
1937func newErrorFailedDependencyException(v protocol.ResponseMetadata) error {
1938	return &FailedDependencyException{
1939		RespMetadata: v,
1940	}
1941}
1942
1943// Code returns the exception type name.
1944func (s *FailedDependencyException) Code() string {
1945	return "FailedDependencyException"
1946}
1947
1948// Message returns the exception's message.
1949func (s *FailedDependencyException) Message() string {
1950	if s.Message_ != nil {
1951		return *s.Message_
1952	}
1953	return ""
1954}
1955
1956// OrigErr always returns nil, satisfies awserr.Error interface.
1957func (s *FailedDependencyException) OrigErr() error {
1958	return nil
1959}
1960
1961func (s *FailedDependencyException) Error() string {
1962	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1963}
1964
1965// Status code returns the HTTP status code for the request's response error.
1966func (s *FailedDependencyException) StatusCode() int {
1967	return s.RespMetadata.StatusCode
1968}
1969
1970// RequestID returns the service's response RequestID for request.
1971func (s *FailedDependencyException) RequestID() string {
1972	return s.RespMetadata.RequestID
1973}
1974
1975// A filter name and value pair that is used to return more specific results
1976// from a describe operation. Filters can be used to match a set of resources
1977// by specific criteria, such as tags, attributes, or IDs.
1978type Filter struct {
1979	_ struct{} `type:"structure"`
1980
1981	// Name of the filter. Filter names are case-sensitive.
1982	Name *string `type:"string"`
1983
1984	// Filter values. Filter values are case-sensitive.
1985	Values []*string `type:"list"`
1986}
1987
1988// String returns the string representation
1989func (s Filter) String() string {
1990	return awsutil.Prettify(s)
1991}
1992
1993// GoString returns the string representation
1994func (s Filter) GoString() string {
1995	return s.String()
1996}
1997
1998// SetName sets the Name field's value.
1999func (s *Filter) SetName(v string) *Filter {
2000	s.Name = &v
2001	return s
2002}
2003
2004// SetValues sets the Values field's value.
2005func (s *Filter) SetValues(v []*string) *Filter {
2006	s.Values = v
2007	return s
2008}
2009
2010// The request uses too many filters or too many filter values.
2011type FilterLimitExceededException struct {
2012	_            struct{}                  `type:"structure"`
2013	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2014
2015	Message_ *string `locationName:"Message" type:"string"`
2016}
2017
2018// String returns the string representation
2019func (s FilterLimitExceededException) String() string {
2020	return awsutil.Prettify(s)
2021}
2022
2023// GoString returns the string representation
2024func (s FilterLimitExceededException) GoString() string {
2025	return s.String()
2026}
2027
2028func newErrorFilterLimitExceededException(v protocol.ResponseMetadata) error {
2029	return &FilterLimitExceededException{
2030		RespMetadata: v,
2031	}
2032}
2033
2034// Code returns the exception type name.
2035func (s *FilterLimitExceededException) Code() string {
2036	return "FilterLimitExceededException"
2037}
2038
2039// Message returns the exception's message.
2040func (s *FilterLimitExceededException) Message() string {
2041	if s.Message_ != nil {
2042		return *s.Message_
2043	}
2044	return ""
2045}
2046
2047// OrigErr always returns nil, satisfies awserr.Error interface.
2048func (s *FilterLimitExceededException) OrigErr() error {
2049	return nil
2050}
2051
2052func (s *FilterLimitExceededException) Error() string {
2053	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2054}
2055
2056// Status code returns the HTTP status code for the request's response error.
2057func (s *FilterLimitExceededException) StatusCode() int {
2058	return s.RespMetadata.StatusCode
2059}
2060
2061// RequestID returns the service's response RequestID for request.
2062func (s *FilterLimitExceededException) RequestID() string {
2063	return s.RespMetadata.RequestID
2064}
2065
2066type GetLicenseConfigurationInput struct {
2067	_ struct{} `type:"structure"`
2068
2069	// Amazon Resource Name (ARN) of the license configuration.
2070	//
2071	// LicenseConfigurationArn is a required field
2072	LicenseConfigurationArn *string `type:"string" required:"true"`
2073}
2074
2075// String returns the string representation
2076func (s GetLicenseConfigurationInput) String() string {
2077	return awsutil.Prettify(s)
2078}
2079
2080// GoString returns the string representation
2081func (s GetLicenseConfigurationInput) GoString() string {
2082	return s.String()
2083}
2084
2085// Validate inspects the fields of the type to determine if they are valid.
2086func (s *GetLicenseConfigurationInput) Validate() error {
2087	invalidParams := request.ErrInvalidParams{Context: "GetLicenseConfigurationInput"}
2088	if s.LicenseConfigurationArn == nil {
2089		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
2090	}
2091
2092	if invalidParams.Len() > 0 {
2093		return invalidParams
2094	}
2095	return nil
2096}
2097
2098// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
2099func (s *GetLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *GetLicenseConfigurationInput {
2100	s.LicenseConfigurationArn = &v
2101	return s
2102}
2103
2104type GetLicenseConfigurationOutput struct {
2105	_ struct{} `type:"structure"`
2106
2107	// Automated discovery information.
2108	AutomatedDiscoveryInformation *AutomatedDiscoveryInformation `type:"structure"`
2109
2110	// Summaries of the licenses consumed by resources.
2111	ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"`
2112
2113	// Number of licenses assigned to resources.
2114	ConsumedLicenses *int64 `type:"long"`
2115
2116	// Description of the license configuration.
2117	Description *string `type:"string"`
2118
2119	// Amazon Resource Name (ARN) of the license configuration.
2120	LicenseConfigurationArn *string `type:"string"`
2121
2122	// Unique ID for the license configuration.
2123	LicenseConfigurationId *string `type:"string"`
2124
2125	// Number of available licenses.
2126	LicenseCount *int64 `type:"long"`
2127
2128	// Sets the number of available licenses as a hard limit.
2129	LicenseCountHardLimit *bool `type:"boolean"`
2130
2131	// Dimension on which the licenses are counted.
2132	LicenseCountingType *string `type:"string" enum:"LicenseCountingType"`
2133
2134	// License rules.
2135	LicenseRules []*string `type:"list"`
2136
2137	// Summaries of the managed resources.
2138	ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"`
2139
2140	// Name of the license configuration.
2141	Name *string `type:"string"`
2142
2143	// Account ID of the owner of the license configuration.
2144	OwnerAccountId *string `type:"string"`
2145
2146	// Product information.
2147	ProductInformationList []*ProductInformation `type:"list"`
2148
2149	// License configuration status.
2150	Status *string `type:"string"`
2151
2152	// Tags for the license configuration.
2153	Tags []*Tag `type:"list"`
2154}
2155
2156// String returns the string representation
2157func (s GetLicenseConfigurationOutput) String() string {
2158	return awsutil.Prettify(s)
2159}
2160
2161// GoString returns the string representation
2162func (s GetLicenseConfigurationOutput) GoString() string {
2163	return s.String()
2164}
2165
2166// SetAutomatedDiscoveryInformation sets the AutomatedDiscoveryInformation field's value.
2167func (s *GetLicenseConfigurationOutput) SetAutomatedDiscoveryInformation(v *AutomatedDiscoveryInformation) *GetLicenseConfigurationOutput {
2168	s.AutomatedDiscoveryInformation = v
2169	return s
2170}
2171
2172// SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value.
2173func (s *GetLicenseConfigurationOutput) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *GetLicenseConfigurationOutput {
2174	s.ConsumedLicenseSummaryList = v
2175	return s
2176}
2177
2178// SetConsumedLicenses sets the ConsumedLicenses field's value.
2179func (s *GetLicenseConfigurationOutput) SetConsumedLicenses(v int64) *GetLicenseConfigurationOutput {
2180	s.ConsumedLicenses = &v
2181	return s
2182}
2183
2184// SetDescription sets the Description field's value.
2185func (s *GetLicenseConfigurationOutput) SetDescription(v string) *GetLicenseConfigurationOutput {
2186	s.Description = &v
2187	return s
2188}
2189
2190// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
2191func (s *GetLicenseConfigurationOutput) SetLicenseConfigurationArn(v string) *GetLicenseConfigurationOutput {
2192	s.LicenseConfigurationArn = &v
2193	return s
2194}
2195
2196// SetLicenseConfigurationId sets the LicenseConfigurationId field's value.
2197func (s *GetLicenseConfigurationOutput) SetLicenseConfigurationId(v string) *GetLicenseConfigurationOutput {
2198	s.LicenseConfigurationId = &v
2199	return s
2200}
2201
2202// SetLicenseCount sets the LicenseCount field's value.
2203func (s *GetLicenseConfigurationOutput) SetLicenseCount(v int64) *GetLicenseConfigurationOutput {
2204	s.LicenseCount = &v
2205	return s
2206}
2207
2208// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value.
2209func (s *GetLicenseConfigurationOutput) SetLicenseCountHardLimit(v bool) *GetLicenseConfigurationOutput {
2210	s.LicenseCountHardLimit = &v
2211	return s
2212}
2213
2214// SetLicenseCountingType sets the LicenseCountingType field's value.
2215func (s *GetLicenseConfigurationOutput) SetLicenseCountingType(v string) *GetLicenseConfigurationOutput {
2216	s.LicenseCountingType = &v
2217	return s
2218}
2219
2220// SetLicenseRules sets the LicenseRules field's value.
2221func (s *GetLicenseConfigurationOutput) SetLicenseRules(v []*string) *GetLicenseConfigurationOutput {
2222	s.LicenseRules = v
2223	return s
2224}
2225
2226// SetManagedResourceSummaryList sets the ManagedResourceSummaryList field's value.
2227func (s *GetLicenseConfigurationOutput) SetManagedResourceSummaryList(v []*ManagedResourceSummary) *GetLicenseConfigurationOutput {
2228	s.ManagedResourceSummaryList = v
2229	return s
2230}
2231
2232// SetName sets the Name field's value.
2233func (s *GetLicenseConfigurationOutput) SetName(v string) *GetLicenseConfigurationOutput {
2234	s.Name = &v
2235	return s
2236}
2237
2238// SetOwnerAccountId sets the OwnerAccountId field's value.
2239func (s *GetLicenseConfigurationOutput) SetOwnerAccountId(v string) *GetLicenseConfigurationOutput {
2240	s.OwnerAccountId = &v
2241	return s
2242}
2243
2244// SetProductInformationList sets the ProductInformationList field's value.
2245func (s *GetLicenseConfigurationOutput) SetProductInformationList(v []*ProductInformation) *GetLicenseConfigurationOutput {
2246	s.ProductInformationList = v
2247	return s
2248}
2249
2250// SetStatus sets the Status field's value.
2251func (s *GetLicenseConfigurationOutput) SetStatus(v string) *GetLicenseConfigurationOutput {
2252	s.Status = &v
2253	return s
2254}
2255
2256// SetTags sets the Tags field's value.
2257func (s *GetLicenseConfigurationOutput) SetTags(v []*Tag) *GetLicenseConfigurationOutput {
2258	s.Tags = v
2259	return s
2260}
2261
2262type GetServiceSettingsInput struct {
2263	_ struct{} `type:"structure"`
2264}
2265
2266// String returns the string representation
2267func (s GetServiceSettingsInput) String() string {
2268	return awsutil.Prettify(s)
2269}
2270
2271// GoString returns the string representation
2272func (s GetServiceSettingsInput) GoString() string {
2273	return s.String()
2274}
2275
2276type GetServiceSettingsOutput struct {
2277	_ struct{} `type:"structure"`
2278
2279	// Indicates whether cross-account discovery has been enabled.
2280	EnableCrossAccountsDiscovery *bool `type:"boolean"`
2281
2282	// Amazon Resource Name (ARN) of the AWS resource share. The License Manager
2283	// master account will provide member accounts with access to this share.
2284	LicenseManagerResourceShareArn *string `type:"string"`
2285
2286	// Indicates whether AWS Organizations has been integrated with License Manager
2287	// for cross-account discovery.
2288	OrganizationConfiguration *OrganizationConfiguration `type:"structure"`
2289
2290	// Regional S3 bucket path for storing reports, license trail event data, discovery
2291	// data, and so on.
2292	S3BucketArn *string `type:"string"`
2293
2294	// SNS topic configured to receive notifications from License Manager.
2295	SnsTopicArn *string `type:"string"`
2296}
2297
2298// String returns the string representation
2299func (s GetServiceSettingsOutput) String() string {
2300	return awsutil.Prettify(s)
2301}
2302
2303// GoString returns the string representation
2304func (s GetServiceSettingsOutput) GoString() string {
2305	return s.String()
2306}
2307
2308// SetEnableCrossAccountsDiscovery sets the EnableCrossAccountsDiscovery field's value.
2309func (s *GetServiceSettingsOutput) SetEnableCrossAccountsDiscovery(v bool) *GetServiceSettingsOutput {
2310	s.EnableCrossAccountsDiscovery = &v
2311	return s
2312}
2313
2314// SetLicenseManagerResourceShareArn sets the LicenseManagerResourceShareArn field's value.
2315func (s *GetServiceSettingsOutput) SetLicenseManagerResourceShareArn(v string) *GetServiceSettingsOutput {
2316	s.LicenseManagerResourceShareArn = &v
2317	return s
2318}
2319
2320// SetOrganizationConfiguration sets the OrganizationConfiguration field's value.
2321func (s *GetServiceSettingsOutput) SetOrganizationConfiguration(v *OrganizationConfiguration) *GetServiceSettingsOutput {
2322	s.OrganizationConfiguration = v
2323	return s
2324}
2325
2326// SetS3BucketArn sets the S3BucketArn field's value.
2327func (s *GetServiceSettingsOutput) SetS3BucketArn(v string) *GetServiceSettingsOutput {
2328	s.S3BucketArn = &v
2329	return s
2330}
2331
2332// SetSnsTopicArn sets the SnsTopicArn field's value.
2333func (s *GetServiceSettingsOutput) SetSnsTopicArn(v string) *GetServiceSettingsOutput {
2334	s.SnsTopicArn = &v
2335	return s
2336}
2337
2338// One or more parameter values are not valid.
2339type InvalidParameterValueException struct {
2340	_            struct{}                  `type:"structure"`
2341	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2342
2343	Message_ *string `locationName:"Message" type:"string"`
2344}
2345
2346// String returns the string representation
2347func (s InvalidParameterValueException) String() string {
2348	return awsutil.Prettify(s)
2349}
2350
2351// GoString returns the string representation
2352func (s InvalidParameterValueException) GoString() string {
2353	return s.String()
2354}
2355
2356func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
2357	return &InvalidParameterValueException{
2358		RespMetadata: v,
2359	}
2360}
2361
2362// Code returns the exception type name.
2363func (s *InvalidParameterValueException) Code() string {
2364	return "InvalidParameterValueException"
2365}
2366
2367// Message returns the exception's message.
2368func (s *InvalidParameterValueException) Message() string {
2369	if s.Message_ != nil {
2370		return *s.Message_
2371	}
2372	return ""
2373}
2374
2375// OrigErr always returns nil, satisfies awserr.Error interface.
2376func (s *InvalidParameterValueException) OrigErr() error {
2377	return nil
2378}
2379
2380func (s *InvalidParameterValueException) Error() string {
2381	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2382}
2383
2384// Status code returns the HTTP status code for the request's response error.
2385func (s *InvalidParameterValueException) StatusCode() int {
2386	return s.RespMetadata.StatusCode
2387}
2388
2389// RequestID returns the service's response RequestID for request.
2390func (s *InvalidParameterValueException) RequestID() string {
2391	return s.RespMetadata.RequestID
2392}
2393
2394// License Manager cannot allocate a license to a resource because of its state.
2395//
2396// For example, you cannot allocate a license to an instance in the process
2397// of shutting down.
2398type InvalidResourceStateException struct {
2399	_            struct{}                  `type:"structure"`
2400	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2401
2402	Message_ *string `locationName:"Message" type:"string"`
2403}
2404
2405// String returns the string representation
2406func (s InvalidResourceStateException) String() string {
2407	return awsutil.Prettify(s)
2408}
2409
2410// GoString returns the string representation
2411func (s InvalidResourceStateException) GoString() string {
2412	return s.String()
2413}
2414
2415func newErrorInvalidResourceStateException(v protocol.ResponseMetadata) error {
2416	return &InvalidResourceStateException{
2417		RespMetadata: v,
2418	}
2419}
2420
2421// Code returns the exception type name.
2422func (s *InvalidResourceStateException) Code() string {
2423	return "InvalidResourceStateException"
2424}
2425
2426// Message returns the exception's message.
2427func (s *InvalidResourceStateException) Message() string {
2428	if s.Message_ != nil {
2429		return *s.Message_
2430	}
2431	return ""
2432}
2433
2434// OrigErr always returns nil, satisfies awserr.Error interface.
2435func (s *InvalidResourceStateException) OrigErr() error {
2436	return nil
2437}
2438
2439func (s *InvalidResourceStateException) Error() string {
2440	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2441}
2442
2443// Status code returns the HTTP status code for the request's response error.
2444func (s *InvalidResourceStateException) StatusCode() int {
2445	return s.RespMetadata.StatusCode
2446}
2447
2448// RequestID returns the service's response RequestID for request.
2449func (s *InvalidResourceStateException) RequestID() string {
2450	return s.RespMetadata.RequestID
2451}
2452
2453// An inventory filter.
2454type InventoryFilter struct {
2455	_ struct{} `type:"structure"`
2456
2457	// Condition of the filter.
2458	//
2459	// Condition is a required field
2460	Condition *string `type:"string" required:"true" enum:"InventoryFilterCondition"`
2461
2462	// Name of the filter.
2463	//
2464	// Name is a required field
2465	Name *string `type:"string" required:"true"`
2466
2467	// Value of the filter.
2468	Value *string `type:"string"`
2469}
2470
2471// String returns the string representation
2472func (s InventoryFilter) String() string {
2473	return awsutil.Prettify(s)
2474}
2475
2476// GoString returns the string representation
2477func (s InventoryFilter) GoString() string {
2478	return s.String()
2479}
2480
2481// Validate inspects the fields of the type to determine if they are valid.
2482func (s *InventoryFilter) Validate() error {
2483	invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
2484	if s.Condition == nil {
2485		invalidParams.Add(request.NewErrParamRequired("Condition"))
2486	}
2487	if s.Name == nil {
2488		invalidParams.Add(request.NewErrParamRequired("Name"))
2489	}
2490
2491	if invalidParams.Len() > 0 {
2492		return invalidParams
2493	}
2494	return nil
2495}
2496
2497// SetCondition sets the Condition field's value.
2498func (s *InventoryFilter) SetCondition(v string) *InventoryFilter {
2499	s.Condition = &v
2500	return s
2501}
2502
2503// SetName sets the Name field's value.
2504func (s *InventoryFilter) SetName(v string) *InventoryFilter {
2505	s.Name = &v
2506	return s
2507}
2508
2509// SetValue sets the Value field's value.
2510func (s *InventoryFilter) SetValue(v string) *InventoryFilter {
2511	s.Value = &v
2512	return s
2513}
2514
2515// A license configuration is an abstraction of a customer license agreement
2516// that can be consumed and enforced by License Manager. Components include
2517// specifications for the license type (licensing by instance, socket, CPU,
2518// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated
2519// Host, or all of these), host affinity (how long a VM must be associated with
2520// a host), and the number of licenses purchased and used.
2521type LicenseConfiguration struct {
2522	_ struct{} `type:"structure"`
2523
2524	// Automated discovery information.
2525	AutomatedDiscoveryInformation *AutomatedDiscoveryInformation `type:"structure"`
2526
2527	// Summaries for licenses consumed by various resources.
2528	ConsumedLicenseSummaryList []*ConsumedLicenseSummary `type:"list"`
2529
2530	// Number of licenses consumed.
2531	ConsumedLicenses *int64 `type:"long"`
2532
2533	// Description of the license configuration.
2534	Description *string `type:"string"`
2535
2536	// Amazon Resource Name (ARN) of the license configuration.
2537	LicenseConfigurationArn *string `type:"string"`
2538
2539	// Unique ID of the license configuration.
2540	LicenseConfigurationId *string `type:"string"`
2541
2542	// Number of licenses managed by the license configuration.
2543	LicenseCount *int64 `type:"long"`
2544
2545	// Number of available licenses as a hard limit.
2546	LicenseCountHardLimit *bool `type:"boolean"`
2547
2548	// Dimension to use to track the license inventory.
2549	LicenseCountingType *string `type:"string" enum:"LicenseCountingType"`
2550
2551	// License rules.
2552	LicenseRules []*string `type:"list"`
2553
2554	// Summaries for managed resources.
2555	ManagedResourceSummaryList []*ManagedResourceSummary `type:"list"`
2556
2557	// Name of the license configuration.
2558	Name *string `type:"string"`
2559
2560	// Account ID of the license configuration's owner.
2561	OwnerAccountId *string `type:"string"`
2562
2563	// Product information.
2564	ProductInformationList []*ProductInformation `type:"list"`
2565
2566	// Status of the license configuration.
2567	Status *string `type:"string"`
2568}
2569
2570// String returns the string representation
2571func (s LicenseConfiguration) String() string {
2572	return awsutil.Prettify(s)
2573}
2574
2575// GoString returns the string representation
2576func (s LicenseConfiguration) GoString() string {
2577	return s.String()
2578}
2579
2580// SetAutomatedDiscoveryInformation sets the AutomatedDiscoveryInformation field's value.
2581func (s *LicenseConfiguration) SetAutomatedDiscoveryInformation(v *AutomatedDiscoveryInformation) *LicenseConfiguration {
2582	s.AutomatedDiscoveryInformation = v
2583	return s
2584}
2585
2586// SetConsumedLicenseSummaryList sets the ConsumedLicenseSummaryList field's value.
2587func (s *LicenseConfiguration) SetConsumedLicenseSummaryList(v []*ConsumedLicenseSummary) *LicenseConfiguration {
2588	s.ConsumedLicenseSummaryList = v
2589	return s
2590}
2591
2592// SetConsumedLicenses sets the ConsumedLicenses field's value.
2593func (s *LicenseConfiguration) SetConsumedLicenses(v int64) *LicenseConfiguration {
2594	s.ConsumedLicenses = &v
2595	return s
2596}
2597
2598// SetDescription sets the Description field's value.
2599func (s *LicenseConfiguration) SetDescription(v string) *LicenseConfiguration {
2600	s.Description = &v
2601	return s
2602}
2603
2604// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
2605func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
2606	s.LicenseConfigurationArn = &v
2607	return s
2608}
2609
2610// SetLicenseConfigurationId sets the LicenseConfigurationId field's value.
2611func (s *LicenseConfiguration) SetLicenseConfigurationId(v string) *LicenseConfiguration {
2612	s.LicenseConfigurationId = &v
2613	return s
2614}
2615
2616// SetLicenseCount sets the LicenseCount field's value.
2617func (s *LicenseConfiguration) SetLicenseCount(v int64) *LicenseConfiguration {
2618	s.LicenseCount = &v
2619	return s
2620}
2621
2622// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value.
2623func (s *LicenseConfiguration) SetLicenseCountHardLimit(v bool) *LicenseConfiguration {
2624	s.LicenseCountHardLimit = &v
2625	return s
2626}
2627
2628// SetLicenseCountingType sets the LicenseCountingType field's value.
2629func (s *LicenseConfiguration) SetLicenseCountingType(v string) *LicenseConfiguration {
2630	s.LicenseCountingType = &v
2631	return s
2632}
2633
2634// SetLicenseRules sets the LicenseRules field's value.
2635func (s *LicenseConfiguration) SetLicenseRules(v []*string) *LicenseConfiguration {
2636	s.LicenseRules = v
2637	return s
2638}
2639
2640// SetManagedResourceSummaryList sets the ManagedResourceSummaryList field's value.
2641func (s *LicenseConfiguration) SetManagedResourceSummaryList(v []*ManagedResourceSummary) *LicenseConfiguration {
2642	s.ManagedResourceSummaryList = v
2643	return s
2644}
2645
2646// SetName sets the Name field's value.
2647func (s *LicenseConfiguration) SetName(v string) *LicenseConfiguration {
2648	s.Name = &v
2649	return s
2650}
2651
2652// SetOwnerAccountId sets the OwnerAccountId field's value.
2653func (s *LicenseConfiguration) SetOwnerAccountId(v string) *LicenseConfiguration {
2654	s.OwnerAccountId = &v
2655	return s
2656}
2657
2658// SetProductInformationList sets the ProductInformationList field's value.
2659func (s *LicenseConfiguration) SetProductInformationList(v []*ProductInformation) *LicenseConfiguration {
2660	s.ProductInformationList = v
2661	return s
2662}
2663
2664// SetStatus sets the Status field's value.
2665func (s *LicenseConfiguration) SetStatus(v string) *LicenseConfiguration {
2666	s.Status = &v
2667	return s
2668}
2669
2670// Describes an association with a license configuration.
2671type LicenseConfigurationAssociation struct {
2672	_ struct{} `type:"structure"`
2673
2674	// Time when the license configuration was associated with the resource.
2675	AssociationTime *time.Time `type:"timestamp"`
2676
2677	// Amazon Resource Name (ARN) of the resource.
2678	ResourceArn *string `type:"string"`
2679
2680	// ID of the AWS account that owns the resource consuming licenses.
2681	ResourceOwnerId *string `type:"string"`
2682
2683	// Type of server resource.
2684	ResourceType *string `type:"string" enum:"ResourceType"`
2685}
2686
2687// String returns the string representation
2688func (s LicenseConfigurationAssociation) String() string {
2689	return awsutil.Prettify(s)
2690}
2691
2692// GoString returns the string representation
2693func (s LicenseConfigurationAssociation) GoString() string {
2694	return s.String()
2695}
2696
2697// SetAssociationTime sets the AssociationTime field's value.
2698func (s *LicenseConfigurationAssociation) SetAssociationTime(v time.Time) *LicenseConfigurationAssociation {
2699	s.AssociationTime = &v
2700	return s
2701}
2702
2703// SetResourceArn sets the ResourceArn field's value.
2704func (s *LicenseConfigurationAssociation) SetResourceArn(v string) *LicenseConfigurationAssociation {
2705	s.ResourceArn = &v
2706	return s
2707}
2708
2709// SetResourceOwnerId sets the ResourceOwnerId field's value.
2710func (s *LicenseConfigurationAssociation) SetResourceOwnerId(v string) *LicenseConfigurationAssociation {
2711	s.ResourceOwnerId = &v
2712	return s
2713}
2714
2715// SetResourceType sets the ResourceType field's value.
2716func (s *LicenseConfigurationAssociation) SetResourceType(v string) *LicenseConfigurationAssociation {
2717	s.ResourceType = &v
2718	return s
2719}
2720
2721// Details about the usage of a resource associated with a license configuration.
2722type LicenseConfigurationUsage struct {
2723	_ struct{} `type:"structure"`
2724
2725	// Time when the license configuration was initially associated with the resource.
2726	AssociationTime *time.Time `type:"timestamp"`
2727
2728	// Number of licenses consumed by the resource.
2729	ConsumedLicenses *int64 `type:"long"`
2730
2731	// Amazon Resource Name (ARN) of the resource.
2732	ResourceArn *string `type:"string"`
2733
2734	// ID of the account that owns the resource.
2735	ResourceOwnerId *string `type:"string"`
2736
2737	// Status of the resource.
2738	ResourceStatus *string `type:"string"`
2739
2740	// Type of resource.
2741	ResourceType *string `type:"string" enum:"ResourceType"`
2742}
2743
2744// String returns the string representation
2745func (s LicenseConfigurationUsage) String() string {
2746	return awsutil.Prettify(s)
2747}
2748
2749// GoString returns the string representation
2750func (s LicenseConfigurationUsage) GoString() string {
2751	return s.String()
2752}
2753
2754// SetAssociationTime sets the AssociationTime field's value.
2755func (s *LicenseConfigurationUsage) SetAssociationTime(v time.Time) *LicenseConfigurationUsage {
2756	s.AssociationTime = &v
2757	return s
2758}
2759
2760// SetConsumedLicenses sets the ConsumedLicenses field's value.
2761func (s *LicenseConfigurationUsage) SetConsumedLicenses(v int64) *LicenseConfigurationUsage {
2762	s.ConsumedLicenses = &v
2763	return s
2764}
2765
2766// SetResourceArn sets the ResourceArn field's value.
2767func (s *LicenseConfigurationUsage) SetResourceArn(v string) *LicenseConfigurationUsage {
2768	s.ResourceArn = &v
2769	return s
2770}
2771
2772// SetResourceOwnerId sets the ResourceOwnerId field's value.
2773func (s *LicenseConfigurationUsage) SetResourceOwnerId(v string) *LicenseConfigurationUsage {
2774	s.ResourceOwnerId = &v
2775	return s
2776}
2777
2778// SetResourceStatus sets the ResourceStatus field's value.
2779func (s *LicenseConfigurationUsage) SetResourceStatus(v string) *LicenseConfigurationUsage {
2780	s.ResourceStatus = &v
2781	return s
2782}
2783
2784// SetResourceType sets the ResourceType field's value.
2785func (s *LicenseConfigurationUsage) SetResourceType(v string) *LicenseConfigurationUsage {
2786	s.ResourceType = &v
2787	return s
2788}
2789
2790// Describes the failure of a license operation.
2791type LicenseOperationFailure struct {
2792	_ struct{} `type:"structure"`
2793
2794	// Error message.
2795	ErrorMessage *string `type:"string"`
2796
2797	// Failure time.
2798	FailureTime *time.Time `type:"timestamp"`
2799
2800	// Reserved.
2801	MetadataList []*Metadata `type:"list"`
2802
2803	// Name of the operation.
2804	OperationName *string `type:"string"`
2805
2806	// The requester is "License Manager Automated Discovery".
2807	OperationRequestedBy *string `type:"string"`
2808
2809	// Amazon Resource Name (ARN) of the resource.
2810	ResourceArn *string `type:"string"`
2811
2812	// ID of the AWS account that owns the resource.
2813	ResourceOwnerId *string `type:"string"`
2814
2815	// Resource type.
2816	ResourceType *string `type:"string" enum:"ResourceType"`
2817}
2818
2819// String returns the string representation
2820func (s LicenseOperationFailure) String() string {
2821	return awsutil.Prettify(s)
2822}
2823
2824// GoString returns the string representation
2825func (s LicenseOperationFailure) GoString() string {
2826	return s.String()
2827}
2828
2829// SetErrorMessage sets the ErrorMessage field's value.
2830func (s *LicenseOperationFailure) SetErrorMessage(v string) *LicenseOperationFailure {
2831	s.ErrorMessage = &v
2832	return s
2833}
2834
2835// SetFailureTime sets the FailureTime field's value.
2836func (s *LicenseOperationFailure) SetFailureTime(v time.Time) *LicenseOperationFailure {
2837	s.FailureTime = &v
2838	return s
2839}
2840
2841// SetMetadataList sets the MetadataList field's value.
2842func (s *LicenseOperationFailure) SetMetadataList(v []*Metadata) *LicenseOperationFailure {
2843	s.MetadataList = v
2844	return s
2845}
2846
2847// SetOperationName sets the OperationName field's value.
2848func (s *LicenseOperationFailure) SetOperationName(v string) *LicenseOperationFailure {
2849	s.OperationName = &v
2850	return s
2851}
2852
2853// SetOperationRequestedBy sets the OperationRequestedBy field's value.
2854func (s *LicenseOperationFailure) SetOperationRequestedBy(v string) *LicenseOperationFailure {
2855	s.OperationRequestedBy = &v
2856	return s
2857}
2858
2859// SetResourceArn sets the ResourceArn field's value.
2860func (s *LicenseOperationFailure) SetResourceArn(v string) *LicenseOperationFailure {
2861	s.ResourceArn = &v
2862	return s
2863}
2864
2865// SetResourceOwnerId sets the ResourceOwnerId field's value.
2866func (s *LicenseOperationFailure) SetResourceOwnerId(v string) *LicenseOperationFailure {
2867	s.ResourceOwnerId = &v
2868	return s
2869}
2870
2871// SetResourceType sets the ResourceType field's value.
2872func (s *LicenseOperationFailure) SetResourceType(v string) *LicenseOperationFailure {
2873	s.ResourceType = &v
2874	return s
2875}
2876
2877// Details for associating a license configuration with a resource.
2878type LicenseSpecification struct {
2879	_ struct{} `type:"structure"`
2880
2881	// Amazon Resource Name (ARN) of the license configuration.
2882	//
2883	// LicenseConfigurationArn is a required field
2884	LicenseConfigurationArn *string `type:"string" required:"true"`
2885}
2886
2887// String returns the string representation
2888func (s LicenseSpecification) String() string {
2889	return awsutil.Prettify(s)
2890}
2891
2892// GoString returns the string representation
2893func (s LicenseSpecification) GoString() string {
2894	return s.String()
2895}
2896
2897// Validate inspects the fields of the type to determine if they are valid.
2898func (s *LicenseSpecification) Validate() error {
2899	invalidParams := request.ErrInvalidParams{Context: "LicenseSpecification"}
2900	if s.LicenseConfigurationArn == nil {
2901		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
2902	}
2903
2904	if invalidParams.Len() > 0 {
2905		return invalidParams
2906	}
2907	return nil
2908}
2909
2910// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
2911func (s *LicenseSpecification) SetLicenseConfigurationArn(v string) *LicenseSpecification {
2912	s.LicenseConfigurationArn = &v
2913	return s
2914}
2915
2916// You do not have enough licenses available to support a new resource launch.
2917type LicenseUsageException struct {
2918	_            struct{}                  `type:"structure"`
2919	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2920
2921	Message_ *string `locationName:"Message" type:"string"`
2922}
2923
2924// String returns the string representation
2925func (s LicenseUsageException) String() string {
2926	return awsutil.Prettify(s)
2927}
2928
2929// GoString returns the string representation
2930func (s LicenseUsageException) GoString() string {
2931	return s.String()
2932}
2933
2934func newErrorLicenseUsageException(v protocol.ResponseMetadata) error {
2935	return &LicenseUsageException{
2936		RespMetadata: v,
2937	}
2938}
2939
2940// Code returns the exception type name.
2941func (s *LicenseUsageException) Code() string {
2942	return "LicenseUsageException"
2943}
2944
2945// Message returns the exception's message.
2946func (s *LicenseUsageException) Message() string {
2947	if s.Message_ != nil {
2948		return *s.Message_
2949	}
2950	return ""
2951}
2952
2953// OrigErr always returns nil, satisfies awserr.Error interface.
2954func (s *LicenseUsageException) OrigErr() error {
2955	return nil
2956}
2957
2958func (s *LicenseUsageException) Error() string {
2959	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2960}
2961
2962// Status code returns the HTTP status code for the request's response error.
2963func (s *LicenseUsageException) StatusCode() int {
2964	return s.RespMetadata.StatusCode
2965}
2966
2967// RequestID returns the service's response RequestID for request.
2968func (s *LicenseUsageException) RequestID() string {
2969	return s.RespMetadata.RequestID
2970}
2971
2972type ListAssociationsForLicenseConfigurationInput struct {
2973	_ struct{} `type:"structure"`
2974
2975	// Amazon Resource Name (ARN) of a license configuration.
2976	//
2977	// LicenseConfigurationArn is a required field
2978	LicenseConfigurationArn *string `type:"string" required:"true"`
2979
2980	// Maximum number of results to return in a single call.
2981	MaxResults *int64 `type:"integer"`
2982
2983	// Token for the next set of results.
2984	NextToken *string `type:"string"`
2985}
2986
2987// String returns the string representation
2988func (s ListAssociationsForLicenseConfigurationInput) String() string {
2989	return awsutil.Prettify(s)
2990}
2991
2992// GoString returns the string representation
2993func (s ListAssociationsForLicenseConfigurationInput) GoString() string {
2994	return s.String()
2995}
2996
2997// Validate inspects the fields of the type to determine if they are valid.
2998func (s *ListAssociationsForLicenseConfigurationInput) Validate() error {
2999	invalidParams := request.ErrInvalidParams{Context: "ListAssociationsForLicenseConfigurationInput"}
3000	if s.LicenseConfigurationArn == nil {
3001		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
3002	}
3003
3004	if invalidParams.Len() > 0 {
3005		return invalidParams
3006	}
3007	return nil
3008}
3009
3010// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
3011func (s *ListAssociationsForLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *ListAssociationsForLicenseConfigurationInput {
3012	s.LicenseConfigurationArn = &v
3013	return s
3014}
3015
3016// SetMaxResults sets the MaxResults field's value.
3017func (s *ListAssociationsForLicenseConfigurationInput) SetMaxResults(v int64) *ListAssociationsForLicenseConfigurationInput {
3018	s.MaxResults = &v
3019	return s
3020}
3021
3022// SetNextToken sets the NextToken field's value.
3023func (s *ListAssociationsForLicenseConfigurationInput) SetNextToken(v string) *ListAssociationsForLicenseConfigurationInput {
3024	s.NextToken = &v
3025	return s
3026}
3027
3028type ListAssociationsForLicenseConfigurationOutput struct {
3029	_ struct{} `type:"structure"`
3030
3031	// Information about the associations for the license configuration.
3032	LicenseConfigurationAssociations []*LicenseConfigurationAssociation `type:"list"`
3033
3034	// Token for the next set of results.
3035	NextToken *string `type:"string"`
3036}
3037
3038// String returns the string representation
3039func (s ListAssociationsForLicenseConfigurationOutput) String() string {
3040	return awsutil.Prettify(s)
3041}
3042
3043// GoString returns the string representation
3044func (s ListAssociationsForLicenseConfigurationOutput) GoString() string {
3045	return s.String()
3046}
3047
3048// SetLicenseConfigurationAssociations sets the LicenseConfigurationAssociations field's value.
3049func (s *ListAssociationsForLicenseConfigurationOutput) SetLicenseConfigurationAssociations(v []*LicenseConfigurationAssociation) *ListAssociationsForLicenseConfigurationOutput {
3050	s.LicenseConfigurationAssociations = v
3051	return s
3052}
3053
3054// SetNextToken sets the NextToken field's value.
3055func (s *ListAssociationsForLicenseConfigurationOutput) SetNextToken(v string) *ListAssociationsForLicenseConfigurationOutput {
3056	s.NextToken = &v
3057	return s
3058}
3059
3060type ListFailuresForLicenseConfigurationOperationsInput struct {
3061	_ struct{} `type:"structure"`
3062
3063	// Amazon Resource Name of the license configuration.
3064	//
3065	// LicenseConfigurationArn is a required field
3066	LicenseConfigurationArn *string `type:"string" required:"true"`
3067
3068	// Maximum number of results to return in a single call.
3069	MaxResults *int64 `type:"integer"`
3070
3071	// Token for the next set of results.
3072	NextToken *string `type:"string"`
3073}
3074
3075// String returns the string representation
3076func (s ListFailuresForLicenseConfigurationOperationsInput) String() string {
3077	return awsutil.Prettify(s)
3078}
3079
3080// GoString returns the string representation
3081func (s ListFailuresForLicenseConfigurationOperationsInput) GoString() string {
3082	return s.String()
3083}
3084
3085// Validate inspects the fields of the type to determine if they are valid.
3086func (s *ListFailuresForLicenseConfigurationOperationsInput) Validate() error {
3087	invalidParams := request.ErrInvalidParams{Context: "ListFailuresForLicenseConfigurationOperationsInput"}
3088	if s.LicenseConfigurationArn == nil {
3089		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
3090	}
3091
3092	if invalidParams.Len() > 0 {
3093		return invalidParams
3094	}
3095	return nil
3096}
3097
3098// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
3099func (s *ListFailuresForLicenseConfigurationOperationsInput) SetLicenseConfigurationArn(v string) *ListFailuresForLicenseConfigurationOperationsInput {
3100	s.LicenseConfigurationArn = &v
3101	return s
3102}
3103
3104// SetMaxResults sets the MaxResults field's value.
3105func (s *ListFailuresForLicenseConfigurationOperationsInput) SetMaxResults(v int64) *ListFailuresForLicenseConfigurationOperationsInput {
3106	s.MaxResults = &v
3107	return s
3108}
3109
3110// SetNextToken sets the NextToken field's value.
3111func (s *ListFailuresForLicenseConfigurationOperationsInput) SetNextToken(v string) *ListFailuresForLicenseConfigurationOperationsInput {
3112	s.NextToken = &v
3113	return s
3114}
3115
3116type ListFailuresForLicenseConfigurationOperationsOutput struct {
3117	_ struct{} `type:"structure"`
3118
3119	// License configuration operations that failed.
3120	LicenseOperationFailureList []*LicenseOperationFailure `type:"list"`
3121
3122	// Token for the next set of results.
3123	NextToken *string `type:"string"`
3124}
3125
3126// String returns the string representation
3127func (s ListFailuresForLicenseConfigurationOperationsOutput) String() string {
3128	return awsutil.Prettify(s)
3129}
3130
3131// GoString returns the string representation
3132func (s ListFailuresForLicenseConfigurationOperationsOutput) GoString() string {
3133	return s.String()
3134}
3135
3136// SetLicenseOperationFailureList sets the LicenseOperationFailureList field's value.
3137func (s *ListFailuresForLicenseConfigurationOperationsOutput) SetLicenseOperationFailureList(v []*LicenseOperationFailure) *ListFailuresForLicenseConfigurationOperationsOutput {
3138	s.LicenseOperationFailureList = v
3139	return s
3140}
3141
3142// SetNextToken sets the NextToken field's value.
3143func (s *ListFailuresForLicenseConfigurationOperationsOutput) SetNextToken(v string) *ListFailuresForLicenseConfigurationOperationsOutput {
3144	s.NextToken = &v
3145	return s
3146}
3147
3148type ListLicenseConfigurationsInput struct {
3149	_ struct{} `type:"structure"`
3150
3151	// Filters to scope the results. The following filters and logical operators
3152	// are supported:
3153	//
3154	//    * licenseCountingType - The dimension on which licenses are counted. Possible
3155	//    values are vCPU | Instance | Core | Socket. Logical operators are EQUALS
3156	//    | NOT_EQUALS.
3157	//
3158	//    * enforceLicenseCount - A Boolean value that indicates whether hard license
3159	//    enforcement is used. Logical operators are EQUALS | NOT_EQUALS.
3160	//
3161	//    * usagelimitExceeded - A Boolean value that indicates whether the available
3162	//    licenses have been exceeded. Logical operators are EQUALS | NOT_EQUALS.
3163	Filters []*Filter `type:"list"`
3164
3165	// Amazon Resource Names (ARN) of the license configurations.
3166	LicenseConfigurationArns []*string `type:"list"`
3167
3168	// Maximum number of results to return in a single call.
3169	MaxResults *int64 `type:"integer"`
3170
3171	// Token for the next set of results.
3172	NextToken *string `type:"string"`
3173}
3174
3175// String returns the string representation
3176func (s ListLicenseConfigurationsInput) String() string {
3177	return awsutil.Prettify(s)
3178}
3179
3180// GoString returns the string representation
3181func (s ListLicenseConfigurationsInput) GoString() string {
3182	return s.String()
3183}
3184
3185// SetFilters sets the Filters field's value.
3186func (s *ListLicenseConfigurationsInput) SetFilters(v []*Filter) *ListLicenseConfigurationsInput {
3187	s.Filters = v
3188	return s
3189}
3190
3191// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value.
3192func (s *ListLicenseConfigurationsInput) SetLicenseConfigurationArns(v []*string) *ListLicenseConfigurationsInput {
3193	s.LicenseConfigurationArns = v
3194	return s
3195}
3196
3197// SetMaxResults sets the MaxResults field's value.
3198func (s *ListLicenseConfigurationsInput) SetMaxResults(v int64) *ListLicenseConfigurationsInput {
3199	s.MaxResults = &v
3200	return s
3201}
3202
3203// SetNextToken sets the NextToken field's value.
3204func (s *ListLicenseConfigurationsInput) SetNextToken(v string) *ListLicenseConfigurationsInput {
3205	s.NextToken = &v
3206	return s
3207}
3208
3209type ListLicenseConfigurationsOutput struct {
3210	_ struct{} `type:"structure"`
3211
3212	// Information about the license configurations.
3213	LicenseConfigurations []*LicenseConfiguration `type:"list"`
3214
3215	// Token for the next set of results.
3216	NextToken *string `type:"string"`
3217}
3218
3219// String returns the string representation
3220func (s ListLicenseConfigurationsOutput) String() string {
3221	return awsutil.Prettify(s)
3222}
3223
3224// GoString returns the string representation
3225func (s ListLicenseConfigurationsOutput) GoString() string {
3226	return s.String()
3227}
3228
3229// SetLicenseConfigurations sets the LicenseConfigurations field's value.
3230func (s *ListLicenseConfigurationsOutput) SetLicenseConfigurations(v []*LicenseConfiguration) *ListLicenseConfigurationsOutput {
3231	s.LicenseConfigurations = v
3232	return s
3233}
3234
3235// SetNextToken sets the NextToken field's value.
3236func (s *ListLicenseConfigurationsOutput) SetNextToken(v string) *ListLicenseConfigurationsOutput {
3237	s.NextToken = &v
3238	return s
3239}
3240
3241type ListLicenseSpecificationsForResourceInput struct {
3242	_ struct{} `type:"structure"`
3243
3244	// Maximum number of results to return in a single call.
3245	MaxResults *int64 `type:"integer"`
3246
3247	// Token for the next set of results.
3248	NextToken *string `type:"string"`
3249
3250	// Amazon Resource Name (ARN) of a resource that has an associated license configuration.
3251	//
3252	// ResourceArn is a required field
3253	ResourceArn *string `type:"string" required:"true"`
3254}
3255
3256// String returns the string representation
3257func (s ListLicenseSpecificationsForResourceInput) String() string {
3258	return awsutil.Prettify(s)
3259}
3260
3261// GoString returns the string representation
3262func (s ListLicenseSpecificationsForResourceInput) GoString() string {
3263	return s.String()
3264}
3265
3266// Validate inspects the fields of the type to determine if they are valid.
3267func (s *ListLicenseSpecificationsForResourceInput) Validate() error {
3268	invalidParams := request.ErrInvalidParams{Context: "ListLicenseSpecificationsForResourceInput"}
3269	if s.ResourceArn == nil {
3270		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3271	}
3272
3273	if invalidParams.Len() > 0 {
3274		return invalidParams
3275	}
3276	return nil
3277}
3278
3279// SetMaxResults sets the MaxResults field's value.
3280func (s *ListLicenseSpecificationsForResourceInput) SetMaxResults(v int64) *ListLicenseSpecificationsForResourceInput {
3281	s.MaxResults = &v
3282	return s
3283}
3284
3285// SetNextToken sets the NextToken field's value.
3286func (s *ListLicenseSpecificationsForResourceInput) SetNextToken(v string) *ListLicenseSpecificationsForResourceInput {
3287	s.NextToken = &v
3288	return s
3289}
3290
3291// SetResourceArn sets the ResourceArn field's value.
3292func (s *ListLicenseSpecificationsForResourceInput) SetResourceArn(v string) *ListLicenseSpecificationsForResourceInput {
3293	s.ResourceArn = &v
3294	return s
3295}
3296
3297type ListLicenseSpecificationsForResourceOutput struct {
3298	_ struct{} `type:"structure"`
3299
3300	// License configurations associated with a resource.
3301	LicenseSpecifications []*LicenseSpecification `type:"list"`
3302
3303	// Token for the next set of results.
3304	NextToken *string `type:"string"`
3305}
3306
3307// String returns the string representation
3308func (s ListLicenseSpecificationsForResourceOutput) String() string {
3309	return awsutil.Prettify(s)
3310}
3311
3312// GoString returns the string representation
3313func (s ListLicenseSpecificationsForResourceOutput) GoString() string {
3314	return s.String()
3315}
3316
3317// SetLicenseSpecifications sets the LicenseSpecifications field's value.
3318func (s *ListLicenseSpecificationsForResourceOutput) SetLicenseSpecifications(v []*LicenseSpecification) *ListLicenseSpecificationsForResourceOutput {
3319	s.LicenseSpecifications = v
3320	return s
3321}
3322
3323// SetNextToken sets the NextToken field's value.
3324func (s *ListLicenseSpecificationsForResourceOutput) SetNextToken(v string) *ListLicenseSpecificationsForResourceOutput {
3325	s.NextToken = &v
3326	return s
3327}
3328
3329type ListResourceInventoryInput struct {
3330	_ struct{} `type:"structure"`
3331
3332	// Filters to scope the results. The following filters and logical operators
3333	// are supported:
3334	//
3335	//    * account_id - The ID of the AWS account that owns the resource. Logical
3336	//    operators are EQUALS | NOT_EQUALS.
3337	//
3338	//    * application_name - The name of the application. Logical operators are
3339	//    EQUALS | BEGINS_WITH.
3340	//
3341	//    * license_included - The type of license included. Logical operators are
3342	//    EQUALS | NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard
3343	//    | sql-server-web | windows-server-datacenter.
3344	//
3345	//    * platform - The platform of the resource. Logical operators are EQUALS
3346	//    | BEGINS_WITH.
3347	//
3348	//    * resource_id - The ID of the resource. Logical operators are EQUALS |
3349	//    NOT_EQUALS.
3350	Filters []*InventoryFilter `type:"list"`
3351
3352	// Maximum number of results to return in a single call.
3353	MaxResults *int64 `type:"integer"`
3354
3355	// Token for the next set of results.
3356	NextToken *string `type:"string"`
3357}
3358
3359// String returns the string representation
3360func (s ListResourceInventoryInput) String() string {
3361	return awsutil.Prettify(s)
3362}
3363
3364// GoString returns the string representation
3365func (s ListResourceInventoryInput) GoString() string {
3366	return s.String()
3367}
3368
3369// Validate inspects the fields of the type to determine if they are valid.
3370func (s *ListResourceInventoryInput) Validate() error {
3371	invalidParams := request.ErrInvalidParams{Context: "ListResourceInventoryInput"}
3372	if s.Filters != nil {
3373		for i, v := range s.Filters {
3374			if v == nil {
3375				continue
3376			}
3377			if err := v.Validate(); err != nil {
3378				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
3379			}
3380		}
3381	}
3382
3383	if invalidParams.Len() > 0 {
3384		return invalidParams
3385	}
3386	return nil
3387}
3388
3389// SetFilters sets the Filters field's value.
3390func (s *ListResourceInventoryInput) SetFilters(v []*InventoryFilter) *ListResourceInventoryInput {
3391	s.Filters = v
3392	return s
3393}
3394
3395// SetMaxResults sets the MaxResults field's value.
3396func (s *ListResourceInventoryInput) SetMaxResults(v int64) *ListResourceInventoryInput {
3397	s.MaxResults = &v
3398	return s
3399}
3400
3401// SetNextToken sets the NextToken field's value.
3402func (s *ListResourceInventoryInput) SetNextToken(v string) *ListResourceInventoryInput {
3403	s.NextToken = &v
3404	return s
3405}
3406
3407type ListResourceInventoryOutput struct {
3408	_ struct{} `type:"structure"`
3409
3410	// Token for the next set of results.
3411	NextToken *string `type:"string"`
3412
3413	// Information about the resources.
3414	ResourceInventoryList []*ResourceInventory `type:"list"`
3415}
3416
3417// String returns the string representation
3418func (s ListResourceInventoryOutput) String() string {
3419	return awsutil.Prettify(s)
3420}
3421
3422// GoString returns the string representation
3423func (s ListResourceInventoryOutput) GoString() string {
3424	return s.String()
3425}
3426
3427// SetNextToken sets the NextToken field's value.
3428func (s *ListResourceInventoryOutput) SetNextToken(v string) *ListResourceInventoryOutput {
3429	s.NextToken = &v
3430	return s
3431}
3432
3433// SetResourceInventoryList sets the ResourceInventoryList field's value.
3434func (s *ListResourceInventoryOutput) SetResourceInventoryList(v []*ResourceInventory) *ListResourceInventoryOutput {
3435	s.ResourceInventoryList = v
3436	return s
3437}
3438
3439type ListTagsForResourceInput struct {
3440	_ struct{} `type:"structure"`
3441
3442	// Amazon Resource Name (ARN) of the license configuration.
3443	//
3444	// ResourceArn is a required field
3445	ResourceArn *string `type:"string" required:"true"`
3446}
3447
3448// String returns the string representation
3449func (s ListTagsForResourceInput) String() string {
3450	return awsutil.Prettify(s)
3451}
3452
3453// GoString returns the string representation
3454func (s ListTagsForResourceInput) GoString() string {
3455	return s.String()
3456}
3457
3458// Validate inspects the fields of the type to determine if they are valid.
3459func (s *ListTagsForResourceInput) Validate() error {
3460	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
3461	if s.ResourceArn == nil {
3462		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3463	}
3464
3465	if invalidParams.Len() > 0 {
3466		return invalidParams
3467	}
3468	return nil
3469}
3470
3471// SetResourceArn sets the ResourceArn field's value.
3472func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
3473	s.ResourceArn = &v
3474	return s
3475}
3476
3477type ListTagsForResourceOutput struct {
3478	_ struct{} `type:"structure"`
3479
3480	// Information about the tags.
3481	Tags []*Tag `type:"list"`
3482}
3483
3484// String returns the string representation
3485func (s ListTagsForResourceOutput) String() string {
3486	return awsutil.Prettify(s)
3487}
3488
3489// GoString returns the string representation
3490func (s ListTagsForResourceOutput) GoString() string {
3491	return s.String()
3492}
3493
3494// SetTags sets the Tags field's value.
3495func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
3496	s.Tags = v
3497	return s
3498}
3499
3500type ListUsageForLicenseConfigurationInput struct {
3501	_ struct{} `type:"structure"`
3502
3503	// Filters to scope the results. The following filters and logical operators
3504	// are supported:
3505	//
3506	//    * resourceArn - The ARN of the license configuration resource. Logical
3507	//    operators are EQUALS | NOT_EQUALS.
3508	//
3509	//    * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI
3510	//    | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS.
3511	//
3512	//    * resourceAccount - The ID of the account that owns the resource. Logical
3513	//    operators are EQUALS | NOT_EQUALS.
3514	Filters []*Filter `type:"list"`
3515
3516	// Amazon Resource Name (ARN) of the license configuration.
3517	//
3518	// LicenseConfigurationArn is a required field
3519	LicenseConfigurationArn *string `type:"string" required:"true"`
3520
3521	// Maximum number of results to return in a single call.
3522	MaxResults *int64 `type:"integer"`
3523
3524	// Token for the next set of results.
3525	NextToken *string `type:"string"`
3526}
3527
3528// String returns the string representation
3529func (s ListUsageForLicenseConfigurationInput) String() string {
3530	return awsutil.Prettify(s)
3531}
3532
3533// GoString returns the string representation
3534func (s ListUsageForLicenseConfigurationInput) GoString() string {
3535	return s.String()
3536}
3537
3538// Validate inspects the fields of the type to determine if they are valid.
3539func (s *ListUsageForLicenseConfigurationInput) Validate() error {
3540	invalidParams := request.ErrInvalidParams{Context: "ListUsageForLicenseConfigurationInput"}
3541	if s.LicenseConfigurationArn == nil {
3542		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
3543	}
3544
3545	if invalidParams.Len() > 0 {
3546		return invalidParams
3547	}
3548	return nil
3549}
3550
3551// SetFilters sets the Filters field's value.
3552func (s *ListUsageForLicenseConfigurationInput) SetFilters(v []*Filter) *ListUsageForLicenseConfigurationInput {
3553	s.Filters = v
3554	return s
3555}
3556
3557// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
3558func (s *ListUsageForLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *ListUsageForLicenseConfigurationInput {
3559	s.LicenseConfigurationArn = &v
3560	return s
3561}
3562
3563// SetMaxResults sets the MaxResults field's value.
3564func (s *ListUsageForLicenseConfigurationInput) SetMaxResults(v int64) *ListUsageForLicenseConfigurationInput {
3565	s.MaxResults = &v
3566	return s
3567}
3568
3569// SetNextToken sets the NextToken field's value.
3570func (s *ListUsageForLicenseConfigurationInput) SetNextToken(v string) *ListUsageForLicenseConfigurationInput {
3571	s.NextToken = &v
3572	return s
3573}
3574
3575type ListUsageForLicenseConfigurationOutput struct {
3576	_ struct{} `type:"structure"`
3577
3578	// Information about the license configurations.
3579	LicenseConfigurationUsageList []*LicenseConfigurationUsage `type:"list"`
3580
3581	// Token for the next set of results.
3582	NextToken *string `type:"string"`
3583}
3584
3585// String returns the string representation
3586func (s ListUsageForLicenseConfigurationOutput) String() string {
3587	return awsutil.Prettify(s)
3588}
3589
3590// GoString returns the string representation
3591func (s ListUsageForLicenseConfigurationOutput) GoString() string {
3592	return s.String()
3593}
3594
3595// SetLicenseConfigurationUsageList sets the LicenseConfigurationUsageList field's value.
3596func (s *ListUsageForLicenseConfigurationOutput) SetLicenseConfigurationUsageList(v []*LicenseConfigurationUsage) *ListUsageForLicenseConfigurationOutput {
3597	s.LicenseConfigurationUsageList = v
3598	return s
3599}
3600
3601// SetNextToken sets the NextToken field's value.
3602func (s *ListUsageForLicenseConfigurationOutput) SetNextToken(v string) *ListUsageForLicenseConfigurationOutput {
3603	s.NextToken = &v
3604	return s
3605}
3606
3607// Summary information about a managed resource.
3608type ManagedResourceSummary struct {
3609	_ struct{} `type:"structure"`
3610
3611	// Number of resources associated with licenses.
3612	AssociationCount *int64 `type:"long"`
3613
3614	// Type of resource associated with a license.
3615	ResourceType *string `type:"string" enum:"ResourceType"`
3616}
3617
3618// String returns the string representation
3619func (s ManagedResourceSummary) String() string {
3620	return awsutil.Prettify(s)
3621}
3622
3623// GoString returns the string representation
3624func (s ManagedResourceSummary) GoString() string {
3625	return s.String()
3626}
3627
3628// SetAssociationCount sets the AssociationCount field's value.
3629func (s *ManagedResourceSummary) SetAssociationCount(v int64) *ManagedResourceSummary {
3630	s.AssociationCount = &v
3631	return s
3632}
3633
3634// SetResourceType sets the ResourceType field's value.
3635func (s *ManagedResourceSummary) SetResourceType(v string) *ManagedResourceSummary {
3636	s.ResourceType = &v
3637	return s
3638}
3639
3640// Reserved.
3641type Metadata struct {
3642	_ struct{} `type:"structure"`
3643
3644	// Reserved.
3645	Name *string `type:"string"`
3646
3647	// Reserved.
3648	Value *string `type:"string"`
3649}
3650
3651// String returns the string representation
3652func (s Metadata) String() string {
3653	return awsutil.Prettify(s)
3654}
3655
3656// GoString returns the string representation
3657func (s Metadata) GoString() string {
3658	return s.String()
3659}
3660
3661// SetName sets the Name field's value.
3662func (s *Metadata) SetName(v string) *Metadata {
3663	s.Name = &v
3664	return s
3665}
3666
3667// SetValue sets the Value field's value.
3668func (s *Metadata) SetValue(v string) *Metadata {
3669	s.Value = &v
3670	return s
3671}
3672
3673// Configuration information for AWS Organizations.
3674type OrganizationConfiguration struct {
3675	_ struct{} `type:"structure"`
3676
3677	// Enables AWS Organization integration.
3678	//
3679	// EnableIntegration is a required field
3680	EnableIntegration *bool `type:"boolean" required:"true"`
3681}
3682
3683// String returns the string representation
3684func (s OrganizationConfiguration) String() string {
3685	return awsutil.Prettify(s)
3686}
3687
3688// GoString returns the string representation
3689func (s OrganizationConfiguration) GoString() string {
3690	return s.String()
3691}
3692
3693// Validate inspects the fields of the type to determine if they are valid.
3694func (s *OrganizationConfiguration) Validate() error {
3695	invalidParams := request.ErrInvalidParams{Context: "OrganizationConfiguration"}
3696	if s.EnableIntegration == nil {
3697		invalidParams.Add(request.NewErrParamRequired("EnableIntegration"))
3698	}
3699
3700	if invalidParams.Len() > 0 {
3701		return invalidParams
3702	}
3703	return nil
3704}
3705
3706// SetEnableIntegration sets the EnableIntegration field's value.
3707func (s *OrganizationConfiguration) SetEnableIntegration(v bool) *OrganizationConfiguration {
3708	s.EnableIntegration = &v
3709	return s
3710}
3711
3712// Describes product information for a license configuration.
3713type ProductInformation struct {
3714	_ struct{} `type:"structure"`
3715
3716	// Product information filters.
3717	//
3718	// The following filters and logical operators are supported when the resource
3719	// type is SSM_MANAGED:
3720	//
3721	//    * Application Name - The name of the application. Logical operator is
3722	//    EQUALS.
3723	//
3724	//    * Application Publisher - The publisher of the application. Logical operator
3725	//    is EQUALS.
3726	//
3727	//    * Application Version - The version of the application. Logical operator
3728	//    is EQUALS.
3729	//
3730	//    * Platform Name - The name of the platform. Logical operator is EQUALS.
3731	//
3732	//    * Platform Type - The platform type. Logical operator is EQUALS.
3733	//
3734	//    * License Included - The type of license included. Logical operators are
3735	//    EQUALS and NOT_EQUALS. Possible values are: sql-server-enterprise | sql-server-standard
3736	//    | sql-server-web | windows-server-datacenter.
3737	//
3738	// The following filters and logical operators are supported when the resource
3739	// type is RDS:
3740	//
3741	//    * Engine Edition - The edition of the database engine. Logical operator
3742	//    is EQUALS. Possible values are: oracle-ee | oracle-se | oracle-se1 | oracle-se2.
3743	//
3744	//    * License Pack - The license pack. Logical operator is EQUALS. Possible
3745	//    values are: data guard | diagnostic pack sqlt | tuning pack sqlt | ols
3746	//    | olap.
3747	//
3748	// ProductInformationFilterList is a required field
3749	ProductInformationFilterList []*ProductInformationFilter `type:"list" required:"true"`
3750
3751	// Resource type. The possible values are SSM_MANAGED | RDS.
3752	//
3753	// ResourceType is a required field
3754	ResourceType *string `type:"string" required:"true"`
3755}
3756
3757// String returns the string representation
3758func (s ProductInformation) String() string {
3759	return awsutil.Prettify(s)
3760}
3761
3762// GoString returns the string representation
3763func (s ProductInformation) GoString() string {
3764	return s.String()
3765}
3766
3767// Validate inspects the fields of the type to determine if they are valid.
3768func (s *ProductInformation) Validate() error {
3769	invalidParams := request.ErrInvalidParams{Context: "ProductInformation"}
3770	if s.ProductInformationFilterList == nil {
3771		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterList"))
3772	}
3773	if s.ResourceType == nil {
3774		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
3775	}
3776	if s.ProductInformationFilterList != nil {
3777		for i, v := range s.ProductInformationFilterList {
3778			if v == nil {
3779				continue
3780			}
3781			if err := v.Validate(); err != nil {
3782				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationFilterList", i), err.(request.ErrInvalidParams))
3783			}
3784		}
3785	}
3786
3787	if invalidParams.Len() > 0 {
3788		return invalidParams
3789	}
3790	return nil
3791}
3792
3793// SetProductInformationFilterList sets the ProductInformationFilterList field's value.
3794func (s *ProductInformation) SetProductInformationFilterList(v []*ProductInformationFilter) *ProductInformation {
3795	s.ProductInformationFilterList = v
3796	return s
3797}
3798
3799// SetResourceType sets the ResourceType field's value.
3800func (s *ProductInformation) SetResourceType(v string) *ProductInformation {
3801	s.ResourceType = &v
3802	return s
3803}
3804
3805// Describes product information filters.
3806type ProductInformationFilter struct {
3807	_ struct{} `type:"structure"`
3808
3809	// Logical operator.
3810	//
3811	// ProductInformationFilterComparator is a required field
3812	ProductInformationFilterComparator *string `type:"string" required:"true"`
3813
3814	// Filter name.
3815	//
3816	// ProductInformationFilterName is a required field
3817	ProductInformationFilterName *string `type:"string" required:"true"`
3818
3819	// Filter value.
3820	//
3821	// ProductInformationFilterValue is a required field
3822	ProductInformationFilterValue []*string `type:"list" required:"true"`
3823}
3824
3825// String returns the string representation
3826func (s ProductInformationFilter) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation
3831func (s ProductInformationFilter) GoString() string {
3832	return s.String()
3833}
3834
3835// Validate inspects the fields of the type to determine if they are valid.
3836func (s *ProductInformationFilter) Validate() error {
3837	invalidParams := request.ErrInvalidParams{Context: "ProductInformationFilter"}
3838	if s.ProductInformationFilterComparator == nil {
3839		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterComparator"))
3840	}
3841	if s.ProductInformationFilterName == nil {
3842		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterName"))
3843	}
3844	if s.ProductInformationFilterValue == nil {
3845		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterValue"))
3846	}
3847
3848	if invalidParams.Len() > 0 {
3849		return invalidParams
3850	}
3851	return nil
3852}
3853
3854// SetProductInformationFilterComparator sets the ProductInformationFilterComparator field's value.
3855func (s *ProductInformationFilter) SetProductInformationFilterComparator(v string) *ProductInformationFilter {
3856	s.ProductInformationFilterComparator = &v
3857	return s
3858}
3859
3860// SetProductInformationFilterName sets the ProductInformationFilterName field's value.
3861func (s *ProductInformationFilter) SetProductInformationFilterName(v string) *ProductInformationFilter {
3862	s.ProductInformationFilterName = &v
3863	return s
3864}
3865
3866// SetProductInformationFilterValue sets the ProductInformationFilterValue field's value.
3867func (s *ProductInformationFilter) SetProductInformationFilterValue(v []*string) *ProductInformationFilter {
3868	s.ProductInformationFilterValue = v
3869	return s
3870}
3871
3872// Too many requests have been submitted. Try again after a brief wait.
3873type RateLimitExceededException struct {
3874	_            struct{}                  `type:"structure"`
3875	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3876
3877	Message_ *string `locationName:"Message" type:"string"`
3878}
3879
3880// String returns the string representation
3881func (s RateLimitExceededException) String() string {
3882	return awsutil.Prettify(s)
3883}
3884
3885// GoString returns the string representation
3886func (s RateLimitExceededException) GoString() string {
3887	return s.String()
3888}
3889
3890func newErrorRateLimitExceededException(v protocol.ResponseMetadata) error {
3891	return &RateLimitExceededException{
3892		RespMetadata: v,
3893	}
3894}
3895
3896// Code returns the exception type name.
3897func (s *RateLimitExceededException) Code() string {
3898	return "RateLimitExceededException"
3899}
3900
3901// Message returns the exception's message.
3902func (s *RateLimitExceededException) Message() string {
3903	if s.Message_ != nil {
3904		return *s.Message_
3905	}
3906	return ""
3907}
3908
3909// OrigErr always returns nil, satisfies awserr.Error interface.
3910func (s *RateLimitExceededException) OrigErr() error {
3911	return nil
3912}
3913
3914func (s *RateLimitExceededException) Error() string {
3915	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3916}
3917
3918// Status code returns the HTTP status code for the request's response error.
3919func (s *RateLimitExceededException) StatusCode() int {
3920	return s.RespMetadata.StatusCode
3921}
3922
3923// RequestID returns the service's response RequestID for request.
3924func (s *RateLimitExceededException) RequestID() string {
3925	return s.RespMetadata.RequestID
3926}
3927
3928// Details about a resource.
3929type ResourceInventory struct {
3930	_ struct{} `type:"structure"`
3931
3932	// Platform of the resource.
3933	Platform *string `type:"string"`
3934
3935	// Platform version of the resource in the inventory.
3936	PlatformVersion *string `type:"string"`
3937
3938	// Amazon Resource Name (ARN) of the resource.
3939	ResourceArn *string `type:"string"`
3940
3941	// ID of the resource.
3942	ResourceId *string `type:"string"`
3943
3944	// ID of the account that owns the resource.
3945	ResourceOwningAccountId *string `type:"string"`
3946
3947	// Type of resource.
3948	ResourceType *string `type:"string" enum:"ResourceType"`
3949}
3950
3951// String returns the string representation
3952func (s ResourceInventory) String() string {
3953	return awsutil.Prettify(s)
3954}
3955
3956// GoString returns the string representation
3957func (s ResourceInventory) GoString() string {
3958	return s.String()
3959}
3960
3961// SetPlatform sets the Platform field's value.
3962func (s *ResourceInventory) SetPlatform(v string) *ResourceInventory {
3963	s.Platform = &v
3964	return s
3965}
3966
3967// SetPlatformVersion sets the PlatformVersion field's value.
3968func (s *ResourceInventory) SetPlatformVersion(v string) *ResourceInventory {
3969	s.PlatformVersion = &v
3970	return s
3971}
3972
3973// SetResourceArn sets the ResourceArn field's value.
3974func (s *ResourceInventory) SetResourceArn(v string) *ResourceInventory {
3975	s.ResourceArn = &v
3976	return s
3977}
3978
3979// SetResourceId sets the ResourceId field's value.
3980func (s *ResourceInventory) SetResourceId(v string) *ResourceInventory {
3981	s.ResourceId = &v
3982	return s
3983}
3984
3985// SetResourceOwningAccountId sets the ResourceOwningAccountId field's value.
3986func (s *ResourceInventory) SetResourceOwningAccountId(v string) *ResourceInventory {
3987	s.ResourceOwningAccountId = &v
3988	return s
3989}
3990
3991// SetResourceType sets the ResourceType field's value.
3992func (s *ResourceInventory) SetResourceType(v string) *ResourceInventory {
3993	s.ResourceType = &v
3994	return s
3995}
3996
3997// Your resource limits have been exceeded.
3998type ResourceLimitExceededException struct {
3999	_            struct{}                  `type:"structure"`
4000	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4001
4002	Message_ *string `locationName:"Message" type:"string"`
4003}
4004
4005// String returns the string representation
4006func (s ResourceLimitExceededException) String() string {
4007	return awsutil.Prettify(s)
4008}
4009
4010// GoString returns the string representation
4011func (s ResourceLimitExceededException) GoString() string {
4012	return s.String()
4013}
4014
4015func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
4016	return &ResourceLimitExceededException{
4017		RespMetadata: v,
4018	}
4019}
4020
4021// Code returns the exception type name.
4022func (s *ResourceLimitExceededException) Code() string {
4023	return "ResourceLimitExceededException"
4024}
4025
4026// Message returns the exception's message.
4027func (s *ResourceLimitExceededException) Message() string {
4028	if s.Message_ != nil {
4029		return *s.Message_
4030	}
4031	return ""
4032}
4033
4034// OrigErr always returns nil, satisfies awserr.Error interface.
4035func (s *ResourceLimitExceededException) OrigErr() error {
4036	return nil
4037}
4038
4039func (s *ResourceLimitExceededException) Error() string {
4040	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4041}
4042
4043// Status code returns the HTTP status code for the request's response error.
4044func (s *ResourceLimitExceededException) StatusCode() int {
4045	return s.RespMetadata.StatusCode
4046}
4047
4048// RequestID returns the service's response RequestID for request.
4049func (s *ResourceLimitExceededException) RequestID() string {
4050	return s.RespMetadata.RequestID
4051}
4052
4053// The server experienced an internal error. Try again.
4054type ServerInternalException struct {
4055	_            struct{}                  `type:"structure"`
4056	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4057
4058	Message_ *string `locationName:"Message" type:"string"`
4059}
4060
4061// String returns the string representation
4062func (s ServerInternalException) String() string {
4063	return awsutil.Prettify(s)
4064}
4065
4066// GoString returns the string representation
4067func (s ServerInternalException) GoString() string {
4068	return s.String()
4069}
4070
4071func newErrorServerInternalException(v protocol.ResponseMetadata) error {
4072	return &ServerInternalException{
4073		RespMetadata: v,
4074	}
4075}
4076
4077// Code returns the exception type name.
4078func (s *ServerInternalException) Code() string {
4079	return "ServerInternalException"
4080}
4081
4082// Message returns the exception's message.
4083func (s *ServerInternalException) Message() string {
4084	if s.Message_ != nil {
4085		return *s.Message_
4086	}
4087	return ""
4088}
4089
4090// OrigErr always returns nil, satisfies awserr.Error interface.
4091func (s *ServerInternalException) OrigErr() error {
4092	return nil
4093}
4094
4095func (s *ServerInternalException) Error() string {
4096	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4097}
4098
4099// Status code returns the HTTP status code for the request's response error.
4100func (s *ServerInternalException) StatusCode() int {
4101	return s.RespMetadata.StatusCode
4102}
4103
4104// RequestID returns the service's response RequestID for request.
4105func (s *ServerInternalException) RequestID() string {
4106	return s.RespMetadata.RequestID
4107}
4108
4109// Details about a tag for a license configuration.
4110type Tag struct {
4111	_ struct{} `type:"structure"`
4112
4113	// Tag key.
4114	Key *string `type:"string"`
4115
4116	// Tag value.
4117	Value *string `type:"string"`
4118}
4119
4120// String returns the string representation
4121func (s Tag) String() string {
4122	return awsutil.Prettify(s)
4123}
4124
4125// GoString returns the string representation
4126func (s Tag) GoString() string {
4127	return s.String()
4128}
4129
4130// SetKey sets the Key field's value.
4131func (s *Tag) SetKey(v string) *Tag {
4132	s.Key = &v
4133	return s
4134}
4135
4136// SetValue sets the Value field's value.
4137func (s *Tag) SetValue(v string) *Tag {
4138	s.Value = &v
4139	return s
4140}
4141
4142type TagResourceInput struct {
4143	_ struct{} `type:"structure"`
4144
4145	// Amazon Resource Name (ARN) of the license configuration.
4146	//
4147	// ResourceArn is a required field
4148	ResourceArn *string `type:"string" required:"true"`
4149
4150	// One or more tags.
4151	//
4152	// Tags is a required field
4153	Tags []*Tag `type:"list" required:"true"`
4154}
4155
4156// String returns the string representation
4157func (s TagResourceInput) String() string {
4158	return awsutil.Prettify(s)
4159}
4160
4161// GoString returns the string representation
4162func (s TagResourceInput) GoString() string {
4163	return s.String()
4164}
4165
4166// Validate inspects the fields of the type to determine if they are valid.
4167func (s *TagResourceInput) Validate() error {
4168	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
4169	if s.ResourceArn == nil {
4170		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4171	}
4172	if s.Tags == nil {
4173		invalidParams.Add(request.NewErrParamRequired("Tags"))
4174	}
4175
4176	if invalidParams.Len() > 0 {
4177		return invalidParams
4178	}
4179	return nil
4180}
4181
4182// SetResourceArn sets the ResourceArn field's value.
4183func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
4184	s.ResourceArn = &v
4185	return s
4186}
4187
4188// SetTags sets the Tags field's value.
4189func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
4190	s.Tags = v
4191	return s
4192}
4193
4194type TagResourceOutput struct {
4195	_ struct{} `type:"structure"`
4196}
4197
4198// String returns the string representation
4199func (s TagResourceOutput) String() string {
4200	return awsutil.Prettify(s)
4201}
4202
4203// GoString returns the string representation
4204func (s TagResourceOutput) GoString() string {
4205	return s.String()
4206}
4207
4208type UntagResourceInput struct {
4209	_ struct{} `type:"structure"`
4210
4211	// Amazon Resource Name (ARN) of the license configuration.
4212	//
4213	// ResourceArn is a required field
4214	ResourceArn *string `type:"string" required:"true"`
4215
4216	// Keys identifying the tags to remove.
4217	//
4218	// TagKeys is a required field
4219	TagKeys []*string `type:"list" required:"true"`
4220}
4221
4222// String returns the string representation
4223func (s UntagResourceInput) String() string {
4224	return awsutil.Prettify(s)
4225}
4226
4227// GoString returns the string representation
4228func (s UntagResourceInput) GoString() string {
4229	return s.String()
4230}
4231
4232// Validate inspects the fields of the type to determine if they are valid.
4233func (s *UntagResourceInput) Validate() error {
4234	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
4235	if s.ResourceArn == nil {
4236		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4237	}
4238	if s.TagKeys == nil {
4239		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
4240	}
4241
4242	if invalidParams.Len() > 0 {
4243		return invalidParams
4244	}
4245	return nil
4246}
4247
4248// SetResourceArn sets the ResourceArn field's value.
4249func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
4250	s.ResourceArn = &v
4251	return s
4252}
4253
4254// SetTagKeys sets the TagKeys field's value.
4255func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
4256	s.TagKeys = v
4257	return s
4258}
4259
4260type UntagResourceOutput struct {
4261	_ struct{} `type:"structure"`
4262}
4263
4264// String returns the string representation
4265func (s UntagResourceOutput) String() string {
4266	return awsutil.Prettify(s)
4267}
4268
4269// GoString returns the string representation
4270func (s UntagResourceOutput) GoString() string {
4271	return s.String()
4272}
4273
4274type UpdateLicenseConfigurationInput struct {
4275	_ struct{} `type:"structure"`
4276
4277	// New description of the license configuration.
4278	Description *string `type:"string"`
4279
4280	// Amazon Resource Name (ARN) of the license configuration.
4281	//
4282	// LicenseConfigurationArn is a required field
4283	LicenseConfigurationArn *string `type:"string" required:"true"`
4284
4285	// New status of the license configuration.
4286	LicenseConfigurationStatus *string `type:"string" enum:"LicenseConfigurationStatus"`
4287
4288	// New number of licenses managed by the license configuration.
4289	LicenseCount *int64 `type:"long"`
4290
4291	// New hard limit of the number of available licenses.
4292	LicenseCountHardLimit *bool `type:"boolean"`
4293
4294	// New license rule. The only rule that you can add after you create a license
4295	// configuration is licenseAffinityToHost.
4296	LicenseRules []*string `type:"list"`
4297
4298	// New name of the license configuration.
4299	Name *string `type:"string"`
4300
4301	// New product information.
4302	ProductInformationList []*ProductInformation `type:"list"`
4303}
4304
4305// String returns the string representation
4306func (s UpdateLicenseConfigurationInput) String() string {
4307	return awsutil.Prettify(s)
4308}
4309
4310// GoString returns the string representation
4311func (s UpdateLicenseConfigurationInput) GoString() string {
4312	return s.String()
4313}
4314
4315// Validate inspects the fields of the type to determine if they are valid.
4316func (s *UpdateLicenseConfigurationInput) Validate() error {
4317	invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseConfigurationInput"}
4318	if s.LicenseConfigurationArn == nil {
4319		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
4320	}
4321	if s.ProductInformationList != nil {
4322		for i, v := range s.ProductInformationList {
4323			if v == nil {
4324				continue
4325			}
4326			if err := v.Validate(); err != nil {
4327				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationList", i), err.(request.ErrInvalidParams))
4328			}
4329		}
4330	}
4331
4332	if invalidParams.Len() > 0 {
4333		return invalidParams
4334	}
4335	return nil
4336}
4337
4338// SetDescription sets the Description field's value.
4339func (s *UpdateLicenseConfigurationInput) SetDescription(v string) *UpdateLicenseConfigurationInput {
4340	s.Description = &v
4341	return s
4342}
4343
4344// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
4345func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *UpdateLicenseConfigurationInput {
4346	s.LicenseConfigurationArn = &v
4347	return s
4348}
4349
4350// SetLicenseConfigurationStatus sets the LicenseConfigurationStatus field's value.
4351func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationStatus(v string) *UpdateLicenseConfigurationInput {
4352	s.LicenseConfigurationStatus = &v
4353	return s
4354}
4355
4356// SetLicenseCount sets the LicenseCount field's value.
4357func (s *UpdateLicenseConfigurationInput) SetLicenseCount(v int64) *UpdateLicenseConfigurationInput {
4358	s.LicenseCount = &v
4359	return s
4360}
4361
4362// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value.
4363func (s *UpdateLicenseConfigurationInput) SetLicenseCountHardLimit(v bool) *UpdateLicenseConfigurationInput {
4364	s.LicenseCountHardLimit = &v
4365	return s
4366}
4367
4368// SetLicenseRules sets the LicenseRules field's value.
4369func (s *UpdateLicenseConfigurationInput) SetLicenseRules(v []*string) *UpdateLicenseConfigurationInput {
4370	s.LicenseRules = v
4371	return s
4372}
4373
4374// SetName sets the Name field's value.
4375func (s *UpdateLicenseConfigurationInput) SetName(v string) *UpdateLicenseConfigurationInput {
4376	s.Name = &v
4377	return s
4378}
4379
4380// SetProductInformationList sets the ProductInformationList field's value.
4381func (s *UpdateLicenseConfigurationInput) SetProductInformationList(v []*ProductInformation) *UpdateLicenseConfigurationInput {
4382	s.ProductInformationList = v
4383	return s
4384}
4385
4386type UpdateLicenseConfigurationOutput struct {
4387	_ struct{} `type:"structure"`
4388}
4389
4390// String returns the string representation
4391func (s UpdateLicenseConfigurationOutput) String() string {
4392	return awsutil.Prettify(s)
4393}
4394
4395// GoString returns the string representation
4396func (s UpdateLicenseConfigurationOutput) GoString() string {
4397	return s.String()
4398}
4399
4400type UpdateLicenseSpecificationsForResourceInput struct {
4401	_ struct{} `type:"structure"`
4402
4403	// ARNs of the license configurations to add.
4404	AddLicenseSpecifications []*LicenseSpecification `type:"list"`
4405
4406	// ARNs of the license configurations to remove.
4407	RemoveLicenseSpecifications []*LicenseSpecification `type:"list"`
4408
4409	// Amazon Resource Name (ARN) of the AWS resource.
4410	//
4411	// ResourceArn is a required field
4412	ResourceArn *string `type:"string" required:"true"`
4413}
4414
4415// String returns the string representation
4416func (s UpdateLicenseSpecificationsForResourceInput) String() string {
4417	return awsutil.Prettify(s)
4418}
4419
4420// GoString returns the string representation
4421func (s UpdateLicenseSpecificationsForResourceInput) GoString() string {
4422	return s.String()
4423}
4424
4425// Validate inspects the fields of the type to determine if they are valid.
4426func (s *UpdateLicenseSpecificationsForResourceInput) Validate() error {
4427	invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseSpecificationsForResourceInput"}
4428	if s.ResourceArn == nil {
4429		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4430	}
4431	if s.AddLicenseSpecifications != nil {
4432		for i, v := range s.AddLicenseSpecifications {
4433			if v == nil {
4434				continue
4435			}
4436			if err := v.Validate(); err != nil {
4437				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddLicenseSpecifications", i), err.(request.ErrInvalidParams))
4438			}
4439		}
4440	}
4441	if s.RemoveLicenseSpecifications != nil {
4442		for i, v := range s.RemoveLicenseSpecifications {
4443			if v == nil {
4444				continue
4445			}
4446			if err := v.Validate(); err != nil {
4447				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveLicenseSpecifications", i), err.(request.ErrInvalidParams))
4448			}
4449		}
4450	}
4451
4452	if invalidParams.Len() > 0 {
4453		return invalidParams
4454	}
4455	return nil
4456}
4457
4458// SetAddLicenseSpecifications sets the AddLicenseSpecifications field's value.
4459func (s *UpdateLicenseSpecificationsForResourceInput) SetAddLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput {
4460	s.AddLicenseSpecifications = v
4461	return s
4462}
4463
4464// SetRemoveLicenseSpecifications sets the RemoveLicenseSpecifications field's value.
4465func (s *UpdateLicenseSpecificationsForResourceInput) SetRemoveLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput {
4466	s.RemoveLicenseSpecifications = v
4467	return s
4468}
4469
4470// SetResourceArn sets the ResourceArn field's value.
4471func (s *UpdateLicenseSpecificationsForResourceInput) SetResourceArn(v string) *UpdateLicenseSpecificationsForResourceInput {
4472	s.ResourceArn = &v
4473	return s
4474}
4475
4476type UpdateLicenseSpecificationsForResourceOutput struct {
4477	_ struct{} `type:"structure"`
4478}
4479
4480// String returns the string representation
4481func (s UpdateLicenseSpecificationsForResourceOutput) String() string {
4482	return awsutil.Prettify(s)
4483}
4484
4485// GoString returns the string representation
4486func (s UpdateLicenseSpecificationsForResourceOutput) GoString() string {
4487	return s.String()
4488}
4489
4490type UpdateServiceSettingsInput struct {
4491	_ struct{} `type:"structure"`
4492
4493	// Activates cross-account discovery.
4494	EnableCrossAccountsDiscovery *bool `type:"boolean"`
4495
4496	// Enables integration with AWS Organizations for cross-account discovery.
4497	OrganizationConfiguration *OrganizationConfiguration `type:"structure"`
4498
4499	// Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager
4500	// information is stored.
4501	S3BucketArn *string `type:"string"`
4502
4503	// Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager
4504	// alerts.
4505	SnsTopicArn *string `type:"string"`
4506}
4507
4508// String returns the string representation
4509func (s UpdateServiceSettingsInput) String() string {
4510	return awsutil.Prettify(s)
4511}
4512
4513// GoString returns the string representation
4514func (s UpdateServiceSettingsInput) GoString() string {
4515	return s.String()
4516}
4517
4518// Validate inspects the fields of the type to determine if they are valid.
4519func (s *UpdateServiceSettingsInput) Validate() error {
4520	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingsInput"}
4521	if s.OrganizationConfiguration != nil {
4522		if err := s.OrganizationConfiguration.Validate(); err != nil {
4523			invalidParams.AddNested("OrganizationConfiguration", err.(request.ErrInvalidParams))
4524		}
4525	}
4526
4527	if invalidParams.Len() > 0 {
4528		return invalidParams
4529	}
4530	return nil
4531}
4532
4533// SetEnableCrossAccountsDiscovery sets the EnableCrossAccountsDiscovery field's value.
4534func (s *UpdateServiceSettingsInput) SetEnableCrossAccountsDiscovery(v bool) *UpdateServiceSettingsInput {
4535	s.EnableCrossAccountsDiscovery = &v
4536	return s
4537}
4538
4539// SetOrganizationConfiguration sets the OrganizationConfiguration field's value.
4540func (s *UpdateServiceSettingsInput) SetOrganizationConfiguration(v *OrganizationConfiguration) *UpdateServiceSettingsInput {
4541	s.OrganizationConfiguration = v
4542	return s
4543}
4544
4545// SetS3BucketArn sets the S3BucketArn field's value.
4546func (s *UpdateServiceSettingsInput) SetS3BucketArn(v string) *UpdateServiceSettingsInput {
4547	s.S3BucketArn = &v
4548	return s
4549}
4550
4551// SetSnsTopicArn sets the SnsTopicArn field's value.
4552func (s *UpdateServiceSettingsInput) SetSnsTopicArn(v string) *UpdateServiceSettingsInput {
4553	s.SnsTopicArn = &v
4554	return s
4555}
4556
4557type UpdateServiceSettingsOutput struct {
4558	_ struct{} `type:"structure"`
4559}
4560
4561// String returns the string representation
4562func (s UpdateServiceSettingsOutput) String() string {
4563	return awsutil.Prettify(s)
4564}
4565
4566// GoString returns the string representation
4567func (s UpdateServiceSettingsOutput) GoString() string {
4568	return s.String()
4569}
4570
4571const (
4572	// InventoryFilterConditionEquals is a InventoryFilterCondition enum value
4573	InventoryFilterConditionEquals = "EQUALS"
4574
4575	// InventoryFilterConditionNotEquals is a InventoryFilterCondition enum value
4576	InventoryFilterConditionNotEquals = "NOT_EQUALS"
4577
4578	// InventoryFilterConditionBeginsWith is a InventoryFilterCondition enum value
4579	InventoryFilterConditionBeginsWith = "BEGINS_WITH"
4580
4581	// InventoryFilterConditionContains is a InventoryFilterCondition enum value
4582	InventoryFilterConditionContains = "CONTAINS"
4583)
4584
4585// InventoryFilterCondition_Values returns all elements of the InventoryFilterCondition enum
4586func InventoryFilterCondition_Values() []string {
4587	return []string{
4588		InventoryFilterConditionEquals,
4589		InventoryFilterConditionNotEquals,
4590		InventoryFilterConditionBeginsWith,
4591		InventoryFilterConditionContains,
4592	}
4593}
4594
4595const (
4596	// LicenseConfigurationStatusAvailable is a LicenseConfigurationStatus enum value
4597	LicenseConfigurationStatusAvailable = "AVAILABLE"
4598
4599	// LicenseConfigurationStatusDisabled is a LicenseConfigurationStatus enum value
4600	LicenseConfigurationStatusDisabled = "DISABLED"
4601)
4602
4603// LicenseConfigurationStatus_Values returns all elements of the LicenseConfigurationStatus enum
4604func LicenseConfigurationStatus_Values() []string {
4605	return []string{
4606		LicenseConfigurationStatusAvailable,
4607		LicenseConfigurationStatusDisabled,
4608	}
4609}
4610
4611const (
4612	// LicenseCountingTypeVCpu is a LicenseCountingType enum value
4613	LicenseCountingTypeVCpu = "vCPU"
4614
4615	// LicenseCountingTypeInstance is a LicenseCountingType enum value
4616	LicenseCountingTypeInstance = "Instance"
4617
4618	// LicenseCountingTypeCore is a LicenseCountingType enum value
4619	LicenseCountingTypeCore = "Core"
4620
4621	// LicenseCountingTypeSocket is a LicenseCountingType enum value
4622	LicenseCountingTypeSocket = "Socket"
4623)
4624
4625// LicenseCountingType_Values returns all elements of the LicenseCountingType enum
4626func LicenseCountingType_Values() []string {
4627	return []string{
4628		LicenseCountingTypeVCpu,
4629		LicenseCountingTypeInstance,
4630		LicenseCountingTypeCore,
4631		LicenseCountingTypeSocket,
4632	}
4633}
4634
4635const (
4636	// ResourceTypeEc2Instance is a ResourceType enum value
4637	ResourceTypeEc2Instance = "EC2_INSTANCE"
4638
4639	// ResourceTypeEc2Host is a ResourceType enum value
4640	ResourceTypeEc2Host = "EC2_HOST"
4641
4642	// ResourceTypeEc2Ami is a ResourceType enum value
4643	ResourceTypeEc2Ami = "EC2_AMI"
4644
4645	// ResourceTypeRds is a ResourceType enum value
4646	ResourceTypeRds = "RDS"
4647
4648	// ResourceTypeSystemsManagerManagedInstance is a ResourceType enum value
4649	ResourceTypeSystemsManagerManagedInstance = "SYSTEMS_MANAGER_MANAGED_INSTANCE"
4650)
4651
4652// ResourceType_Values returns all elements of the ResourceType enum
4653func ResourceType_Values() []string {
4654	return []string{
4655		ResourceTypeEc2Instance,
4656		ResourceTypeEc2Host,
4657		ResourceTypeEc2Ami,
4658		ResourceTypeRds,
4659		ResourceTypeSystemsManagerManagedInstance,
4660	}
4661}
4662