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), host affinity (how long a VM must be associated with
67// 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// A license configuration is an abstraction of a customer license agreement
1293// that can be consumed and enforced by License Manager. Components include
1294// specifications for the license type (licensing by instance, socket, CPU,
1295// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated
1296// Host, or all of these), host affinity (how long a VM must be associated with
1297// a host), and the number of licenses purchased and used.
1298//
1299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1300// with awserr.Error's Code and Message methods to get detailed information about
1301// the error.
1302//
1303// See the AWS API reference guide for AWS License Manager's
1304// API operation UpdateLicenseConfiguration for usage and error information.
1305//
1306// Returned Error Types:
1307//   * InvalidParameterValueException
1308//   One or more parameter values are not valid.
1309//
1310//   * ServerInternalException
1311//   The server experienced an internal error. Try again.
1312//
1313//   * AuthorizationException
1314//   The AWS user account does not have permission to perform the action. Check
1315//   the IAM policy associated with this account.
1316//
1317//   * AccessDeniedException
1318//   Access to resource denied.
1319//
1320//   * RateLimitExceededException
1321//   Too many requests have been submitted. Try again after a brief wait.
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration
1324func (c *LicenseManager) UpdateLicenseConfiguration(input *UpdateLicenseConfigurationInput) (*UpdateLicenseConfigurationOutput, error) {
1325	req, out := c.UpdateLicenseConfigurationRequest(input)
1326	return out, req.Send()
1327}
1328
1329// UpdateLicenseConfigurationWithContext is the same as UpdateLicenseConfiguration with the addition of
1330// the ability to pass a context and additional request options.
1331//
1332// See UpdateLicenseConfiguration for details on how to use this API operation.
1333//
1334// The context must be non-nil and will be used for request cancellation. If
1335// the context is nil a panic will occur. In the future the SDK may create
1336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1337// for more information on using Contexts.
1338func (c *LicenseManager) UpdateLicenseConfigurationWithContext(ctx aws.Context, input *UpdateLicenseConfigurationInput, opts ...request.Option) (*UpdateLicenseConfigurationOutput, error) {
1339	req, out := c.UpdateLicenseConfigurationRequest(input)
1340	req.SetContext(ctx)
1341	req.ApplyOptions(opts...)
1342	return out, req.Send()
1343}
1344
1345const opUpdateLicenseSpecificationsForResource = "UpdateLicenseSpecificationsForResource"
1346
1347// UpdateLicenseSpecificationsForResourceRequest generates a "aws/request.Request" representing the
1348// client's request for the UpdateLicenseSpecificationsForResource operation. The "output" return
1349// value will be populated with the request's response once the request completes
1350// successfully.
1351//
1352// Use "Send" method on the returned Request to send the API call to the service.
1353// the "output" return value is not valid until after Send returns without error.
1354//
1355// See UpdateLicenseSpecificationsForResource for more information on using the UpdateLicenseSpecificationsForResource
1356// API call, and error handling.
1357//
1358// This method is useful when you want to inject custom logic or configuration
1359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1360//
1361//
1362//    // Example sending a request using the UpdateLicenseSpecificationsForResourceRequest method.
1363//    req, resp := client.UpdateLicenseSpecificationsForResourceRequest(params)
1364//
1365//    err := req.Send()
1366//    if err == nil { // resp is now filled
1367//        fmt.Println(resp)
1368//    }
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource
1371func (c *LicenseManager) UpdateLicenseSpecificationsForResourceRequest(input *UpdateLicenseSpecificationsForResourceInput) (req *request.Request, output *UpdateLicenseSpecificationsForResourceOutput) {
1372	op := &request.Operation{
1373		Name:       opUpdateLicenseSpecificationsForResource,
1374		HTTPMethod: "POST",
1375		HTTPPath:   "/",
1376	}
1377
1378	if input == nil {
1379		input = &UpdateLicenseSpecificationsForResourceInput{}
1380	}
1381
1382	output = &UpdateLicenseSpecificationsForResourceOutput{}
1383	req = c.newRequest(op, input, output)
1384	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1385	return
1386}
1387
1388// UpdateLicenseSpecificationsForResource API operation for AWS License Manager.
1389//
1390// Adds or removes the specified license configurations for the specified AWS
1391// resource.
1392//
1393// You can update the license specifications of AMIs, instances, and hosts.
1394// You cannot update the license specifications for launch templates and AWS
1395// CloudFormation templates, as they send license configurations to the operation
1396// that creates the resource.
1397//
1398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1399// with awserr.Error's Code and Message methods to get detailed information about
1400// the error.
1401//
1402// See the AWS API reference guide for AWS License Manager's
1403// API operation UpdateLicenseSpecificationsForResource for usage and error information.
1404//
1405// Returned Error Types:
1406//   * InvalidParameterValueException
1407//   One or more parameter values are not valid.
1408//
1409//   * InvalidResourceStateException
1410//   License Manager cannot allocate a license to a resource because of its state.
1411//
1412//   For example, you cannot allocate a license to an instance in the process
1413//   of shutting down.
1414//
1415//   * LicenseUsageException
1416//   You do not have enough licenses available to support a new resource launch.
1417//
1418//   * ServerInternalException
1419//   The server experienced an internal error. Try again.
1420//
1421//   * AuthorizationException
1422//   The AWS user account does not have permission to perform the action. Check
1423//   the IAM policy associated with this account.
1424//
1425//   * AccessDeniedException
1426//   Access to resource denied.
1427//
1428//   * RateLimitExceededException
1429//   Too many requests have been submitted. Try again after a brief wait.
1430//
1431// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource
1432func (c *LicenseManager) UpdateLicenseSpecificationsForResource(input *UpdateLicenseSpecificationsForResourceInput) (*UpdateLicenseSpecificationsForResourceOutput, error) {
1433	req, out := c.UpdateLicenseSpecificationsForResourceRequest(input)
1434	return out, req.Send()
1435}
1436
1437// UpdateLicenseSpecificationsForResourceWithContext is the same as UpdateLicenseSpecificationsForResource with the addition of
1438// the ability to pass a context and additional request options.
1439//
1440// See UpdateLicenseSpecificationsForResource for details on how to use this API operation.
1441//
1442// The context must be non-nil and will be used for request cancellation. If
1443// the context is nil a panic will occur. In the future the SDK may create
1444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1445// for more information on using Contexts.
1446func (c *LicenseManager) UpdateLicenseSpecificationsForResourceWithContext(ctx aws.Context, input *UpdateLicenseSpecificationsForResourceInput, opts ...request.Option) (*UpdateLicenseSpecificationsForResourceOutput, error) {
1447	req, out := c.UpdateLicenseSpecificationsForResourceRequest(input)
1448	req.SetContext(ctx)
1449	req.ApplyOptions(opts...)
1450	return out, req.Send()
1451}
1452
1453const opUpdateServiceSettings = "UpdateServiceSettings"
1454
1455// UpdateServiceSettingsRequest generates a "aws/request.Request" representing the
1456// client's request for the UpdateServiceSettings operation. The "output" return
1457// value will be populated with the request's response once the request completes
1458// successfully.
1459//
1460// Use "Send" method on the returned Request to send the API call to the service.
1461// the "output" return value is not valid until after Send returns without error.
1462//
1463// See UpdateServiceSettings for more information on using the UpdateServiceSettings
1464// API call, and error handling.
1465//
1466// This method is useful when you want to inject custom logic or configuration
1467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1468//
1469//
1470//    // Example sending a request using the UpdateServiceSettingsRequest method.
1471//    req, resp := client.UpdateServiceSettingsRequest(params)
1472//
1473//    err := req.Send()
1474//    if err == nil { // resp is now filled
1475//        fmt.Println(resp)
1476//    }
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings
1479func (c *LicenseManager) UpdateServiceSettingsRequest(input *UpdateServiceSettingsInput) (req *request.Request, output *UpdateServiceSettingsOutput) {
1480	op := &request.Operation{
1481		Name:       opUpdateServiceSettings,
1482		HTTPMethod: "POST",
1483		HTTPPath:   "/",
1484	}
1485
1486	if input == nil {
1487		input = &UpdateServiceSettingsInput{}
1488	}
1489
1490	output = &UpdateServiceSettingsOutput{}
1491	req = c.newRequest(op, input, output)
1492	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1493	return
1494}
1495
1496// UpdateServiceSettings API operation for AWS License Manager.
1497//
1498// Updates License Manager settings for the current Region.
1499//
1500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1501// with awserr.Error's Code and Message methods to get detailed information about
1502// the error.
1503//
1504// See the AWS API reference guide for AWS License Manager's
1505// API operation UpdateServiceSettings for usage and error information.
1506//
1507// Returned Error Types:
1508//   * InvalidParameterValueException
1509//   One or more parameter values are not valid.
1510//
1511//   * ServerInternalException
1512//   The server experienced an internal error. Try again.
1513//
1514//   * AuthorizationException
1515//   The AWS user account does not have permission to perform the action. Check
1516//   the IAM policy associated with this account.
1517//
1518//   * AccessDeniedException
1519//   Access to resource denied.
1520//
1521//   * RateLimitExceededException
1522//   Too many requests have been submitted. Try again after a brief wait.
1523//
1524// See also, https://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings
1525func (c *LicenseManager) UpdateServiceSettings(input *UpdateServiceSettingsInput) (*UpdateServiceSettingsOutput, error) {
1526	req, out := c.UpdateServiceSettingsRequest(input)
1527	return out, req.Send()
1528}
1529
1530// UpdateServiceSettingsWithContext is the same as UpdateServiceSettings with the addition of
1531// the ability to pass a context and additional request options.
1532//
1533// See UpdateServiceSettings for details on how to use this API operation.
1534//
1535// The context must be non-nil and will be used for request cancellation. If
1536// the context is nil a panic will occur. In the future the SDK may create
1537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1538// for more information on using Contexts.
1539func (c *LicenseManager) UpdateServiceSettingsWithContext(ctx aws.Context, input *UpdateServiceSettingsInput, opts ...request.Option) (*UpdateServiceSettingsOutput, error) {
1540	req, out := c.UpdateServiceSettingsRequest(input)
1541	req.SetContext(ctx)
1542	req.ApplyOptions(opts...)
1543	return out, req.Send()
1544}
1545
1546// Access to resource denied.
1547type AccessDeniedException struct {
1548	_            struct{}                  `type:"structure"`
1549	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1550
1551	Message_ *string `locationName:"Message" type:"string"`
1552}
1553
1554// String returns the string representation
1555func (s AccessDeniedException) String() string {
1556	return awsutil.Prettify(s)
1557}
1558
1559// GoString returns the string representation
1560func (s AccessDeniedException) GoString() string {
1561	return s.String()
1562}
1563
1564func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
1565	return &AccessDeniedException{
1566		RespMetadata: v,
1567	}
1568}
1569
1570// Code returns the exception type name.
1571func (s *AccessDeniedException) Code() string {
1572	return "AccessDeniedException"
1573}
1574
1575// Message returns the exception's message.
1576func (s *AccessDeniedException) Message() string {
1577	if s.Message_ != nil {
1578		return *s.Message_
1579	}
1580	return ""
1581}
1582
1583// OrigErr always returns nil, satisfies awserr.Error interface.
1584func (s *AccessDeniedException) OrigErr() error {
1585	return nil
1586}
1587
1588func (s *AccessDeniedException) Error() string {
1589	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1590}
1591
1592// Status code returns the HTTP status code for the request's response error.
1593func (s *AccessDeniedException) StatusCode() int {
1594	return s.RespMetadata.StatusCode
1595}
1596
1597// RequestID returns the service's response RequestID for request.
1598func (s *AccessDeniedException) RequestID() string {
1599	return s.RespMetadata.RequestID
1600}
1601
1602// The AWS user account does not have permission to perform the action. Check
1603// the IAM policy associated with this account.
1604type AuthorizationException struct {
1605	_            struct{}                  `type:"structure"`
1606	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1607
1608	Message_ *string `locationName:"Message" type:"string"`
1609}
1610
1611// String returns the string representation
1612func (s AuthorizationException) String() string {
1613	return awsutil.Prettify(s)
1614}
1615
1616// GoString returns the string representation
1617func (s AuthorizationException) GoString() string {
1618	return s.String()
1619}
1620
1621func newErrorAuthorizationException(v protocol.ResponseMetadata) error {
1622	return &AuthorizationException{
1623		RespMetadata: v,
1624	}
1625}
1626
1627// Code returns the exception type name.
1628func (s *AuthorizationException) Code() string {
1629	return "AuthorizationException"
1630}
1631
1632// Message returns the exception's message.
1633func (s *AuthorizationException) Message() string {
1634	if s.Message_ != nil {
1635		return *s.Message_
1636	}
1637	return ""
1638}
1639
1640// OrigErr always returns nil, satisfies awserr.Error interface.
1641func (s *AuthorizationException) OrigErr() error {
1642	return nil
1643}
1644
1645func (s *AuthorizationException) Error() string {
1646	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1647}
1648
1649// Status code returns the HTTP status code for the request's response error.
1650func (s *AuthorizationException) StatusCode() int {
1651	return s.RespMetadata.StatusCode
1652}
1653
1654// RequestID returns the service's response RequestID for request.
1655func (s *AuthorizationException) RequestID() string {
1656	return s.RespMetadata.RequestID
1657}
1658
1659// Describes automated discovery.
1660type AutomatedDiscoveryInformation struct {
1661	_ struct{} `type:"structure"`
1662
1663	// Time that automated discovery last ran.
1664	LastRunTime *time.Time `type:"timestamp"`
1665}
1666
1667// String returns the string representation
1668func (s AutomatedDiscoveryInformation) String() string {
1669	return awsutil.Prettify(s)
1670}
1671
1672// GoString returns the string representation
1673func (s AutomatedDiscoveryInformation) GoString() string {
1674	return s.String()
1675}
1676
1677// SetLastRunTime sets the LastRunTime field's value.
1678func (s *AutomatedDiscoveryInformation) SetLastRunTime(v time.Time) *AutomatedDiscoveryInformation {
1679	s.LastRunTime = &v
1680	return s
1681}
1682
1683// Details about license consumption.
1684type ConsumedLicenseSummary struct {
1685	_ struct{} `type:"structure"`
1686
1687	// Number of licenses consumed by the resource.
1688	ConsumedLicenses *int64 `type:"long"`
1689
1690	// Resource type of the resource consuming a license.
1691	ResourceType *string `type:"string" enum:"ResourceType"`
1692}
1693
1694// String returns the string representation
1695func (s ConsumedLicenseSummary) String() string {
1696	return awsutil.Prettify(s)
1697}
1698
1699// GoString returns the string representation
1700func (s ConsumedLicenseSummary) GoString() string {
1701	return s.String()
1702}
1703
1704// SetConsumedLicenses sets the ConsumedLicenses field's value.
1705func (s *ConsumedLicenseSummary) SetConsumedLicenses(v int64) *ConsumedLicenseSummary {
1706	s.ConsumedLicenses = &v
1707	return s
1708}
1709
1710// SetResourceType sets the ResourceType field's value.
1711func (s *ConsumedLicenseSummary) SetResourceType(v string) *ConsumedLicenseSummary {
1712	s.ResourceType = &v
1713	return s
1714}
1715
1716type CreateLicenseConfigurationInput struct {
1717	_ struct{} `type:"structure"`
1718
1719	// Description of the license configuration.
1720	Description *string `type:"string"`
1721
1722	// Number of licenses managed by the license configuration.
1723	LicenseCount *int64 `type:"long"`
1724
1725	// Indicates whether hard or soft license enforcement is used. Exceeding a hard
1726	// limit blocks the launch of new instances.
1727	LicenseCountHardLimit *bool `type:"boolean"`
1728
1729	// Dimension used to track the license inventory.
1730	//
1731	// LicenseCountingType is a required field
1732	LicenseCountingType *string `type:"string" required:"true" enum:"LicenseCountingType"`
1733
1734	// License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost).
1735	// Available rules vary by dimension.
1736	//
1737	//    * Cores dimension: allowedTenancy | maximumCores | minimumCores
1738	//
1739	//    * Instances dimension: allowedTenancy | maximumCores | minimumCores |
1740	//    maximumSockets | minimumSockets | maximumVcpus | minimumVcpus
1741	//
1742	//    * Sockets dimension: allowedTenancy | maximumSockets | minimumSockets
1743	//
1744	//    * vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus
1745	//    | minimumVcpus
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 (vCPU).
3155	//    Logical operators are EQUALS | NOT_EQUALS.
3156	//
3157	//    * enforceLicenseCount - A Boolean value that indicates whether hard license
3158	//    enforcement is used. Logical operators are EQUALS | NOT_EQUALS.
3159	//
3160	//    * usagelimitExceeded - A Boolean value that indicates whether the available
3161	//    licenses have been exceeded. Logical operators are EQUALS | NOT_EQUALS.
3162	Filters []*Filter `type:"list"`
3163
3164	// Amazon Resource Names (ARN) of the license configurations.
3165	LicenseConfigurationArns []*string `type:"list"`
3166
3167	// Maximum number of results to return in a single call.
3168	MaxResults *int64 `type:"integer"`
3169
3170	// Token for the next set of results.
3171	NextToken *string `type:"string"`
3172}
3173
3174// String returns the string representation
3175func (s ListLicenseConfigurationsInput) String() string {
3176	return awsutil.Prettify(s)
3177}
3178
3179// GoString returns the string representation
3180func (s ListLicenseConfigurationsInput) GoString() string {
3181	return s.String()
3182}
3183
3184// SetFilters sets the Filters field's value.
3185func (s *ListLicenseConfigurationsInput) SetFilters(v []*Filter) *ListLicenseConfigurationsInput {
3186	s.Filters = v
3187	return s
3188}
3189
3190// SetLicenseConfigurationArns sets the LicenseConfigurationArns field's value.
3191func (s *ListLicenseConfigurationsInput) SetLicenseConfigurationArns(v []*string) *ListLicenseConfigurationsInput {
3192	s.LicenseConfigurationArns = v
3193	return s
3194}
3195
3196// SetMaxResults sets the MaxResults field's value.
3197func (s *ListLicenseConfigurationsInput) SetMaxResults(v int64) *ListLicenseConfigurationsInput {
3198	s.MaxResults = &v
3199	return s
3200}
3201
3202// SetNextToken sets the NextToken field's value.
3203func (s *ListLicenseConfigurationsInput) SetNextToken(v string) *ListLicenseConfigurationsInput {
3204	s.NextToken = &v
3205	return s
3206}
3207
3208type ListLicenseConfigurationsOutput struct {
3209	_ struct{} `type:"structure"`
3210
3211	// Information about the license configurations.
3212	LicenseConfigurations []*LicenseConfiguration `type:"list"`
3213
3214	// Token for the next set of results.
3215	NextToken *string `type:"string"`
3216}
3217
3218// String returns the string representation
3219func (s ListLicenseConfigurationsOutput) String() string {
3220	return awsutil.Prettify(s)
3221}
3222
3223// GoString returns the string representation
3224func (s ListLicenseConfigurationsOutput) GoString() string {
3225	return s.String()
3226}
3227
3228// SetLicenseConfigurations sets the LicenseConfigurations field's value.
3229func (s *ListLicenseConfigurationsOutput) SetLicenseConfigurations(v []*LicenseConfiguration) *ListLicenseConfigurationsOutput {
3230	s.LicenseConfigurations = v
3231	return s
3232}
3233
3234// SetNextToken sets the NextToken field's value.
3235func (s *ListLicenseConfigurationsOutput) SetNextToken(v string) *ListLicenseConfigurationsOutput {
3236	s.NextToken = &v
3237	return s
3238}
3239
3240type ListLicenseSpecificationsForResourceInput struct {
3241	_ struct{} `type:"structure"`
3242
3243	// Maximum number of results to return in a single call.
3244	MaxResults *int64 `type:"integer"`
3245
3246	// Token for the next set of results.
3247	NextToken *string `type:"string"`
3248
3249	// Amazon Resource Name (ARN) of a resource that has an associated license configuration.
3250	//
3251	// ResourceArn is a required field
3252	ResourceArn *string `type:"string" required:"true"`
3253}
3254
3255// String returns the string representation
3256func (s ListLicenseSpecificationsForResourceInput) String() string {
3257	return awsutil.Prettify(s)
3258}
3259
3260// GoString returns the string representation
3261func (s ListLicenseSpecificationsForResourceInput) GoString() string {
3262	return s.String()
3263}
3264
3265// Validate inspects the fields of the type to determine if they are valid.
3266func (s *ListLicenseSpecificationsForResourceInput) Validate() error {
3267	invalidParams := request.ErrInvalidParams{Context: "ListLicenseSpecificationsForResourceInput"}
3268	if s.ResourceArn == nil {
3269		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3270	}
3271
3272	if invalidParams.Len() > 0 {
3273		return invalidParams
3274	}
3275	return nil
3276}
3277
3278// SetMaxResults sets the MaxResults field's value.
3279func (s *ListLicenseSpecificationsForResourceInput) SetMaxResults(v int64) *ListLicenseSpecificationsForResourceInput {
3280	s.MaxResults = &v
3281	return s
3282}
3283
3284// SetNextToken sets the NextToken field's value.
3285func (s *ListLicenseSpecificationsForResourceInput) SetNextToken(v string) *ListLicenseSpecificationsForResourceInput {
3286	s.NextToken = &v
3287	return s
3288}
3289
3290// SetResourceArn sets the ResourceArn field's value.
3291func (s *ListLicenseSpecificationsForResourceInput) SetResourceArn(v string) *ListLicenseSpecificationsForResourceInput {
3292	s.ResourceArn = &v
3293	return s
3294}
3295
3296type ListLicenseSpecificationsForResourceOutput struct {
3297	_ struct{} `type:"structure"`
3298
3299	// License configurations associated with a resource.
3300	LicenseSpecifications []*LicenseSpecification `type:"list"`
3301
3302	// Token for the next set of results.
3303	NextToken *string `type:"string"`
3304}
3305
3306// String returns the string representation
3307func (s ListLicenseSpecificationsForResourceOutput) String() string {
3308	return awsutil.Prettify(s)
3309}
3310
3311// GoString returns the string representation
3312func (s ListLicenseSpecificationsForResourceOutput) GoString() string {
3313	return s.String()
3314}
3315
3316// SetLicenseSpecifications sets the LicenseSpecifications field's value.
3317func (s *ListLicenseSpecificationsForResourceOutput) SetLicenseSpecifications(v []*LicenseSpecification) *ListLicenseSpecificationsForResourceOutput {
3318	s.LicenseSpecifications = v
3319	return s
3320}
3321
3322// SetNextToken sets the NextToken field's value.
3323func (s *ListLicenseSpecificationsForResourceOutput) SetNextToken(v string) *ListLicenseSpecificationsForResourceOutput {
3324	s.NextToken = &v
3325	return s
3326}
3327
3328type ListResourceInventoryInput struct {
3329	_ struct{} `type:"structure"`
3330
3331	// Filters to scope the results. The following filters and logical operators
3332	// are supported:
3333	//
3334	//    * account_id - The ID of the AWS account that owns the resource. Logical
3335	//    operators are EQUALS | NOT_EQUALS.
3336	//
3337	//    * application_name - The name of the application. Logical operators are
3338	//    EQUALS | BEGINS_WITH.
3339	//
3340	//    * license_included - The type of license included. Logical operators are
3341	//    EQUALS | NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard
3342	//    | sql-server-web | windows-server-datacenter.
3343	//
3344	//    * platform - The platform of the resource. Logical operators are EQUALS
3345	//    | BEGINS_WITH.
3346	//
3347	//    * resource_id - The ID of the resource. Logical operators are EQUALS |
3348	//    NOT_EQUALS.
3349	Filters []*InventoryFilter `type:"list"`
3350
3351	// Maximum number of results to return in a single call.
3352	MaxResults *int64 `type:"integer"`
3353
3354	// Token for the next set of results.
3355	NextToken *string `type:"string"`
3356}
3357
3358// String returns the string representation
3359func (s ListResourceInventoryInput) String() string {
3360	return awsutil.Prettify(s)
3361}
3362
3363// GoString returns the string representation
3364func (s ListResourceInventoryInput) GoString() string {
3365	return s.String()
3366}
3367
3368// Validate inspects the fields of the type to determine if they are valid.
3369func (s *ListResourceInventoryInput) Validate() error {
3370	invalidParams := request.ErrInvalidParams{Context: "ListResourceInventoryInput"}
3371	if s.Filters != nil {
3372		for i, v := range s.Filters {
3373			if v == nil {
3374				continue
3375			}
3376			if err := v.Validate(); err != nil {
3377				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
3378			}
3379		}
3380	}
3381
3382	if invalidParams.Len() > 0 {
3383		return invalidParams
3384	}
3385	return nil
3386}
3387
3388// SetFilters sets the Filters field's value.
3389func (s *ListResourceInventoryInput) SetFilters(v []*InventoryFilter) *ListResourceInventoryInput {
3390	s.Filters = v
3391	return s
3392}
3393
3394// SetMaxResults sets the MaxResults field's value.
3395func (s *ListResourceInventoryInput) SetMaxResults(v int64) *ListResourceInventoryInput {
3396	s.MaxResults = &v
3397	return s
3398}
3399
3400// SetNextToken sets the NextToken field's value.
3401func (s *ListResourceInventoryInput) SetNextToken(v string) *ListResourceInventoryInput {
3402	s.NextToken = &v
3403	return s
3404}
3405
3406type ListResourceInventoryOutput struct {
3407	_ struct{} `type:"structure"`
3408
3409	// Token for the next set of results.
3410	NextToken *string `type:"string"`
3411
3412	// Information about the resources.
3413	ResourceInventoryList []*ResourceInventory `type:"list"`
3414}
3415
3416// String returns the string representation
3417func (s ListResourceInventoryOutput) String() string {
3418	return awsutil.Prettify(s)
3419}
3420
3421// GoString returns the string representation
3422func (s ListResourceInventoryOutput) GoString() string {
3423	return s.String()
3424}
3425
3426// SetNextToken sets the NextToken field's value.
3427func (s *ListResourceInventoryOutput) SetNextToken(v string) *ListResourceInventoryOutput {
3428	s.NextToken = &v
3429	return s
3430}
3431
3432// SetResourceInventoryList sets the ResourceInventoryList field's value.
3433func (s *ListResourceInventoryOutput) SetResourceInventoryList(v []*ResourceInventory) *ListResourceInventoryOutput {
3434	s.ResourceInventoryList = v
3435	return s
3436}
3437
3438type ListTagsForResourceInput struct {
3439	_ struct{} `type:"structure"`
3440
3441	// Amazon Resource Name (ARN) of the license configuration.
3442	//
3443	// ResourceArn is a required field
3444	ResourceArn *string `type:"string" required:"true"`
3445}
3446
3447// String returns the string representation
3448func (s ListTagsForResourceInput) String() string {
3449	return awsutil.Prettify(s)
3450}
3451
3452// GoString returns the string representation
3453func (s ListTagsForResourceInput) GoString() string {
3454	return s.String()
3455}
3456
3457// Validate inspects the fields of the type to determine if they are valid.
3458func (s *ListTagsForResourceInput) Validate() error {
3459	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
3460	if s.ResourceArn == nil {
3461		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3462	}
3463
3464	if invalidParams.Len() > 0 {
3465		return invalidParams
3466	}
3467	return nil
3468}
3469
3470// SetResourceArn sets the ResourceArn field's value.
3471func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
3472	s.ResourceArn = &v
3473	return s
3474}
3475
3476type ListTagsForResourceOutput struct {
3477	_ struct{} `type:"structure"`
3478
3479	// Information about the tags.
3480	Tags []*Tag `type:"list"`
3481}
3482
3483// String returns the string representation
3484func (s ListTagsForResourceOutput) String() string {
3485	return awsutil.Prettify(s)
3486}
3487
3488// GoString returns the string representation
3489func (s ListTagsForResourceOutput) GoString() string {
3490	return s.String()
3491}
3492
3493// SetTags sets the Tags field's value.
3494func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
3495	s.Tags = v
3496	return s
3497}
3498
3499type ListUsageForLicenseConfigurationInput struct {
3500	_ struct{} `type:"structure"`
3501
3502	// Filters to scope the results. The following filters and logical operators
3503	// are supported:
3504	//
3505	//    * resourceArn - The ARN of the license configuration resource. Logical
3506	//    operators are EQUALS | NOT_EQUALS.
3507	//
3508	//    * resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI
3509	//    | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS.
3510	//
3511	//    * resourceAccount - The ID of the account that owns the resource. Logical
3512	//    operators are EQUALS | NOT_EQUALS.
3513	Filters []*Filter `type:"list"`
3514
3515	// Amazon Resource Name (ARN) of the license configuration.
3516	//
3517	// LicenseConfigurationArn is a required field
3518	LicenseConfigurationArn *string `type:"string" required:"true"`
3519
3520	// Maximum number of results to return in a single call.
3521	MaxResults *int64 `type:"integer"`
3522
3523	// Token for the next set of results.
3524	NextToken *string `type:"string"`
3525}
3526
3527// String returns the string representation
3528func (s ListUsageForLicenseConfigurationInput) String() string {
3529	return awsutil.Prettify(s)
3530}
3531
3532// GoString returns the string representation
3533func (s ListUsageForLicenseConfigurationInput) GoString() string {
3534	return s.String()
3535}
3536
3537// Validate inspects the fields of the type to determine if they are valid.
3538func (s *ListUsageForLicenseConfigurationInput) Validate() error {
3539	invalidParams := request.ErrInvalidParams{Context: "ListUsageForLicenseConfigurationInput"}
3540	if s.LicenseConfigurationArn == nil {
3541		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
3542	}
3543
3544	if invalidParams.Len() > 0 {
3545		return invalidParams
3546	}
3547	return nil
3548}
3549
3550// SetFilters sets the Filters field's value.
3551func (s *ListUsageForLicenseConfigurationInput) SetFilters(v []*Filter) *ListUsageForLicenseConfigurationInput {
3552	s.Filters = v
3553	return s
3554}
3555
3556// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
3557func (s *ListUsageForLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *ListUsageForLicenseConfigurationInput {
3558	s.LicenseConfigurationArn = &v
3559	return s
3560}
3561
3562// SetMaxResults sets the MaxResults field's value.
3563func (s *ListUsageForLicenseConfigurationInput) SetMaxResults(v int64) *ListUsageForLicenseConfigurationInput {
3564	s.MaxResults = &v
3565	return s
3566}
3567
3568// SetNextToken sets the NextToken field's value.
3569func (s *ListUsageForLicenseConfigurationInput) SetNextToken(v string) *ListUsageForLicenseConfigurationInput {
3570	s.NextToken = &v
3571	return s
3572}
3573
3574type ListUsageForLicenseConfigurationOutput struct {
3575	_ struct{} `type:"structure"`
3576
3577	// Information about the license configurations.
3578	LicenseConfigurationUsageList []*LicenseConfigurationUsage `type:"list"`
3579
3580	// Token for the next set of results.
3581	NextToken *string `type:"string"`
3582}
3583
3584// String returns the string representation
3585func (s ListUsageForLicenseConfigurationOutput) String() string {
3586	return awsutil.Prettify(s)
3587}
3588
3589// GoString returns the string representation
3590func (s ListUsageForLicenseConfigurationOutput) GoString() string {
3591	return s.String()
3592}
3593
3594// SetLicenseConfigurationUsageList sets the LicenseConfigurationUsageList field's value.
3595func (s *ListUsageForLicenseConfigurationOutput) SetLicenseConfigurationUsageList(v []*LicenseConfigurationUsage) *ListUsageForLicenseConfigurationOutput {
3596	s.LicenseConfigurationUsageList = v
3597	return s
3598}
3599
3600// SetNextToken sets the NextToken field's value.
3601func (s *ListUsageForLicenseConfigurationOutput) SetNextToken(v string) *ListUsageForLicenseConfigurationOutput {
3602	s.NextToken = &v
3603	return s
3604}
3605
3606// Summary information about a managed resource.
3607type ManagedResourceSummary struct {
3608	_ struct{} `type:"structure"`
3609
3610	// Number of resources associated with licenses.
3611	AssociationCount *int64 `type:"long"`
3612
3613	// Type of resource associated with a license.
3614	ResourceType *string `type:"string" enum:"ResourceType"`
3615}
3616
3617// String returns the string representation
3618func (s ManagedResourceSummary) String() string {
3619	return awsutil.Prettify(s)
3620}
3621
3622// GoString returns the string representation
3623func (s ManagedResourceSummary) GoString() string {
3624	return s.String()
3625}
3626
3627// SetAssociationCount sets the AssociationCount field's value.
3628func (s *ManagedResourceSummary) SetAssociationCount(v int64) *ManagedResourceSummary {
3629	s.AssociationCount = &v
3630	return s
3631}
3632
3633// SetResourceType sets the ResourceType field's value.
3634func (s *ManagedResourceSummary) SetResourceType(v string) *ManagedResourceSummary {
3635	s.ResourceType = &v
3636	return s
3637}
3638
3639// Reserved.
3640type Metadata struct {
3641	_ struct{} `type:"structure"`
3642
3643	// Reserved.
3644	Name *string `type:"string"`
3645
3646	// Reserved.
3647	Value *string `type:"string"`
3648}
3649
3650// String returns the string representation
3651func (s Metadata) String() string {
3652	return awsutil.Prettify(s)
3653}
3654
3655// GoString returns the string representation
3656func (s Metadata) GoString() string {
3657	return s.String()
3658}
3659
3660// SetName sets the Name field's value.
3661func (s *Metadata) SetName(v string) *Metadata {
3662	s.Name = &v
3663	return s
3664}
3665
3666// SetValue sets the Value field's value.
3667func (s *Metadata) SetValue(v string) *Metadata {
3668	s.Value = &v
3669	return s
3670}
3671
3672// Configuration information for AWS Organizations.
3673type OrganizationConfiguration struct {
3674	_ struct{} `type:"structure"`
3675
3676	// Enables AWS Organization integration.
3677	//
3678	// EnableIntegration is a required field
3679	EnableIntegration *bool `type:"boolean" required:"true"`
3680}
3681
3682// String returns the string representation
3683func (s OrganizationConfiguration) String() string {
3684	return awsutil.Prettify(s)
3685}
3686
3687// GoString returns the string representation
3688func (s OrganizationConfiguration) GoString() string {
3689	return s.String()
3690}
3691
3692// Validate inspects the fields of the type to determine if they are valid.
3693func (s *OrganizationConfiguration) Validate() error {
3694	invalidParams := request.ErrInvalidParams{Context: "OrganizationConfiguration"}
3695	if s.EnableIntegration == nil {
3696		invalidParams.Add(request.NewErrParamRequired("EnableIntegration"))
3697	}
3698
3699	if invalidParams.Len() > 0 {
3700		return invalidParams
3701	}
3702	return nil
3703}
3704
3705// SetEnableIntegration sets the EnableIntegration field's value.
3706func (s *OrganizationConfiguration) SetEnableIntegration(v bool) *OrganizationConfiguration {
3707	s.EnableIntegration = &v
3708	return s
3709}
3710
3711// Describes product information for a license configuration.
3712type ProductInformation struct {
3713	_ struct{} `type:"structure"`
3714
3715	// Product information filters. The following filters and logical operators
3716	// are supported:
3717	//
3718	//    * Application Name - The name of the application. Logical operator is
3719	//    EQUALS.
3720	//
3721	//    * Application Publisher - The publisher of the application. Logical operator
3722	//    is EQUALS.
3723	//
3724	//    * Application Version - The version of the application. Logical operator
3725	//    is EQUALS.
3726	//
3727	//    * Platform Name - The name of the platform. Logical operator is EQUALS.
3728	//
3729	//    * Platform Type - The platform type. Logical operator is EQUALS.
3730	//
3731	//    * License Included - The type of license included. Logical operators are
3732	//    EQUALS and NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard
3733	//    | sql-server-web | windows-server-datacenter.
3734	//
3735	// ProductInformationFilterList is a required field
3736	ProductInformationFilterList []*ProductInformationFilter `type:"list" required:"true"`
3737
3738	// Resource type. The value is SSM_MANAGED.
3739	//
3740	// ResourceType is a required field
3741	ResourceType *string `type:"string" required:"true"`
3742}
3743
3744// String returns the string representation
3745func (s ProductInformation) String() string {
3746	return awsutil.Prettify(s)
3747}
3748
3749// GoString returns the string representation
3750func (s ProductInformation) GoString() string {
3751	return s.String()
3752}
3753
3754// Validate inspects the fields of the type to determine if they are valid.
3755func (s *ProductInformation) Validate() error {
3756	invalidParams := request.ErrInvalidParams{Context: "ProductInformation"}
3757	if s.ProductInformationFilterList == nil {
3758		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterList"))
3759	}
3760	if s.ResourceType == nil {
3761		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
3762	}
3763	if s.ProductInformationFilterList != nil {
3764		for i, v := range s.ProductInformationFilterList {
3765			if v == nil {
3766				continue
3767			}
3768			if err := v.Validate(); err != nil {
3769				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationFilterList", i), err.(request.ErrInvalidParams))
3770			}
3771		}
3772	}
3773
3774	if invalidParams.Len() > 0 {
3775		return invalidParams
3776	}
3777	return nil
3778}
3779
3780// SetProductInformationFilterList sets the ProductInformationFilterList field's value.
3781func (s *ProductInformation) SetProductInformationFilterList(v []*ProductInformationFilter) *ProductInformation {
3782	s.ProductInformationFilterList = v
3783	return s
3784}
3785
3786// SetResourceType sets the ResourceType field's value.
3787func (s *ProductInformation) SetResourceType(v string) *ProductInformation {
3788	s.ResourceType = &v
3789	return s
3790}
3791
3792// Describes product information filters.
3793type ProductInformationFilter struct {
3794	_ struct{} `type:"structure"`
3795
3796	// Logical operator.
3797	//
3798	// ProductInformationFilterComparator is a required field
3799	ProductInformationFilterComparator *string `type:"string" required:"true"`
3800
3801	// Filter name.
3802	//
3803	// ProductInformationFilterName is a required field
3804	ProductInformationFilterName *string `type:"string" required:"true"`
3805
3806	// Filter value.
3807	//
3808	// ProductInformationFilterValue is a required field
3809	ProductInformationFilterValue []*string `type:"list" required:"true"`
3810}
3811
3812// String returns the string representation
3813func (s ProductInformationFilter) String() string {
3814	return awsutil.Prettify(s)
3815}
3816
3817// GoString returns the string representation
3818func (s ProductInformationFilter) GoString() string {
3819	return s.String()
3820}
3821
3822// Validate inspects the fields of the type to determine if they are valid.
3823func (s *ProductInformationFilter) Validate() error {
3824	invalidParams := request.ErrInvalidParams{Context: "ProductInformationFilter"}
3825	if s.ProductInformationFilterComparator == nil {
3826		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterComparator"))
3827	}
3828	if s.ProductInformationFilterName == nil {
3829		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterName"))
3830	}
3831	if s.ProductInformationFilterValue == nil {
3832		invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterValue"))
3833	}
3834
3835	if invalidParams.Len() > 0 {
3836		return invalidParams
3837	}
3838	return nil
3839}
3840
3841// SetProductInformationFilterComparator sets the ProductInformationFilterComparator field's value.
3842func (s *ProductInformationFilter) SetProductInformationFilterComparator(v string) *ProductInformationFilter {
3843	s.ProductInformationFilterComparator = &v
3844	return s
3845}
3846
3847// SetProductInformationFilterName sets the ProductInformationFilterName field's value.
3848func (s *ProductInformationFilter) SetProductInformationFilterName(v string) *ProductInformationFilter {
3849	s.ProductInformationFilterName = &v
3850	return s
3851}
3852
3853// SetProductInformationFilterValue sets the ProductInformationFilterValue field's value.
3854func (s *ProductInformationFilter) SetProductInformationFilterValue(v []*string) *ProductInformationFilter {
3855	s.ProductInformationFilterValue = v
3856	return s
3857}
3858
3859// Too many requests have been submitted. Try again after a brief wait.
3860type RateLimitExceededException struct {
3861	_            struct{}                  `type:"structure"`
3862	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3863
3864	Message_ *string `locationName:"Message" type:"string"`
3865}
3866
3867// String returns the string representation
3868func (s RateLimitExceededException) String() string {
3869	return awsutil.Prettify(s)
3870}
3871
3872// GoString returns the string representation
3873func (s RateLimitExceededException) GoString() string {
3874	return s.String()
3875}
3876
3877func newErrorRateLimitExceededException(v protocol.ResponseMetadata) error {
3878	return &RateLimitExceededException{
3879		RespMetadata: v,
3880	}
3881}
3882
3883// Code returns the exception type name.
3884func (s *RateLimitExceededException) Code() string {
3885	return "RateLimitExceededException"
3886}
3887
3888// Message returns the exception's message.
3889func (s *RateLimitExceededException) Message() string {
3890	if s.Message_ != nil {
3891		return *s.Message_
3892	}
3893	return ""
3894}
3895
3896// OrigErr always returns nil, satisfies awserr.Error interface.
3897func (s *RateLimitExceededException) OrigErr() error {
3898	return nil
3899}
3900
3901func (s *RateLimitExceededException) Error() string {
3902	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3903}
3904
3905// Status code returns the HTTP status code for the request's response error.
3906func (s *RateLimitExceededException) StatusCode() int {
3907	return s.RespMetadata.StatusCode
3908}
3909
3910// RequestID returns the service's response RequestID for request.
3911func (s *RateLimitExceededException) RequestID() string {
3912	return s.RespMetadata.RequestID
3913}
3914
3915// Details about a resource.
3916type ResourceInventory struct {
3917	_ struct{} `type:"structure"`
3918
3919	// Platform of the resource.
3920	Platform *string `type:"string"`
3921
3922	// Platform version of the resource in the inventory.
3923	PlatformVersion *string `type:"string"`
3924
3925	// Amazon Resource Name (ARN) of the resource.
3926	ResourceArn *string `type:"string"`
3927
3928	// ID of the resource.
3929	ResourceId *string `type:"string"`
3930
3931	// ID of the account that owns the resource.
3932	ResourceOwningAccountId *string `type:"string"`
3933
3934	// Type of resource.
3935	ResourceType *string `type:"string" enum:"ResourceType"`
3936}
3937
3938// String returns the string representation
3939func (s ResourceInventory) String() string {
3940	return awsutil.Prettify(s)
3941}
3942
3943// GoString returns the string representation
3944func (s ResourceInventory) GoString() string {
3945	return s.String()
3946}
3947
3948// SetPlatform sets the Platform field's value.
3949func (s *ResourceInventory) SetPlatform(v string) *ResourceInventory {
3950	s.Platform = &v
3951	return s
3952}
3953
3954// SetPlatformVersion sets the PlatformVersion field's value.
3955func (s *ResourceInventory) SetPlatformVersion(v string) *ResourceInventory {
3956	s.PlatformVersion = &v
3957	return s
3958}
3959
3960// SetResourceArn sets the ResourceArn field's value.
3961func (s *ResourceInventory) SetResourceArn(v string) *ResourceInventory {
3962	s.ResourceArn = &v
3963	return s
3964}
3965
3966// SetResourceId sets the ResourceId field's value.
3967func (s *ResourceInventory) SetResourceId(v string) *ResourceInventory {
3968	s.ResourceId = &v
3969	return s
3970}
3971
3972// SetResourceOwningAccountId sets the ResourceOwningAccountId field's value.
3973func (s *ResourceInventory) SetResourceOwningAccountId(v string) *ResourceInventory {
3974	s.ResourceOwningAccountId = &v
3975	return s
3976}
3977
3978// SetResourceType sets the ResourceType field's value.
3979func (s *ResourceInventory) SetResourceType(v string) *ResourceInventory {
3980	s.ResourceType = &v
3981	return s
3982}
3983
3984// Your resource limits have been exceeded.
3985type ResourceLimitExceededException struct {
3986	_            struct{}                  `type:"structure"`
3987	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3988
3989	Message_ *string `locationName:"Message" type:"string"`
3990}
3991
3992// String returns the string representation
3993func (s ResourceLimitExceededException) String() string {
3994	return awsutil.Prettify(s)
3995}
3996
3997// GoString returns the string representation
3998func (s ResourceLimitExceededException) GoString() string {
3999	return s.String()
4000}
4001
4002func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
4003	return &ResourceLimitExceededException{
4004		RespMetadata: v,
4005	}
4006}
4007
4008// Code returns the exception type name.
4009func (s *ResourceLimitExceededException) Code() string {
4010	return "ResourceLimitExceededException"
4011}
4012
4013// Message returns the exception's message.
4014func (s *ResourceLimitExceededException) Message() string {
4015	if s.Message_ != nil {
4016		return *s.Message_
4017	}
4018	return ""
4019}
4020
4021// OrigErr always returns nil, satisfies awserr.Error interface.
4022func (s *ResourceLimitExceededException) OrigErr() error {
4023	return nil
4024}
4025
4026func (s *ResourceLimitExceededException) Error() string {
4027	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4028}
4029
4030// Status code returns the HTTP status code for the request's response error.
4031func (s *ResourceLimitExceededException) StatusCode() int {
4032	return s.RespMetadata.StatusCode
4033}
4034
4035// RequestID returns the service's response RequestID for request.
4036func (s *ResourceLimitExceededException) RequestID() string {
4037	return s.RespMetadata.RequestID
4038}
4039
4040// The server experienced an internal error. Try again.
4041type ServerInternalException struct {
4042	_            struct{}                  `type:"structure"`
4043	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4044
4045	Message_ *string `locationName:"Message" type:"string"`
4046}
4047
4048// String returns the string representation
4049func (s ServerInternalException) String() string {
4050	return awsutil.Prettify(s)
4051}
4052
4053// GoString returns the string representation
4054func (s ServerInternalException) GoString() string {
4055	return s.String()
4056}
4057
4058func newErrorServerInternalException(v protocol.ResponseMetadata) error {
4059	return &ServerInternalException{
4060		RespMetadata: v,
4061	}
4062}
4063
4064// Code returns the exception type name.
4065func (s *ServerInternalException) Code() string {
4066	return "ServerInternalException"
4067}
4068
4069// Message returns the exception's message.
4070func (s *ServerInternalException) Message() string {
4071	if s.Message_ != nil {
4072		return *s.Message_
4073	}
4074	return ""
4075}
4076
4077// OrigErr always returns nil, satisfies awserr.Error interface.
4078func (s *ServerInternalException) OrigErr() error {
4079	return nil
4080}
4081
4082func (s *ServerInternalException) Error() string {
4083	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4084}
4085
4086// Status code returns the HTTP status code for the request's response error.
4087func (s *ServerInternalException) StatusCode() int {
4088	return s.RespMetadata.StatusCode
4089}
4090
4091// RequestID returns the service's response RequestID for request.
4092func (s *ServerInternalException) RequestID() string {
4093	return s.RespMetadata.RequestID
4094}
4095
4096// Details about a tag for a license configuration.
4097type Tag struct {
4098	_ struct{} `type:"structure"`
4099
4100	// Tag key.
4101	Key *string `type:"string"`
4102
4103	// Tag value.
4104	Value *string `type:"string"`
4105}
4106
4107// String returns the string representation
4108func (s Tag) String() string {
4109	return awsutil.Prettify(s)
4110}
4111
4112// GoString returns the string representation
4113func (s Tag) GoString() string {
4114	return s.String()
4115}
4116
4117// SetKey sets the Key field's value.
4118func (s *Tag) SetKey(v string) *Tag {
4119	s.Key = &v
4120	return s
4121}
4122
4123// SetValue sets the Value field's value.
4124func (s *Tag) SetValue(v string) *Tag {
4125	s.Value = &v
4126	return s
4127}
4128
4129type TagResourceInput struct {
4130	_ struct{} `type:"structure"`
4131
4132	// Amazon Resource Name (ARN) of the license configuration.
4133	//
4134	// ResourceArn is a required field
4135	ResourceArn *string `type:"string" required:"true"`
4136
4137	// One or more tags.
4138	//
4139	// Tags is a required field
4140	Tags []*Tag `type:"list" required:"true"`
4141}
4142
4143// String returns the string representation
4144func (s TagResourceInput) String() string {
4145	return awsutil.Prettify(s)
4146}
4147
4148// GoString returns the string representation
4149func (s TagResourceInput) GoString() string {
4150	return s.String()
4151}
4152
4153// Validate inspects the fields of the type to determine if they are valid.
4154func (s *TagResourceInput) Validate() error {
4155	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
4156	if s.ResourceArn == nil {
4157		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4158	}
4159	if s.Tags == nil {
4160		invalidParams.Add(request.NewErrParamRequired("Tags"))
4161	}
4162
4163	if invalidParams.Len() > 0 {
4164		return invalidParams
4165	}
4166	return nil
4167}
4168
4169// SetResourceArn sets the ResourceArn field's value.
4170func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
4171	s.ResourceArn = &v
4172	return s
4173}
4174
4175// SetTags sets the Tags field's value.
4176func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
4177	s.Tags = v
4178	return s
4179}
4180
4181type TagResourceOutput struct {
4182	_ struct{} `type:"structure"`
4183}
4184
4185// String returns the string representation
4186func (s TagResourceOutput) String() string {
4187	return awsutil.Prettify(s)
4188}
4189
4190// GoString returns the string representation
4191func (s TagResourceOutput) GoString() string {
4192	return s.String()
4193}
4194
4195type UntagResourceInput struct {
4196	_ struct{} `type:"structure"`
4197
4198	// Amazon Resource Name (ARN) of the license configuration.
4199	//
4200	// ResourceArn is a required field
4201	ResourceArn *string `type:"string" required:"true"`
4202
4203	// Keys identifying the tags to remove.
4204	//
4205	// TagKeys is a required field
4206	TagKeys []*string `type:"list" required:"true"`
4207}
4208
4209// String returns the string representation
4210func (s UntagResourceInput) String() string {
4211	return awsutil.Prettify(s)
4212}
4213
4214// GoString returns the string representation
4215func (s UntagResourceInput) GoString() string {
4216	return s.String()
4217}
4218
4219// Validate inspects the fields of the type to determine if they are valid.
4220func (s *UntagResourceInput) Validate() error {
4221	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
4222	if s.ResourceArn == nil {
4223		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4224	}
4225	if s.TagKeys == nil {
4226		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
4227	}
4228
4229	if invalidParams.Len() > 0 {
4230		return invalidParams
4231	}
4232	return nil
4233}
4234
4235// SetResourceArn sets the ResourceArn field's value.
4236func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
4237	s.ResourceArn = &v
4238	return s
4239}
4240
4241// SetTagKeys sets the TagKeys field's value.
4242func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
4243	s.TagKeys = v
4244	return s
4245}
4246
4247type UntagResourceOutput struct {
4248	_ struct{} `type:"structure"`
4249}
4250
4251// String returns the string representation
4252func (s UntagResourceOutput) String() string {
4253	return awsutil.Prettify(s)
4254}
4255
4256// GoString returns the string representation
4257func (s UntagResourceOutput) GoString() string {
4258	return s.String()
4259}
4260
4261type UpdateLicenseConfigurationInput struct {
4262	_ struct{} `type:"structure"`
4263
4264	// New description of the license configuration.
4265	Description *string `type:"string"`
4266
4267	// Amazon Resource Name (ARN) of the license configuration.
4268	//
4269	// LicenseConfigurationArn is a required field
4270	LicenseConfigurationArn *string `type:"string" required:"true"`
4271
4272	// New status of the license configuration.
4273	LicenseConfigurationStatus *string `type:"string" enum:"LicenseConfigurationStatus"`
4274
4275	// New number of licenses managed by the license configuration.
4276	LicenseCount *int64 `type:"long"`
4277
4278	// New hard limit of the number of available licenses.
4279	LicenseCountHardLimit *bool `type:"boolean"`
4280
4281	// New license rules.
4282	LicenseRules []*string `type:"list"`
4283
4284	// New name of the license configuration.
4285	Name *string `type:"string"`
4286
4287	// New product information.
4288	ProductInformationList []*ProductInformation `type:"list"`
4289}
4290
4291// String returns the string representation
4292func (s UpdateLicenseConfigurationInput) String() string {
4293	return awsutil.Prettify(s)
4294}
4295
4296// GoString returns the string representation
4297func (s UpdateLicenseConfigurationInput) GoString() string {
4298	return s.String()
4299}
4300
4301// Validate inspects the fields of the type to determine if they are valid.
4302func (s *UpdateLicenseConfigurationInput) Validate() error {
4303	invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseConfigurationInput"}
4304	if s.LicenseConfigurationArn == nil {
4305		invalidParams.Add(request.NewErrParamRequired("LicenseConfigurationArn"))
4306	}
4307	if s.ProductInformationList != nil {
4308		for i, v := range s.ProductInformationList {
4309			if v == nil {
4310				continue
4311			}
4312			if err := v.Validate(); err != nil {
4313				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ProductInformationList", i), err.(request.ErrInvalidParams))
4314			}
4315		}
4316	}
4317
4318	if invalidParams.Len() > 0 {
4319		return invalidParams
4320	}
4321	return nil
4322}
4323
4324// SetDescription sets the Description field's value.
4325func (s *UpdateLicenseConfigurationInput) SetDescription(v string) *UpdateLicenseConfigurationInput {
4326	s.Description = &v
4327	return s
4328}
4329
4330// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
4331func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationArn(v string) *UpdateLicenseConfigurationInput {
4332	s.LicenseConfigurationArn = &v
4333	return s
4334}
4335
4336// SetLicenseConfigurationStatus sets the LicenseConfigurationStatus field's value.
4337func (s *UpdateLicenseConfigurationInput) SetLicenseConfigurationStatus(v string) *UpdateLicenseConfigurationInput {
4338	s.LicenseConfigurationStatus = &v
4339	return s
4340}
4341
4342// SetLicenseCount sets the LicenseCount field's value.
4343func (s *UpdateLicenseConfigurationInput) SetLicenseCount(v int64) *UpdateLicenseConfigurationInput {
4344	s.LicenseCount = &v
4345	return s
4346}
4347
4348// SetLicenseCountHardLimit sets the LicenseCountHardLimit field's value.
4349func (s *UpdateLicenseConfigurationInput) SetLicenseCountHardLimit(v bool) *UpdateLicenseConfigurationInput {
4350	s.LicenseCountHardLimit = &v
4351	return s
4352}
4353
4354// SetLicenseRules sets the LicenseRules field's value.
4355func (s *UpdateLicenseConfigurationInput) SetLicenseRules(v []*string) *UpdateLicenseConfigurationInput {
4356	s.LicenseRules = v
4357	return s
4358}
4359
4360// SetName sets the Name field's value.
4361func (s *UpdateLicenseConfigurationInput) SetName(v string) *UpdateLicenseConfigurationInput {
4362	s.Name = &v
4363	return s
4364}
4365
4366// SetProductInformationList sets the ProductInformationList field's value.
4367func (s *UpdateLicenseConfigurationInput) SetProductInformationList(v []*ProductInformation) *UpdateLicenseConfigurationInput {
4368	s.ProductInformationList = v
4369	return s
4370}
4371
4372type UpdateLicenseConfigurationOutput struct {
4373	_ struct{} `type:"structure"`
4374}
4375
4376// String returns the string representation
4377func (s UpdateLicenseConfigurationOutput) String() string {
4378	return awsutil.Prettify(s)
4379}
4380
4381// GoString returns the string representation
4382func (s UpdateLicenseConfigurationOutput) GoString() string {
4383	return s.String()
4384}
4385
4386type UpdateLicenseSpecificationsForResourceInput struct {
4387	_ struct{} `type:"structure"`
4388
4389	// ARNs of the license configurations to add.
4390	AddLicenseSpecifications []*LicenseSpecification `type:"list"`
4391
4392	// ARNs of the license configurations to remove.
4393	RemoveLicenseSpecifications []*LicenseSpecification `type:"list"`
4394
4395	// Amazon Resource Name (ARN) of the AWS resource.
4396	//
4397	// ResourceArn is a required field
4398	ResourceArn *string `type:"string" required:"true"`
4399}
4400
4401// String returns the string representation
4402func (s UpdateLicenseSpecificationsForResourceInput) String() string {
4403	return awsutil.Prettify(s)
4404}
4405
4406// GoString returns the string representation
4407func (s UpdateLicenseSpecificationsForResourceInput) GoString() string {
4408	return s.String()
4409}
4410
4411// Validate inspects the fields of the type to determine if they are valid.
4412func (s *UpdateLicenseSpecificationsForResourceInput) Validate() error {
4413	invalidParams := request.ErrInvalidParams{Context: "UpdateLicenseSpecificationsForResourceInput"}
4414	if s.ResourceArn == nil {
4415		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4416	}
4417	if s.AddLicenseSpecifications != nil {
4418		for i, v := range s.AddLicenseSpecifications {
4419			if v == nil {
4420				continue
4421			}
4422			if err := v.Validate(); err != nil {
4423				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddLicenseSpecifications", i), err.(request.ErrInvalidParams))
4424			}
4425		}
4426	}
4427	if s.RemoveLicenseSpecifications != nil {
4428		for i, v := range s.RemoveLicenseSpecifications {
4429			if v == nil {
4430				continue
4431			}
4432			if err := v.Validate(); err != nil {
4433				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveLicenseSpecifications", i), err.(request.ErrInvalidParams))
4434			}
4435		}
4436	}
4437
4438	if invalidParams.Len() > 0 {
4439		return invalidParams
4440	}
4441	return nil
4442}
4443
4444// SetAddLicenseSpecifications sets the AddLicenseSpecifications field's value.
4445func (s *UpdateLicenseSpecificationsForResourceInput) SetAddLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput {
4446	s.AddLicenseSpecifications = v
4447	return s
4448}
4449
4450// SetRemoveLicenseSpecifications sets the RemoveLicenseSpecifications field's value.
4451func (s *UpdateLicenseSpecificationsForResourceInput) SetRemoveLicenseSpecifications(v []*LicenseSpecification) *UpdateLicenseSpecificationsForResourceInput {
4452	s.RemoveLicenseSpecifications = v
4453	return s
4454}
4455
4456// SetResourceArn sets the ResourceArn field's value.
4457func (s *UpdateLicenseSpecificationsForResourceInput) SetResourceArn(v string) *UpdateLicenseSpecificationsForResourceInput {
4458	s.ResourceArn = &v
4459	return s
4460}
4461
4462type UpdateLicenseSpecificationsForResourceOutput struct {
4463	_ struct{} `type:"structure"`
4464}
4465
4466// String returns the string representation
4467func (s UpdateLicenseSpecificationsForResourceOutput) String() string {
4468	return awsutil.Prettify(s)
4469}
4470
4471// GoString returns the string representation
4472func (s UpdateLicenseSpecificationsForResourceOutput) GoString() string {
4473	return s.String()
4474}
4475
4476type UpdateServiceSettingsInput struct {
4477	_ struct{} `type:"structure"`
4478
4479	// Activates cross-account discovery.
4480	EnableCrossAccountsDiscovery *bool `type:"boolean"`
4481
4482	// Enables integration with AWS Organizations for cross-account discovery.
4483	OrganizationConfiguration *OrganizationConfiguration `type:"structure"`
4484
4485	// Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager
4486	// information is stored.
4487	S3BucketArn *string `type:"string"`
4488
4489	// Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager
4490	// alerts.
4491	SnsTopicArn *string `type:"string"`
4492}
4493
4494// String returns the string representation
4495func (s UpdateServiceSettingsInput) String() string {
4496	return awsutil.Prettify(s)
4497}
4498
4499// GoString returns the string representation
4500func (s UpdateServiceSettingsInput) GoString() string {
4501	return s.String()
4502}
4503
4504// Validate inspects the fields of the type to determine if they are valid.
4505func (s *UpdateServiceSettingsInput) Validate() error {
4506	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingsInput"}
4507	if s.OrganizationConfiguration != nil {
4508		if err := s.OrganizationConfiguration.Validate(); err != nil {
4509			invalidParams.AddNested("OrganizationConfiguration", err.(request.ErrInvalidParams))
4510		}
4511	}
4512
4513	if invalidParams.Len() > 0 {
4514		return invalidParams
4515	}
4516	return nil
4517}
4518
4519// SetEnableCrossAccountsDiscovery sets the EnableCrossAccountsDiscovery field's value.
4520func (s *UpdateServiceSettingsInput) SetEnableCrossAccountsDiscovery(v bool) *UpdateServiceSettingsInput {
4521	s.EnableCrossAccountsDiscovery = &v
4522	return s
4523}
4524
4525// SetOrganizationConfiguration sets the OrganizationConfiguration field's value.
4526func (s *UpdateServiceSettingsInput) SetOrganizationConfiguration(v *OrganizationConfiguration) *UpdateServiceSettingsInput {
4527	s.OrganizationConfiguration = v
4528	return s
4529}
4530
4531// SetS3BucketArn sets the S3BucketArn field's value.
4532func (s *UpdateServiceSettingsInput) SetS3BucketArn(v string) *UpdateServiceSettingsInput {
4533	s.S3BucketArn = &v
4534	return s
4535}
4536
4537// SetSnsTopicArn sets the SnsTopicArn field's value.
4538func (s *UpdateServiceSettingsInput) SetSnsTopicArn(v string) *UpdateServiceSettingsInput {
4539	s.SnsTopicArn = &v
4540	return s
4541}
4542
4543type UpdateServiceSettingsOutput struct {
4544	_ struct{} `type:"structure"`
4545}
4546
4547// String returns the string representation
4548func (s UpdateServiceSettingsOutput) String() string {
4549	return awsutil.Prettify(s)
4550}
4551
4552// GoString returns the string representation
4553func (s UpdateServiceSettingsOutput) GoString() string {
4554	return s.String()
4555}
4556
4557const (
4558	// InventoryFilterConditionEquals is a InventoryFilterCondition enum value
4559	InventoryFilterConditionEquals = "EQUALS"
4560
4561	// InventoryFilterConditionNotEquals is a InventoryFilterCondition enum value
4562	InventoryFilterConditionNotEquals = "NOT_EQUALS"
4563
4564	// InventoryFilterConditionBeginsWith is a InventoryFilterCondition enum value
4565	InventoryFilterConditionBeginsWith = "BEGINS_WITH"
4566
4567	// InventoryFilterConditionContains is a InventoryFilterCondition enum value
4568	InventoryFilterConditionContains = "CONTAINS"
4569)
4570
4571const (
4572	// LicenseConfigurationStatusAvailable is a LicenseConfigurationStatus enum value
4573	LicenseConfigurationStatusAvailable = "AVAILABLE"
4574
4575	// LicenseConfigurationStatusDisabled is a LicenseConfigurationStatus enum value
4576	LicenseConfigurationStatusDisabled = "DISABLED"
4577)
4578
4579const (
4580	// LicenseCountingTypeVCpu is a LicenseCountingType enum value
4581	LicenseCountingTypeVCpu = "vCPU"
4582
4583	// LicenseCountingTypeInstance is a LicenseCountingType enum value
4584	LicenseCountingTypeInstance = "Instance"
4585
4586	// LicenseCountingTypeCore is a LicenseCountingType enum value
4587	LicenseCountingTypeCore = "Core"
4588
4589	// LicenseCountingTypeSocket is a LicenseCountingType enum value
4590	LicenseCountingTypeSocket = "Socket"
4591)
4592
4593const (
4594	// ResourceTypeEc2Instance is a ResourceType enum value
4595	ResourceTypeEc2Instance = "EC2_INSTANCE"
4596
4597	// ResourceTypeEc2Host is a ResourceType enum value
4598	ResourceTypeEc2Host = "EC2_HOST"
4599
4600	// ResourceTypeEc2Ami is a ResourceType enum value
4601	ResourceTypeEc2Ami = "EC2_AMI"
4602
4603	// ResourceTypeRds is a ResourceType enum value
4604	ResourceTypeRds = "RDS"
4605
4606	// ResourceTypeSystemsManagerManagedInstance is a ResourceType enum value
4607	ResourceTypeSystemsManagerManagedInstance = "SYSTEMS_MANAGER_MANAGED_INSTANCE"
4608)
4609