1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ssm
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 opAddTagsToResource = "AddTagsToResource"
17
18// AddTagsToResourceRequest generates a "aws/request.Request" representing the
19// client's request for the AddTagsToResource 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 AddTagsToResource for more information on using the AddTagsToResource
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 AddTagsToResourceRequest method.
34//    req, resp := client.AddTagsToResourceRequest(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/ssm-2014-11-06/AddTagsToResource
42func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
43	op := &request.Operation{
44		Name:       opAddTagsToResource,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddTagsToResourceInput{}
51	}
52
53	output = &AddTagsToResourceOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddTagsToResource API operation for Amazon Simple Systems Manager (SSM).
60//
61// Adds or overwrites one or more tags for the specified resource. Tags are
62// metadata that you can assign to your documents, managed instances, maintenance
63// windows, Parameter Store parameters, and patch baselines. Tags enable you
64// to categorize your resources in different ways, for example, by purpose,
65// owner, or environment. Each tag consists of a key and an optional value,
66// both of which you define. For example, you could define a set of tags for
67// your account's managed instances that helps you track each instance's owner
68// and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev.
69// Or Key=Stack and Value=Production, Pre-Production, or Test.
70//
71// Each resource can have a maximum of 50 tags.
72//
73// We recommend that you devise a set of tag keys that meets your needs for
74// each resource type. Using a consistent set of tag keys makes it easier for
75// you to manage your resources. You can search and filter the resources based
76// on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and
77// are interpreted strictly as a string of characters.
78//
79// For more information about tags, see Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
80// in the Amazon EC2 User Guide.
81//
82// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
83// with awserr.Error's Code and Message methods to get detailed information about
84// the error.
85//
86// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
87// API operation AddTagsToResource for usage and error information.
88//
89// Returned Error Codes:
90//   * ErrCodeInvalidResourceType "InvalidResourceType"
91//   The resource type is not valid. For example, if you are attempting to tag
92//   an instance, the instance must be a registered, managed instance.
93//
94//   * ErrCodeInvalidResourceId "InvalidResourceId"
95//   The resource ID is not valid. Verify that you entered the correct ID and
96//   try again.
97//
98//   * ErrCodeInternalServerError "InternalServerError"
99//   An error occurred on the server side.
100//
101//   * ErrCodeTooManyTagsError "TooManyTagsError"
102//   The Targets parameter includes too many tags. Remove one or more tags and
103//   try the command again.
104//
105//   * ErrCodeTooManyUpdates "TooManyUpdates"
106//   There are concurrent updates for a resource that supports one update at a
107//   time.
108//
109// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
110func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
111	req, out := c.AddTagsToResourceRequest(input)
112	return out, req.Send()
113}
114
115// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
116// the ability to pass a context and additional request options.
117//
118// See AddTagsToResource for details on how to use this API operation.
119//
120// The context must be non-nil and will be used for request cancellation. If
121// the context is nil a panic will occur. In the future the SDK may create
122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
123// for more information on using Contexts.
124func (c *SSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
125	req, out := c.AddTagsToResourceRequest(input)
126	req.SetContext(ctx)
127	req.ApplyOptions(opts...)
128	return out, req.Send()
129}
130
131const opCancelCommand = "CancelCommand"
132
133// CancelCommandRequest generates a "aws/request.Request" representing the
134// client's request for the CancelCommand operation. The "output" return
135// value will be populated with the request's response once the request completes
136// successfully.
137//
138// Use "Send" method on the returned Request to send the API call to the service.
139// the "output" return value is not valid until after Send returns without error.
140//
141// See CancelCommand for more information on using the CancelCommand
142// API call, and error handling.
143//
144// This method is useful when you want to inject custom logic or configuration
145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
146//
147//
148//    // Example sending a request using the CancelCommandRequest method.
149//    req, resp := client.CancelCommandRequest(params)
150//
151//    err := req.Send()
152//    if err == nil { // resp is now filled
153//        fmt.Println(resp)
154//    }
155//
156// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
157func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) {
158	op := &request.Operation{
159		Name:       opCancelCommand,
160		HTTPMethod: "POST",
161		HTTPPath:   "/",
162	}
163
164	if input == nil {
165		input = &CancelCommandInput{}
166	}
167
168	output = &CancelCommandOutput{}
169	req = c.newRequest(op, input, output)
170	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
171	return
172}
173
174// CancelCommand API operation for Amazon Simple Systems Manager (SSM).
175//
176// Attempts to cancel the command specified by the Command ID. There is no guarantee
177// that the command will be terminated and the underlying process stopped.
178//
179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
180// with awserr.Error's Code and Message methods to get detailed information about
181// the error.
182//
183// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
184// API operation CancelCommand for usage and error information.
185//
186// Returned Error Codes:
187//   * ErrCodeInternalServerError "InternalServerError"
188//   An error occurred on the server side.
189//
190//   * ErrCodeInvalidCommandId "InvalidCommandId"
191//
192//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
193//   The following problems can cause this exception:
194//
195//   You do not have permission to access the instance.
196//
197//   SSM Agent is not running. Verify that SSM Agent is running.
198//
199//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
200//
201//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
202//   Stopping. Invalid states are: Shutting-down and Terminated.
203//
204//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
205//   You cannot specify an instance ID in more than one association.
206//
207// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
208func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) {
209	req, out := c.CancelCommandRequest(input)
210	return out, req.Send()
211}
212
213// CancelCommandWithContext is the same as CancelCommand with the addition of
214// the ability to pass a context and additional request options.
215//
216// See CancelCommand for details on how to use this API operation.
217//
218// The context must be non-nil and will be used for request cancellation. If
219// the context is nil a panic will occur. In the future the SDK may create
220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
221// for more information on using Contexts.
222func (c *SSM) CancelCommandWithContext(ctx aws.Context, input *CancelCommandInput, opts ...request.Option) (*CancelCommandOutput, error) {
223	req, out := c.CancelCommandRequest(input)
224	req.SetContext(ctx)
225	req.ApplyOptions(opts...)
226	return out, req.Send()
227}
228
229const opCancelMaintenanceWindowExecution = "CancelMaintenanceWindowExecution"
230
231// CancelMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
232// client's request for the CancelMaintenanceWindowExecution operation. The "output" return
233// value will be populated with the request's response once the request completes
234// successfully.
235//
236// Use "Send" method on the returned Request to send the API call to the service.
237// the "output" return value is not valid until after Send returns without error.
238//
239// See CancelMaintenanceWindowExecution for more information on using the CancelMaintenanceWindowExecution
240// API call, and error handling.
241//
242// This method is useful when you want to inject custom logic or configuration
243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
244//
245//
246//    // Example sending a request using the CancelMaintenanceWindowExecutionRequest method.
247//    req, resp := client.CancelMaintenanceWindowExecutionRequest(params)
248//
249//    err := req.Send()
250//    if err == nil { // resp is now filled
251//        fmt.Println(resp)
252//    }
253//
254// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
255func (c *SSM) CancelMaintenanceWindowExecutionRequest(input *CancelMaintenanceWindowExecutionInput) (req *request.Request, output *CancelMaintenanceWindowExecutionOutput) {
256	op := &request.Operation{
257		Name:       opCancelMaintenanceWindowExecution,
258		HTTPMethod: "POST",
259		HTTPPath:   "/",
260	}
261
262	if input == nil {
263		input = &CancelMaintenanceWindowExecutionInput{}
264	}
265
266	output = &CancelMaintenanceWindowExecutionOutput{}
267	req = c.newRequest(op, input, output)
268	return
269}
270
271// CancelMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
272//
273// Stops a maintenance window execution that is already in progress and cancels
274// any tasks in the window that have not already starting running. (Tasks already
275// in progress will continue to completion.)
276//
277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
278// with awserr.Error's Code and Message methods to get detailed information about
279// the error.
280//
281// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
282// API operation CancelMaintenanceWindowExecution for usage and error information.
283//
284// Returned Error Codes:
285//   * ErrCodeInternalServerError "InternalServerError"
286//   An error occurred on the server side.
287//
288//   * ErrCodeDoesNotExistException "DoesNotExistException"
289//   Error returned when the ID specified for a resource, such as a maintenance
290//   window or Patch baseline, doesn't exist.
291//
292//   For information about resource limits in Systems Manager, see AWS Systems
293//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
294//
295// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
296func (c *SSM) CancelMaintenanceWindowExecution(input *CancelMaintenanceWindowExecutionInput) (*CancelMaintenanceWindowExecutionOutput, error) {
297	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
298	return out, req.Send()
299}
300
301// CancelMaintenanceWindowExecutionWithContext is the same as CancelMaintenanceWindowExecution with the addition of
302// the ability to pass a context and additional request options.
303//
304// See CancelMaintenanceWindowExecution for details on how to use this API operation.
305//
306// The context must be non-nil and will be used for request cancellation. If
307// the context is nil a panic will occur. In the future the SDK may create
308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
309// for more information on using Contexts.
310func (c *SSM) CancelMaintenanceWindowExecutionWithContext(ctx aws.Context, input *CancelMaintenanceWindowExecutionInput, opts ...request.Option) (*CancelMaintenanceWindowExecutionOutput, error) {
311	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
312	req.SetContext(ctx)
313	req.ApplyOptions(opts...)
314	return out, req.Send()
315}
316
317const opCreateActivation = "CreateActivation"
318
319// CreateActivationRequest generates a "aws/request.Request" representing the
320// client's request for the CreateActivation operation. The "output" return
321// value will be populated with the request's response once the request completes
322// successfully.
323//
324// Use "Send" method on the returned Request to send the API call to the service.
325// the "output" return value is not valid until after Send returns without error.
326//
327// See CreateActivation for more information on using the CreateActivation
328// API call, and error handling.
329//
330// This method is useful when you want to inject custom logic or configuration
331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
332//
333//
334//    // Example sending a request using the CreateActivationRequest method.
335//    req, resp := client.CreateActivationRequest(params)
336//
337//    err := req.Send()
338//    if err == nil { // resp is now filled
339//        fmt.Println(resp)
340//    }
341//
342// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
343func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) {
344	op := &request.Operation{
345		Name:       opCreateActivation,
346		HTTPMethod: "POST",
347		HTTPPath:   "/",
348	}
349
350	if input == nil {
351		input = &CreateActivationInput{}
352	}
353
354	output = &CreateActivationOutput{}
355	req = c.newRequest(op, input, output)
356	return
357}
358
359// CreateActivation API operation for Amazon Simple Systems Manager (SSM).
360//
361// Registers your on-premises server or virtual machine with Amazon EC2 so that
362// you can manage these resources using Run Command. An on-premises server or
363// virtual machine that has been registered with EC2 is called a managed instance.
364// For more information about activations, see Setting Up AWS Systems Manager
365// for Hybrid Environments (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html).
366//
367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
368// with awserr.Error's Code and Message methods to get detailed information about
369// the error.
370//
371// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
372// API operation CreateActivation for usage and error information.
373//
374// Returned Error Codes:
375//   * ErrCodeInternalServerError "InternalServerError"
376//   An error occurred on the server side.
377//
378// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
379func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) {
380	req, out := c.CreateActivationRequest(input)
381	return out, req.Send()
382}
383
384// CreateActivationWithContext is the same as CreateActivation with the addition of
385// the ability to pass a context and additional request options.
386//
387// See CreateActivation for details on how to use this API operation.
388//
389// The context must be non-nil and will be used for request cancellation. If
390// the context is nil a panic will occur. In the future the SDK may create
391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
392// for more information on using Contexts.
393func (c *SSM) CreateActivationWithContext(ctx aws.Context, input *CreateActivationInput, opts ...request.Option) (*CreateActivationOutput, error) {
394	req, out := c.CreateActivationRequest(input)
395	req.SetContext(ctx)
396	req.ApplyOptions(opts...)
397	return out, req.Send()
398}
399
400const opCreateAssociation = "CreateAssociation"
401
402// CreateAssociationRequest generates a "aws/request.Request" representing the
403// client's request for the CreateAssociation operation. The "output" return
404// value will be populated with the request's response once the request completes
405// successfully.
406//
407// Use "Send" method on the returned Request to send the API call to the service.
408// the "output" return value is not valid until after Send returns without error.
409//
410// See CreateAssociation for more information on using the CreateAssociation
411// API call, and error handling.
412//
413// This method is useful when you want to inject custom logic or configuration
414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
415//
416//
417//    // Example sending a request using the CreateAssociationRequest method.
418//    req, resp := client.CreateAssociationRequest(params)
419//
420//    err := req.Send()
421//    if err == nil { // resp is now filled
422//        fmt.Println(resp)
423//    }
424//
425// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
426func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) {
427	op := &request.Operation{
428		Name:       opCreateAssociation,
429		HTTPMethod: "POST",
430		HTTPPath:   "/",
431	}
432
433	if input == nil {
434		input = &CreateAssociationInput{}
435	}
436
437	output = &CreateAssociationOutput{}
438	req = c.newRequest(op, input, output)
439	return
440}
441
442// CreateAssociation API operation for Amazon Simple Systems Manager (SSM).
443//
444// Associates the specified Systems Manager document with the specified instances
445// or targets.
446//
447// When you associate a document with one or more instances using instance IDs
448// or tags, SSM Agent running on the instance processes the document and configures
449// the instance as specified.
450//
451// If you associate a document with an instance that already has an associated
452// document, the system returns the AssociationAlreadyExists exception.
453//
454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
455// with awserr.Error's Code and Message methods to get detailed information about
456// the error.
457//
458// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
459// API operation CreateAssociation for usage and error information.
460//
461// Returned Error Codes:
462//   * ErrCodeAssociationAlreadyExists "AssociationAlreadyExists"
463//   The specified association already exists.
464//
465//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
466//   You can have at most 2,000 active associations.
467//
468//   * ErrCodeInternalServerError "InternalServerError"
469//   An error occurred on the server side.
470//
471//   * ErrCodeInvalidDocument "InvalidDocument"
472//   The specified document does not exist.
473//
474//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
475//   The document version is not valid or does not exist.
476//
477//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
478//   The following problems can cause this exception:
479//
480//   You do not have permission to access the instance.
481//
482//   SSM Agent is not running. Verify that SSM Agent is running.
483//
484//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
485//
486//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
487//   Stopping. Invalid states are: Shutting-down and Terminated.
488//
489//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
490//   The document does not support the platform type of the given instance ID(s).
491//   For example, you sent an document for a Windows instance to a Linux instance.
492//
493//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
494//   The output location is not valid or does not exist.
495//
496//   * ErrCodeInvalidParameters "InvalidParameters"
497//   You must specify values for all required parameters in the Systems Manager
498//   document. You can only supply values to parameters defined in the Systems
499//   Manager document.
500//
501//   * ErrCodeInvalidTarget "InvalidTarget"
502//   The target is not valid or does not exist. It might not be configured for
503//   EC2 Systems Manager or you might not have permission to perform the operation.
504//
505//   * ErrCodeInvalidSchedule "InvalidSchedule"
506//   The schedule is invalid. Verify your cron or rate expression and try again.
507//
508// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
509func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) {
510	req, out := c.CreateAssociationRequest(input)
511	return out, req.Send()
512}
513
514// CreateAssociationWithContext is the same as CreateAssociation with the addition of
515// the ability to pass a context and additional request options.
516//
517// See CreateAssociation for details on how to use this API operation.
518//
519// The context must be non-nil and will be used for request cancellation. If
520// the context is nil a panic will occur. In the future the SDK may create
521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
522// for more information on using Contexts.
523func (c *SSM) CreateAssociationWithContext(ctx aws.Context, input *CreateAssociationInput, opts ...request.Option) (*CreateAssociationOutput, error) {
524	req, out := c.CreateAssociationRequest(input)
525	req.SetContext(ctx)
526	req.ApplyOptions(opts...)
527	return out, req.Send()
528}
529
530const opCreateAssociationBatch = "CreateAssociationBatch"
531
532// CreateAssociationBatchRequest generates a "aws/request.Request" representing the
533// client's request for the CreateAssociationBatch operation. The "output" return
534// value will be populated with the request's response once the request completes
535// successfully.
536//
537// Use "Send" method on the returned Request to send the API call to the service.
538// the "output" return value is not valid until after Send returns without error.
539//
540// See CreateAssociationBatch for more information on using the CreateAssociationBatch
541// API call, and error handling.
542//
543// This method is useful when you want to inject custom logic or configuration
544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
545//
546//
547//    // Example sending a request using the CreateAssociationBatchRequest method.
548//    req, resp := client.CreateAssociationBatchRequest(params)
549//
550//    err := req.Send()
551//    if err == nil { // resp is now filled
552//        fmt.Println(resp)
553//    }
554//
555// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
556func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) {
557	op := &request.Operation{
558		Name:       opCreateAssociationBatch,
559		HTTPMethod: "POST",
560		HTTPPath:   "/",
561	}
562
563	if input == nil {
564		input = &CreateAssociationBatchInput{}
565	}
566
567	output = &CreateAssociationBatchOutput{}
568	req = c.newRequest(op, input, output)
569	return
570}
571
572// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM).
573//
574// Associates the specified Systems Manager document with the specified instances
575// or targets.
576//
577// When you associate a document with one or more instances using instance IDs
578// or tags, SSM Agent running on the instance processes the document and configures
579// the instance as specified.
580//
581// If you associate a document with an instance that already has an associated
582// document, the system returns the AssociationAlreadyExists exception.
583//
584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
585// with awserr.Error's Code and Message methods to get detailed information about
586// the error.
587//
588// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
589// API operation CreateAssociationBatch for usage and error information.
590//
591// Returned Error Codes:
592//   * ErrCodeInternalServerError "InternalServerError"
593//   An error occurred on the server side.
594//
595//   * ErrCodeInvalidDocument "InvalidDocument"
596//   The specified document does not exist.
597//
598//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
599//   The document version is not valid or does not exist.
600//
601//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
602//   The following problems can cause this exception:
603//
604//   You do not have permission to access the instance.
605//
606//   SSM Agent is not running. Verify that SSM Agent is running.
607//
608//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
609//
610//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
611//   Stopping. Invalid states are: Shutting-down and Terminated.
612//
613//   * ErrCodeInvalidParameters "InvalidParameters"
614//   You must specify values for all required parameters in the Systems Manager
615//   document. You can only supply values to parameters defined in the Systems
616//   Manager document.
617//
618//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
619//   You cannot specify an instance ID in more than one association.
620//
621//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
622//   You can have at most 2,000 active associations.
623//
624//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
625//   The document does not support the platform type of the given instance ID(s).
626//   For example, you sent an document for a Windows instance to a Linux instance.
627//
628//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
629//   The output location is not valid or does not exist.
630//
631//   * ErrCodeInvalidTarget "InvalidTarget"
632//   The target is not valid or does not exist. It might not be configured for
633//   EC2 Systems Manager or you might not have permission to perform the operation.
634//
635//   * ErrCodeInvalidSchedule "InvalidSchedule"
636//   The schedule is invalid. Verify your cron or rate expression and try again.
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
639func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) {
640	req, out := c.CreateAssociationBatchRequest(input)
641	return out, req.Send()
642}
643
644// CreateAssociationBatchWithContext is the same as CreateAssociationBatch with the addition of
645// the ability to pass a context and additional request options.
646//
647// See CreateAssociationBatch for details on how to use this API operation.
648//
649// The context must be non-nil and will be used for request cancellation. If
650// the context is nil a panic will occur. In the future the SDK may create
651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
652// for more information on using Contexts.
653func (c *SSM) CreateAssociationBatchWithContext(ctx aws.Context, input *CreateAssociationBatchInput, opts ...request.Option) (*CreateAssociationBatchOutput, error) {
654	req, out := c.CreateAssociationBatchRequest(input)
655	req.SetContext(ctx)
656	req.ApplyOptions(opts...)
657	return out, req.Send()
658}
659
660const opCreateDocument = "CreateDocument"
661
662// CreateDocumentRequest generates a "aws/request.Request" representing the
663// client's request for the CreateDocument operation. The "output" return
664// value will be populated with the request's response once the request completes
665// successfully.
666//
667// Use "Send" method on the returned Request to send the API call to the service.
668// the "output" return value is not valid until after Send returns without error.
669//
670// See CreateDocument for more information on using the CreateDocument
671// API call, and error handling.
672//
673// This method is useful when you want to inject custom logic or configuration
674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
675//
676//
677//    // Example sending a request using the CreateDocumentRequest method.
678//    req, resp := client.CreateDocumentRequest(params)
679//
680//    err := req.Send()
681//    if err == nil { // resp is now filled
682//        fmt.Println(resp)
683//    }
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
686func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) {
687	op := &request.Operation{
688		Name:       opCreateDocument,
689		HTTPMethod: "POST",
690		HTTPPath:   "/",
691	}
692
693	if input == nil {
694		input = &CreateDocumentInput{}
695	}
696
697	output = &CreateDocumentOutput{}
698	req = c.newRequest(op, input, output)
699	return
700}
701
702// CreateDocument API operation for Amazon Simple Systems Manager (SSM).
703//
704// Creates a Systems Manager document.
705//
706// After you create a document, you can use CreateAssociation to associate it
707// with one or more running instances.
708//
709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
710// with awserr.Error's Code and Message methods to get detailed information about
711// the error.
712//
713// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
714// API operation CreateDocument for usage and error information.
715//
716// Returned Error Codes:
717//   * ErrCodeDocumentAlreadyExists "DocumentAlreadyExists"
718//   The specified document already exists.
719//
720//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
721//   The size limit of a document is 64 KB.
722//
723//   * ErrCodeInternalServerError "InternalServerError"
724//   An error occurred on the server side.
725//
726//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
727//   The content for the document is not valid.
728//
729//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
730//   You can have at most 500 active Systems Manager documents.
731//
732//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
733//   The version of the document schema is not supported.
734//
735// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
736func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) {
737	req, out := c.CreateDocumentRequest(input)
738	return out, req.Send()
739}
740
741// CreateDocumentWithContext is the same as CreateDocument with the addition of
742// the ability to pass a context and additional request options.
743//
744// See CreateDocument for details on how to use this API operation.
745//
746// The context must be non-nil and will be used for request cancellation. If
747// the context is nil a panic will occur. In the future the SDK may create
748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
749// for more information on using Contexts.
750func (c *SSM) CreateDocumentWithContext(ctx aws.Context, input *CreateDocumentInput, opts ...request.Option) (*CreateDocumentOutput, error) {
751	req, out := c.CreateDocumentRequest(input)
752	req.SetContext(ctx)
753	req.ApplyOptions(opts...)
754	return out, req.Send()
755}
756
757const opCreateMaintenanceWindow = "CreateMaintenanceWindow"
758
759// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the
760// client's request for the CreateMaintenanceWindow operation. The "output" return
761// value will be populated with the request's response once the request completes
762// successfully.
763//
764// Use "Send" method on the returned Request to send the API call to the service.
765// the "output" return value is not valid until after Send returns without error.
766//
767// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow
768// API call, and error handling.
769//
770// This method is useful when you want to inject custom logic or configuration
771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
772//
773//
774//    // Example sending a request using the CreateMaintenanceWindowRequest method.
775//    req, resp := client.CreateMaintenanceWindowRequest(params)
776//
777//    err := req.Send()
778//    if err == nil { // resp is now filled
779//        fmt.Println(resp)
780//    }
781//
782// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
783func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) {
784	op := &request.Operation{
785		Name:       opCreateMaintenanceWindow,
786		HTTPMethod: "POST",
787		HTTPPath:   "/",
788	}
789
790	if input == nil {
791		input = &CreateMaintenanceWindowInput{}
792	}
793
794	output = &CreateMaintenanceWindowOutput{}
795	req = c.newRequest(op, input, output)
796	return
797}
798
799// CreateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
800//
801// Creates a new maintenance window.
802//
803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
804// with awserr.Error's Code and Message methods to get detailed information about
805// the error.
806//
807// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
808// API operation CreateMaintenanceWindow for usage and error information.
809//
810// Returned Error Codes:
811//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
812//   Error returned when an idempotent operation is retried and the parameters
813//   don't match the original call to the API with the same idempotency token.
814//
815//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
816//   Error returned when the caller has exceeded the default resource limits.
817//   For example, too many maintenance windows or patch baselines have been created.
818//
819//   For information about resource limits in Systems Manager, see AWS Systems
820//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
821//
822//   * ErrCodeInternalServerError "InternalServerError"
823//   An error occurred on the server side.
824//
825// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
826func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) {
827	req, out := c.CreateMaintenanceWindowRequest(input)
828	return out, req.Send()
829}
830
831// CreateMaintenanceWindowWithContext is the same as CreateMaintenanceWindow with the addition of
832// the ability to pass a context and additional request options.
833//
834// See CreateMaintenanceWindow for details on how to use this API operation.
835//
836// The context must be non-nil and will be used for request cancellation. If
837// the context is nil a panic will occur. In the future the SDK may create
838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
839// for more information on using Contexts.
840func (c *SSM) CreateMaintenanceWindowWithContext(ctx aws.Context, input *CreateMaintenanceWindowInput, opts ...request.Option) (*CreateMaintenanceWindowOutput, error) {
841	req, out := c.CreateMaintenanceWindowRequest(input)
842	req.SetContext(ctx)
843	req.ApplyOptions(opts...)
844	return out, req.Send()
845}
846
847const opCreateOpsItem = "CreateOpsItem"
848
849// CreateOpsItemRequest generates a "aws/request.Request" representing the
850// client's request for the CreateOpsItem operation. The "output" return
851// value will be populated with the request's response once the request completes
852// successfully.
853//
854// Use "Send" method on the returned Request to send the API call to the service.
855// the "output" return value is not valid until after Send returns without error.
856//
857// See CreateOpsItem for more information on using the CreateOpsItem
858// API call, and error handling.
859//
860// This method is useful when you want to inject custom logic or configuration
861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
862//
863//
864//    // Example sending a request using the CreateOpsItemRequest method.
865//    req, resp := client.CreateOpsItemRequest(params)
866//
867//    err := req.Send()
868//    if err == nil { // resp is now filled
869//        fmt.Println(resp)
870//    }
871//
872// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
873func (c *SSM) CreateOpsItemRequest(input *CreateOpsItemInput) (req *request.Request, output *CreateOpsItemOutput) {
874	op := &request.Operation{
875		Name:       opCreateOpsItem,
876		HTTPMethod: "POST",
877		HTTPPath:   "/",
878	}
879
880	if input == nil {
881		input = &CreateOpsItemInput{}
882	}
883
884	output = &CreateOpsItemOutput{}
885	req = c.newRequest(op, input, output)
886	return
887}
888
889// CreateOpsItem API operation for Amazon Simple Systems Manager (SSM).
890//
891// Creates a new OpsItem. You must have permission in AWS Identity and Access
892// Management (IAM) to create a new OpsItem. For more information, see Getting
893// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
894// in the AWS Systems Manager User Guide.
895//
896// Operations engineers and IT professionals use OpsCenter to view, investigate,
897// and remediate operational issues impacting the performance and health of
898// their AWS resources. For more information, see AWS Systems Manager OpsCenter
899// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
900// in the AWS Systems Manager User Guide.
901//
902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
903// with awserr.Error's Code and Message methods to get detailed information about
904// the error.
905//
906// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
907// API operation CreateOpsItem for usage and error information.
908//
909// Returned Error Codes:
910//   * ErrCodeInternalServerError "InternalServerError"
911//   An error occurred on the server side.
912//
913//   * ErrCodeOpsItemAlreadyExistsException "OpsItemAlreadyExistsException"
914//   The OpsItem already exists.
915//
916//   * ErrCodeOpsItemLimitExceededException "OpsItemLimitExceededException"
917//   The request caused OpsItems to exceed one or more limits. For information
918//   about OpsItem limits, see What are the resource limits for OpsCenter? (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
919//
920//   * ErrCodeOpsItemInvalidParameterException "OpsItemInvalidParameterException"
921//   A specified parameter argument isn't valid. Verify the available arguments
922//   and try again.
923//
924// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
925func (c *SSM) CreateOpsItem(input *CreateOpsItemInput) (*CreateOpsItemOutput, error) {
926	req, out := c.CreateOpsItemRequest(input)
927	return out, req.Send()
928}
929
930// CreateOpsItemWithContext is the same as CreateOpsItem with the addition of
931// the ability to pass a context and additional request options.
932//
933// See CreateOpsItem for details on how to use this API operation.
934//
935// The context must be non-nil and will be used for request cancellation. If
936// the context is nil a panic will occur. In the future the SDK may create
937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
938// for more information on using Contexts.
939func (c *SSM) CreateOpsItemWithContext(ctx aws.Context, input *CreateOpsItemInput, opts ...request.Option) (*CreateOpsItemOutput, error) {
940	req, out := c.CreateOpsItemRequest(input)
941	req.SetContext(ctx)
942	req.ApplyOptions(opts...)
943	return out, req.Send()
944}
945
946const opCreatePatchBaseline = "CreatePatchBaseline"
947
948// CreatePatchBaselineRequest generates a "aws/request.Request" representing the
949// client's request for the CreatePatchBaseline operation. The "output" return
950// value will be populated with the request's response once the request completes
951// successfully.
952//
953// Use "Send" method on the returned Request to send the API call to the service.
954// the "output" return value is not valid until after Send returns without error.
955//
956// See CreatePatchBaseline for more information on using the CreatePatchBaseline
957// API call, and error handling.
958//
959// This method is useful when you want to inject custom logic or configuration
960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
961//
962//
963//    // Example sending a request using the CreatePatchBaselineRequest method.
964//    req, resp := client.CreatePatchBaselineRequest(params)
965//
966//    err := req.Send()
967//    if err == nil { // resp is now filled
968//        fmt.Println(resp)
969//    }
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
972func (c *SSM) CreatePatchBaselineRequest(input *CreatePatchBaselineInput) (req *request.Request, output *CreatePatchBaselineOutput) {
973	op := &request.Operation{
974		Name:       opCreatePatchBaseline,
975		HTTPMethod: "POST",
976		HTTPPath:   "/",
977	}
978
979	if input == nil {
980		input = &CreatePatchBaselineInput{}
981	}
982
983	output = &CreatePatchBaselineOutput{}
984	req = c.newRequest(op, input, output)
985	return
986}
987
988// CreatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
989//
990// Creates a patch baseline.
991//
992// For information about valid key and value pairs in PatchFilters for each
993// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html).
994//
995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
996// with awserr.Error's Code and Message methods to get detailed information about
997// the error.
998//
999// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1000// API operation CreatePatchBaseline for usage and error information.
1001//
1002// Returned Error Codes:
1003//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
1004//   Error returned when an idempotent operation is retried and the parameters
1005//   don't match the original call to the API with the same idempotency token.
1006//
1007//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
1008//   Error returned when the caller has exceeded the default resource limits.
1009//   For example, too many maintenance windows or patch baselines have been created.
1010//
1011//   For information about resource limits in Systems Manager, see AWS Systems
1012//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
1013//
1014//   * ErrCodeInternalServerError "InternalServerError"
1015//   An error occurred on the server side.
1016//
1017// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
1018func (c *SSM) CreatePatchBaseline(input *CreatePatchBaselineInput) (*CreatePatchBaselineOutput, error) {
1019	req, out := c.CreatePatchBaselineRequest(input)
1020	return out, req.Send()
1021}
1022
1023// CreatePatchBaselineWithContext is the same as CreatePatchBaseline with the addition of
1024// the ability to pass a context and additional request options.
1025//
1026// See CreatePatchBaseline for details on how to use this API operation.
1027//
1028// The context must be non-nil and will be used for request cancellation. If
1029// the context is nil a panic will occur. In the future the SDK may create
1030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1031// for more information on using Contexts.
1032func (c *SSM) CreatePatchBaselineWithContext(ctx aws.Context, input *CreatePatchBaselineInput, opts ...request.Option) (*CreatePatchBaselineOutput, error) {
1033	req, out := c.CreatePatchBaselineRequest(input)
1034	req.SetContext(ctx)
1035	req.ApplyOptions(opts...)
1036	return out, req.Send()
1037}
1038
1039const opCreateResourceDataSync = "CreateResourceDataSync"
1040
1041// CreateResourceDataSyncRequest generates a "aws/request.Request" representing the
1042// client's request for the CreateResourceDataSync operation. The "output" return
1043// value will be populated with the request's response once the request completes
1044// successfully.
1045//
1046// Use "Send" method on the returned Request to send the API call to the service.
1047// the "output" return value is not valid until after Send returns without error.
1048//
1049// See CreateResourceDataSync for more information on using the CreateResourceDataSync
1050// API call, and error handling.
1051//
1052// This method is useful when you want to inject custom logic or configuration
1053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1054//
1055//
1056//    // Example sending a request using the CreateResourceDataSyncRequest method.
1057//    req, resp := client.CreateResourceDataSyncRequest(params)
1058//
1059//    err := req.Send()
1060//    if err == nil { // resp is now filled
1061//        fmt.Println(resp)
1062//    }
1063//
1064// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1065func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) (req *request.Request, output *CreateResourceDataSyncOutput) {
1066	op := &request.Operation{
1067		Name:       opCreateResourceDataSync,
1068		HTTPMethod: "POST",
1069		HTTPPath:   "/",
1070	}
1071
1072	if input == nil {
1073		input = &CreateResourceDataSyncInput{}
1074	}
1075
1076	output = &CreateResourceDataSyncOutput{}
1077	req = c.newRequest(op, input, output)
1078	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1079	return
1080}
1081
1082// CreateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1083//
1084// Creates a resource data sync configuration to a single bucket in Amazon S3.
1085// This is an asynchronous operation that returns immediately. After a successful
1086// initial sync is completed, the system continuously syncs data to the Amazon
1087// S3 bucket. To check the status of the sync, use the ListResourceDataSync.
1088//
1089// By default, data is not encrypted in Amazon S3. We strongly recommend that
1090// you enable encryption in Amazon S3 to ensure secure data storage. We also
1091// recommend that you secure access to the Amazon S3 bucket by creating a restrictive
1092// bucket policy. For more information, see Configuring Resource Data Sync for
1093// Inventory (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html)
1094// in the AWS Systems Manager User Guide.
1095//
1096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1097// with awserr.Error's Code and Message methods to get detailed information about
1098// the error.
1099//
1100// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1101// API operation CreateResourceDataSync for usage and error information.
1102//
1103// Returned Error Codes:
1104//   * ErrCodeInternalServerError "InternalServerError"
1105//   An error occurred on the server side.
1106//
1107//   * ErrCodeResourceDataSyncCountExceededException "ResourceDataSyncCountExceededException"
1108//   You have exceeded the allowed maximum sync configurations.
1109//
1110//   * ErrCodeResourceDataSyncAlreadyExistsException "ResourceDataSyncAlreadyExistsException"
1111//   A sync configuration with the same name already exists.
1112//
1113//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
1114//   The specified sync configuration is invalid.
1115//
1116// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1117func (c *SSM) CreateResourceDataSync(input *CreateResourceDataSyncInput) (*CreateResourceDataSyncOutput, error) {
1118	req, out := c.CreateResourceDataSyncRequest(input)
1119	return out, req.Send()
1120}
1121
1122// CreateResourceDataSyncWithContext is the same as CreateResourceDataSync with the addition of
1123// the ability to pass a context and additional request options.
1124//
1125// See CreateResourceDataSync for details on how to use this API operation.
1126//
1127// The context must be non-nil and will be used for request cancellation. If
1128// the context is nil a panic will occur. In the future the SDK may create
1129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1130// for more information on using Contexts.
1131func (c *SSM) CreateResourceDataSyncWithContext(ctx aws.Context, input *CreateResourceDataSyncInput, opts ...request.Option) (*CreateResourceDataSyncOutput, error) {
1132	req, out := c.CreateResourceDataSyncRequest(input)
1133	req.SetContext(ctx)
1134	req.ApplyOptions(opts...)
1135	return out, req.Send()
1136}
1137
1138const opDeleteActivation = "DeleteActivation"
1139
1140// DeleteActivationRequest generates a "aws/request.Request" representing the
1141// client's request for the DeleteActivation operation. The "output" return
1142// value will be populated with the request's response once the request completes
1143// successfully.
1144//
1145// Use "Send" method on the returned Request to send the API call to the service.
1146// the "output" return value is not valid until after Send returns without error.
1147//
1148// See DeleteActivation for more information on using the DeleteActivation
1149// API call, and error handling.
1150//
1151// This method is useful when you want to inject custom logic or configuration
1152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1153//
1154//
1155//    // Example sending a request using the DeleteActivationRequest method.
1156//    req, resp := client.DeleteActivationRequest(params)
1157//
1158//    err := req.Send()
1159//    if err == nil { // resp is now filled
1160//        fmt.Println(resp)
1161//    }
1162//
1163// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1164func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) {
1165	op := &request.Operation{
1166		Name:       opDeleteActivation,
1167		HTTPMethod: "POST",
1168		HTTPPath:   "/",
1169	}
1170
1171	if input == nil {
1172		input = &DeleteActivationInput{}
1173	}
1174
1175	output = &DeleteActivationOutput{}
1176	req = c.newRequest(op, input, output)
1177	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1178	return
1179}
1180
1181// DeleteActivation API operation for Amazon Simple Systems Manager (SSM).
1182//
1183// Deletes an activation. You are not required to delete an activation. If you
1184// delete an activation, you can no longer use it to register additional managed
1185// instances. Deleting an activation does not de-register managed instances.
1186// You must manually de-register managed instances.
1187//
1188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1189// with awserr.Error's Code and Message methods to get detailed information about
1190// the error.
1191//
1192// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1193// API operation DeleteActivation for usage and error information.
1194//
1195// Returned Error Codes:
1196//   * ErrCodeInvalidActivationId "InvalidActivationId"
1197//   The activation ID is not valid. Verify the you entered the correct ActivationId
1198//   or ActivationCode and try again.
1199//
1200//   * ErrCodeInvalidActivation "InvalidActivation"
1201//   The activation is not valid. The activation might have been deleted, or the
1202//   ActivationId and the ActivationCode do not match.
1203//
1204//   * ErrCodeInternalServerError "InternalServerError"
1205//   An error occurred on the server side.
1206//
1207//   * ErrCodeTooManyUpdates "TooManyUpdates"
1208//   There are concurrent updates for a resource that supports one update at a
1209//   time.
1210//
1211// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1212func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) {
1213	req, out := c.DeleteActivationRequest(input)
1214	return out, req.Send()
1215}
1216
1217// DeleteActivationWithContext is the same as DeleteActivation with the addition of
1218// the ability to pass a context and additional request options.
1219//
1220// See DeleteActivation for details on how to use this API operation.
1221//
1222// The context must be non-nil and will be used for request cancellation. If
1223// the context is nil a panic will occur. In the future the SDK may create
1224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1225// for more information on using Contexts.
1226func (c *SSM) DeleteActivationWithContext(ctx aws.Context, input *DeleteActivationInput, opts ...request.Option) (*DeleteActivationOutput, error) {
1227	req, out := c.DeleteActivationRequest(input)
1228	req.SetContext(ctx)
1229	req.ApplyOptions(opts...)
1230	return out, req.Send()
1231}
1232
1233const opDeleteAssociation = "DeleteAssociation"
1234
1235// DeleteAssociationRequest generates a "aws/request.Request" representing the
1236// client's request for the DeleteAssociation operation. The "output" return
1237// value will be populated with the request's response once the request completes
1238// successfully.
1239//
1240// Use "Send" method on the returned Request to send the API call to the service.
1241// the "output" return value is not valid until after Send returns without error.
1242//
1243// See DeleteAssociation for more information on using the DeleteAssociation
1244// API call, and error handling.
1245//
1246// This method is useful when you want to inject custom logic or configuration
1247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1248//
1249//
1250//    // Example sending a request using the DeleteAssociationRequest method.
1251//    req, resp := client.DeleteAssociationRequest(params)
1252//
1253//    err := req.Send()
1254//    if err == nil { // resp is now filled
1255//        fmt.Println(resp)
1256//    }
1257//
1258// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1259func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) {
1260	op := &request.Operation{
1261		Name:       opDeleteAssociation,
1262		HTTPMethod: "POST",
1263		HTTPPath:   "/",
1264	}
1265
1266	if input == nil {
1267		input = &DeleteAssociationInput{}
1268	}
1269
1270	output = &DeleteAssociationOutput{}
1271	req = c.newRequest(op, input, output)
1272	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1273	return
1274}
1275
1276// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM).
1277//
1278// Disassociates the specified Systems Manager document from the specified instance.
1279//
1280// When you disassociate a document from an instance, it does not change the
1281// configuration of the instance. To change the configuration state of an instance
1282// after you disassociate a document, you must create a new document with the
1283// desired configuration and associate it with the instance.
1284//
1285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1286// with awserr.Error's Code and Message methods to get detailed information about
1287// the error.
1288//
1289// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1290// API operation DeleteAssociation for usage and error information.
1291//
1292// Returned Error Codes:
1293//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
1294//   The specified association does not exist.
1295//
1296//   * ErrCodeInternalServerError "InternalServerError"
1297//   An error occurred on the server side.
1298//
1299//   * ErrCodeInvalidDocument "InvalidDocument"
1300//   The specified document does not exist.
1301//
1302//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
1303//   The following problems can cause this exception:
1304//
1305//   You do not have permission to access the instance.
1306//
1307//   SSM Agent is not running. Verify that SSM Agent is running.
1308//
1309//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
1310//
1311//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
1312//   Stopping. Invalid states are: Shutting-down and Terminated.
1313//
1314//   * ErrCodeTooManyUpdates "TooManyUpdates"
1315//   There are concurrent updates for a resource that supports one update at a
1316//   time.
1317//
1318// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1319func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) {
1320	req, out := c.DeleteAssociationRequest(input)
1321	return out, req.Send()
1322}
1323
1324// DeleteAssociationWithContext is the same as DeleteAssociation with the addition of
1325// the ability to pass a context and additional request options.
1326//
1327// See DeleteAssociation for details on how to use this API operation.
1328//
1329// The context must be non-nil and will be used for request cancellation. If
1330// the context is nil a panic will occur. In the future the SDK may create
1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1332// for more information on using Contexts.
1333func (c *SSM) DeleteAssociationWithContext(ctx aws.Context, input *DeleteAssociationInput, opts ...request.Option) (*DeleteAssociationOutput, error) {
1334	req, out := c.DeleteAssociationRequest(input)
1335	req.SetContext(ctx)
1336	req.ApplyOptions(opts...)
1337	return out, req.Send()
1338}
1339
1340const opDeleteDocument = "DeleteDocument"
1341
1342// DeleteDocumentRequest generates a "aws/request.Request" representing the
1343// client's request for the DeleteDocument operation. The "output" return
1344// value will be populated with the request's response once the request completes
1345// successfully.
1346//
1347// Use "Send" method on the returned Request to send the API call to the service.
1348// the "output" return value is not valid until after Send returns without error.
1349//
1350// See DeleteDocument for more information on using the DeleteDocument
1351// API call, and error handling.
1352//
1353// This method is useful when you want to inject custom logic or configuration
1354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1355//
1356//
1357//    // Example sending a request using the DeleteDocumentRequest method.
1358//    req, resp := client.DeleteDocumentRequest(params)
1359//
1360//    err := req.Send()
1361//    if err == nil { // resp is now filled
1362//        fmt.Println(resp)
1363//    }
1364//
1365// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1366func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1367	op := &request.Operation{
1368		Name:       opDeleteDocument,
1369		HTTPMethod: "POST",
1370		HTTPPath:   "/",
1371	}
1372
1373	if input == nil {
1374		input = &DeleteDocumentInput{}
1375	}
1376
1377	output = &DeleteDocumentOutput{}
1378	req = c.newRequest(op, input, output)
1379	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1380	return
1381}
1382
1383// DeleteDocument API operation for Amazon Simple Systems Manager (SSM).
1384//
1385// Deletes the Systems Manager document and all instance associations to the
1386// document.
1387//
1388// Before you delete the document, we recommend that you use DeleteAssociation
1389// to disassociate all instances that are associated with the document.
1390//
1391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1392// with awserr.Error's Code and Message methods to get detailed information about
1393// the error.
1394//
1395// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1396// API operation DeleteDocument for usage and error information.
1397//
1398// Returned Error Codes:
1399//   * ErrCodeInternalServerError "InternalServerError"
1400//   An error occurred on the server side.
1401//
1402//   * ErrCodeInvalidDocument "InvalidDocument"
1403//   The specified document does not exist.
1404//
1405//   * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation"
1406//   You attempted to delete a document while it is still shared. You must stop
1407//   sharing the document before you can delete it.
1408//
1409//   * ErrCodeAssociatedInstances "AssociatedInstances"
1410//   You must disassociate a document from all instances before you can delete
1411//   it.
1412//
1413// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1414func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1415	req, out := c.DeleteDocumentRequest(input)
1416	return out, req.Send()
1417}
1418
1419// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1420// the ability to pass a context and additional request options.
1421//
1422// See DeleteDocument for details on how to use this API operation.
1423//
1424// The context must be non-nil and will be used for request cancellation. If
1425// the context is nil a panic will occur. In the future the SDK may create
1426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1427// for more information on using Contexts.
1428func (c *SSM) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1429	req, out := c.DeleteDocumentRequest(input)
1430	req.SetContext(ctx)
1431	req.ApplyOptions(opts...)
1432	return out, req.Send()
1433}
1434
1435const opDeleteInventory = "DeleteInventory"
1436
1437// DeleteInventoryRequest generates a "aws/request.Request" representing the
1438// client's request for the DeleteInventory operation. The "output" return
1439// value will be populated with the request's response once the request completes
1440// successfully.
1441//
1442// Use "Send" method on the returned Request to send the API call to the service.
1443// the "output" return value is not valid until after Send returns without error.
1444//
1445// See DeleteInventory for more information on using the DeleteInventory
1446// API call, and error handling.
1447//
1448// This method is useful when you want to inject custom logic or configuration
1449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1450//
1451//
1452//    // Example sending a request using the DeleteInventoryRequest method.
1453//    req, resp := client.DeleteInventoryRequest(params)
1454//
1455//    err := req.Send()
1456//    if err == nil { // resp is now filled
1457//        fmt.Println(resp)
1458//    }
1459//
1460// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1461func (c *SSM) DeleteInventoryRequest(input *DeleteInventoryInput) (req *request.Request, output *DeleteInventoryOutput) {
1462	op := &request.Operation{
1463		Name:       opDeleteInventory,
1464		HTTPMethod: "POST",
1465		HTTPPath:   "/",
1466	}
1467
1468	if input == nil {
1469		input = &DeleteInventoryInput{}
1470	}
1471
1472	output = &DeleteInventoryOutput{}
1473	req = c.newRequest(op, input, output)
1474	return
1475}
1476
1477// DeleteInventory API operation for Amazon Simple Systems Manager (SSM).
1478//
1479// Delete a custom inventory type, or the data associated with a custom Inventory
1480// type. Deleting a custom inventory type is also referred to as deleting a
1481// custom inventory schema.
1482//
1483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1484// with awserr.Error's Code and Message methods to get detailed information about
1485// the error.
1486//
1487// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1488// API operation DeleteInventory for usage and error information.
1489//
1490// Returned Error Codes:
1491//   * ErrCodeInternalServerError "InternalServerError"
1492//   An error occurred on the server side.
1493//
1494//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
1495//   The parameter type name is not valid.
1496//
1497//   * ErrCodeInvalidOptionException "InvalidOptionException"
1498//   The delete inventory option specified is not valid. Verify the option and
1499//   try again.
1500//
1501//   * ErrCodeInvalidDeleteInventoryParametersException "InvalidDeleteInventoryParametersException"
1502//   One or more of the parameters specified for the delete operation is not valid.
1503//   Verify all parameters and try again.
1504//
1505//   * ErrCodeInvalidInventoryRequestException "InvalidInventoryRequestException"
1506//   The request is not valid.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1509func (c *SSM) DeleteInventory(input *DeleteInventoryInput) (*DeleteInventoryOutput, error) {
1510	req, out := c.DeleteInventoryRequest(input)
1511	return out, req.Send()
1512}
1513
1514// DeleteInventoryWithContext is the same as DeleteInventory with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See DeleteInventory for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *SSM) DeleteInventoryWithContext(ctx aws.Context, input *DeleteInventoryInput, opts ...request.Option) (*DeleteInventoryOutput, error) {
1524	req, out := c.DeleteInventoryRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow"
1531
1532// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the
1533// client's request for the DeleteMaintenanceWindow operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the DeleteMaintenanceWindowRequest method.
1548//    req, resp := client.DeleteMaintenanceWindowRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1556func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) {
1557	op := &request.Operation{
1558		Name:       opDeleteMaintenanceWindow,
1559		HTTPMethod: "POST",
1560		HTTPPath:   "/",
1561	}
1562
1563	if input == nil {
1564		input = &DeleteMaintenanceWindowInput{}
1565	}
1566
1567	output = &DeleteMaintenanceWindowOutput{}
1568	req = c.newRequest(op, input, output)
1569	return
1570}
1571
1572// DeleteMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1573//
1574// Deletes a maintenance window.
1575//
1576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1577// with awserr.Error's Code and Message methods to get detailed information about
1578// the error.
1579//
1580// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1581// API operation DeleteMaintenanceWindow for usage and error information.
1582//
1583// Returned Error Codes:
1584//   * ErrCodeInternalServerError "InternalServerError"
1585//   An error occurred on the server side.
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1588func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) {
1589	req, out := c.DeleteMaintenanceWindowRequest(input)
1590	return out, req.Send()
1591}
1592
1593// DeleteMaintenanceWindowWithContext is the same as DeleteMaintenanceWindow with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See DeleteMaintenanceWindow for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *SSM) DeleteMaintenanceWindowWithContext(ctx aws.Context, input *DeleteMaintenanceWindowInput, opts ...request.Option) (*DeleteMaintenanceWindowOutput, error) {
1603	req, out := c.DeleteMaintenanceWindowRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609const opDeleteParameter = "DeleteParameter"
1610
1611// DeleteParameterRequest generates a "aws/request.Request" representing the
1612// client's request for the DeleteParameter operation. The "output" return
1613// value will be populated with the request's response once the request completes
1614// successfully.
1615//
1616// Use "Send" method on the returned Request to send the API call to the service.
1617// the "output" return value is not valid until after Send returns without error.
1618//
1619// See DeleteParameter for more information on using the DeleteParameter
1620// API call, and error handling.
1621//
1622// This method is useful when you want to inject custom logic or configuration
1623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1624//
1625//
1626//    // Example sending a request using the DeleteParameterRequest method.
1627//    req, resp := client.DeleteParameterRequest(params)
1628//
1629//    err := req.Send()
1630//    if err == nil { // resp is now filled
1631//        fmt.Println(resp)
1632//    }
1633//
1634// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1635func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) {
1636	op := &request.Operation{
1637		Name:       opDeleteParameter,
1638		HTTPMethod: "POST",
1639		HTTPPath:   "/",
1640	}
1641
1642	if input == nil {
1643		input = &DeleteParameterInput{}
1644	}
1645
1646	output = &DeleteParameterOutput{}
1647	req = c.newRequest(op, input, output)
1648	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1649	return
1650}
1651
1652// DeleteParameter API operation for Amazon Simple Systems Manager (SSM).
1653//
1654// Delete a parameter from the system.
1655//
1656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1657// with awserr.Error's Code and Message methods to get detailed information about
1658// the error.
1659//
1660// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1661// API operation DeleteParameter for usage and error information.
1662//
1663// Returned Error Codes:
1664//   * ErrCodeInternalServerError "InternalServerError"
1665//   An error occurred on the server side.
1666//
1667//   * ErrCodeParameterNotFound "ParameterNotFound"
1668//   The parameter could not be found. Verify the name and try again.
1669//
1670// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1671func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) {
1672	req, out := c.DeleteParameterRequest(input)
1673	return out, req.Send()
1674}
1675
1676// DeleteParameterWithContext is the same as DeleteParameter with the addition of
1677// the ability to pass a context and additional request options.
1678//
1679// See DeleteParameter for details on how to use this API operation.
1680//
1681// The context must be non-nil and will be used for request cancellation. If
1682// the context is nil a panic will occur. In the future the SDK may create
1683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1684// for more information on using Contexts.
1685func (c *SSM) DeleteParameterWithContext(ctx aws.Context, input *DeleteParameterInput, opts ...request.Option) (*DeleteParameterOutput, error) {
1686	req, out := c.DeleteParameterRequest(input)
1687	req.SetContext(ctx)
1688	req.ApplyOptions(opts...)
1689	return out, req.Send()
1690}
1691
1692const opDeleteParameters = "DeleteParameters"
1693
1694// DeleteParametersRequest generates a "aws/request.Request" representing the
1695// client's request for the DeleteParameters operation. The "output" return
1696// value will be populated with the request's response once the request completes
1697// successfully.
1698//
1699// Use "Send" method on the returned Request to send the API call to the service.
1700// the "output" return value is not valid until after Send returns without error.
1701//
1702// See DeleteParameters for more information on using the DeleteParameters
1703// API call, and error handling.
1704//
1705// This method is useful when you want to inject custom logic or configuration
1706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1707//
1708//
1709//    // Example sending a request using the DeleteParametersRequest method.
1710//    req, resp := client.DeleteParametersRequest(params)
1711//
1712//    err := req.Send()
1713//    if err == nil { // resp is now filled
1714//        fmt.Println(resp)
1715//    }
1716//
1717// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1718func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *request.Request, output *DeleteParametersOutput) {
1719	op := &request.Operation{
1720		Name:       opDeleteParameters,
1721		HTTPMethod: "POST",
1722		HTTPPath:   "/",
1723	}
1724
1725	if input == nil {
1726		input = &DeleteParametersInput{}
1727	}
1728
1729	output = &DeleteParametersOutput{}
1730	req = c.newRequest(op, input, output)
1731	return
1732}
1733
1734// DeleteParameters API operation for Amazon Simple Systems Manager (SSM).
1735//
1736// Delete a list of parameters.
1737//
1738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1739// with awserr.Error's Code and Message methods to get detailed information about
1740// the error.
1741//
1742// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1743// API operation DeleteParameters for usage and error information.
1744//
1745// Returned Error Codes:
1746//   * ErrCodeInternalServerError "InternalServerError"
1747//   An error occurred on the server side.
1748//
1749// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1750func (c *SSM) DeleteParameters(input *DeleteParametersInput) (*DeleteParametersOutput, error) {
1751	req, out := c.DeleteParametersRequest(input)
1752	return out, req.Send()
1753}
1754
1755// DeleteParametersWithContext is the same as DeleteParameters with the addition of
1756// the ability to pass a context and additional request options.
1757//
1758// See DeleteParameters for details on how to use this API operation.
1759//
1760// The context must be non-nil and will be used for request cancellation. If
1761// the context is nil a panic will occur. In the future the SDK may create
1762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1763// for more information on using Contexts.
1764func (c *SSM) DeleteParametersWithContext(ctx aws.Context, input *DeleteParametersInput, opts ...request.Option) (*DeleteParametersOutput, error) {
1765	req, out := c.DeleteParametersRequest(input)
1766	req.SetContext(ctx)
1767	req.ApplyOptions(opts...)
1768	return out, req.Send()
1769}
1770
1771const opDeletePatchBaseline = "DeletePatchBaseline"
1772
1773// DeletePatchBaselineRequest generates a "aws/request.Request" representing the
1774// client's request for the DeletePatchBaseline operation. The "output" return
1775// value will be populated with the request's response once the request completes
1776// successfully.
1777//
1778// Use "Send" method on the returned Request to send the API call to the service.
1779// the "output" return value is not valid until after Send returns without error.
1780//
1781// See DeletePatchBaseline for more information on using the DeletePatchBaseline
1782// API call, and error handling.
1783//
1784// This method is useful when you want to inject custom logic or configuration
1785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1786//
1787//
1788//    // Example sending a request using the DeletePatchBaselineRequest method.
1789//    req, resp := client.DeletePatchBaselineRequest(params)
1790//
1791//    err := req.Send()
1792//    if err == nil { // resp is now filled
1793//        fmt.Println(resp)
1794//    }
1795//
1796// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1797func (c *SSM) DeletePatchBaselineRequest(input *DeletePatchBaselineInput) (req *request.Request, output *DeletePatchBaselineOutput) {
1798	op := &request.Operation{
1799		Name:       opDeletePatchBaseline,
1800		HTTPMethod: "POST",
1801		HTTPPath:   "/",
1802	}
1803
1804	if input == nil {
1805		input = &DeletePatchBaselineInput{}
1806	}
1807
1808	output = &DeletePatchBaselineOutput{}
1809	req = c.newRequest(op, input, output)
1810	return
1811}
1812
1813// DeletePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
1814//
1815// Deletes a patch baseline.
1816//
1817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1818// with awserr.Error's Code and Message methods to get detailed information about
1819// the error.
1820//
1821// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1822// API operation DeletePatchBaseline for usage and error information.
1823//
1824// Returned Error Codes:
1825//   * ErrCodeResourceInUseException "ResourceInUseException"
1826//   Error returned if an attempt is made to delete a patch baseline that is registered
1827//   for a patch group.
1828//
1829//   * ErrCodeInternalServerError "InternalServerError"
1830//   An error occurred on the server side.
1831//
1832// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1833func (c *SSM) DeletePatchBaseline(input *DeletePatchBaselineInput) (*DeletePatchBaselineOutput, error) {
1834	req, out := c.DeletePatchBaselineRequest(input)
1835	return out, req.Send()
1836}
1837
1838// DeletePatchBaselineWithContext is the same as DeletePatchBaseline with the addition of
1839// the ability to pass a context and additional request options.
1840//
1841// See DeletePatchBaseline for details on how to use this API operation.
1842//
1843// The context must be non-nil and will be used for request cancellation. If
1844// the context is nil a panic will occur. In the future the SDK may create
1845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1846// for more information on using Contexts.
1847func (c *SSM) DeletePatchBaselineWithContext(ctx aws.Context, input *DeletePatchBaselineInput, opts ...request.Option) (*DeletePatchBaselineOutput, error) {
1848	req, out := c.DeletePatchBaselineRequest(input)
1849	req.SetContext(ctx)
1850	req.ApplyOptions(opts...)
1851	return out, req.Send()
1852}
1853
1854const opDeleteResourceDataSync = "DeleteResourceDataSync"
1855
1856// DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the
1857// client's request for the DeleteResourceDataSync operation. The "output" return
1858// value will be populated with the request's response once the request completes
1859// successfully.
1860//
1861// Use "Send" method on the returned Request to send the API call to the service.
1862// the "output" return value is not valid until after Send returns without error.
1863//
1864// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync
1865// API call, and error handling.
1866//
1867// This method is useful when you want to inject custom logic or configuration
1868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1869//
1870//
1871//    // Example sending a request using the DeleteResourceDataSyncRequest method.
1872//    req, resp := client.DeleteResourceDataSyncRequest(params)
1873//
1874//    err := req.Send()
1875//    if err == nil { // resp is now filled
1876//        fmt.Println(resp)
1877//    }
1878//
1879// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1880func (c *SSM) DeleteResourceDataSyncRequest(input *DeleteResourceDataSyncInput) (req *request.Request, output *DeleteResourceDataSyncOutput) {
1881	op := &request.Operation{
1882		Name:       opDeleteResourceDataSync,
1883		HTTPMethod: "POST",
1884		HTTPPath:   "/",
1885	}
1886
1887	if input == nil {
1888		input = &DeleteResourceDataSyncInput{}
1889	}
1890
1891	output = &DeleteResourceDataSyncOutput{}
1892	req = c.newRequest(op, input, output)
1893	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1894	return
1895}
1896
1897// DeleteResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1898//
1899// Deletes a Resource Data Sync configuration. After the configuration is deleted,
1900// changes to inventory data on managed instances are no longer synced with
1901// the target Amazon S3 bucket. Deleting a sync configuration does not delete
1902// data in the target Amazon S3 bucket.
1903//
1904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1905// with awserr.Error's Code and Message methods to get detailed information about
1906// the error.
1907//
1908// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1909// API operation DeleteResourceDataSync for usage and error information.
1910//
1911// Returned Error Codes:
1912//   * ErrCodeInternalServerError "InternalServerError"
1913//   An error occurred on the server side.
1914//
1915//   * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException"
1916//   The specified sync name was not found.
1917//
1918// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1919func (c *SSM) DeleteResourceDataSync(input *DeleteResourceDataSyncInput) (*DeleteResourceDataSyncOutput, error) {
1920	req, out := c.DeleteResourceDataSyncRequest(input)
1921	return out, req.Send()
1922}
1923
1924// DeleteResourceDataSyncWithContext is the same as DeleteResourceDataSync with the addition of
1925// the ability to pass a context and additional request options.
1926//
1927// See DeleteResourceDataSync for details on how to use this API operation.
1928//
1929// The context must be non-nil and will be used for request cancellation. If
1930// the context is nil a panic will occur. In the future the SDK may create
1931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1932// for more information on using Contexts.
1933func (c *SSM) DeleteResourceDataSyncWithContext(ctx aws.Context, input *DeleteResourceDataSyncInput, opts ...request.Option) (*DeleteResourceDataSyncOutput, error) {
1934	req, out := c.DeleteResourceDataSyncRequest(input)
1935	req.SetContext(ctx)
1936	req.ApplyOptions(opts...)
1937	return out, req.Send()
1938}
1939
1940const opDeregisterManagedInstance = "DeregisterManagedInstance"
1941
1942// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the
1943// client's request for the DeregisterManagedInstance operation. The "output" return
1944// value will be populated with the request's response once the request completes
1945// successfully.
1946//
1947// Use "Send" method on the returned Request to send the API call to the service.
1948// the "output" return value is not valid until after Send returns without error.
1949//
1950// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance
1951// API call, and error handling.
1952//
1953// This method is useful when you want to inject custom logic or configuration
1954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1955//
1956//
1957//    // Example sending a request using the DeregisterManagedInstanceRequest method.
1958//    req, resp := client.DeregisterManagedInstanceRequest(params)
1959//
1960//    err := req.Send()
1961//    if err == nil { // resp is now filled
1962//        fmt.Println(resp)
1963//    }
1964//
1965// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
1966func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) {
1967	op := &request.Operation{
1968		Name:       opDeregisterManagedInstance,
1969		HTTPMethod: "POST",
1970		HTTPPath:   "/",
1971	}
1972
1973	if input == nil {
1974		input = &DeregisterManagedInstanceInput{}
1975	}
1976
1977	output = &DeregisterManagedInstanceOutput{}
1978	req = c.newRequest(op, input, output)
1979	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1980	return
1981}
1982
1983// DeregisterManagedInstance API operation for Amazon Simple Systems Manager (SSM).
1984//
1985// Removes the server or virtual machine from the list of registered servers.
1986// You can reregister the instance again at any time. If you don't plan to use
1987// Run Command on the server, we suggest uninstalling SSM Agent first.
1988//
1989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1990// with awserr.Error's Code and Message methods to get detailed information about
1991// the error.
1992//
1993// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1994// API operation DeregisterManagedInstance for usage and error information.
1995//
1996// Returned Error Codes:
1997//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
1998//   The following problems can cause this exception:
1999//
2000//   You do not have permission to access the instance.
2001//
2002//   SSM Agent is not running. Verify that SSM Agent is running.
2003//
2004//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
2005//
2006//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2007//   Stopping. Invalid states are: Shutting-down and Terminated.
2008//
2009//   * ErrCodeInternalServerError "InternalServerError"
2010//   An error occurred on the server side.
2011//
2012// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
2013func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) {
2014	req, out := c.DeregisterManagedInstanceRequest(input)
2015	return out, req.Send()
2016}
2017
2018// DeregisterManagedInstanceWithContext is the same as DeregisterManagedInstance with the addition of
2019// the ability to pass a context and additional request options.
2020//
2021// See DeregisterManagedInstance for details on how to use this API operation.
2022//
2023// The context must be non-nil and will be used for request cancellation. If
2024// the context is nil a panic will occur. In the future the SDK may create
2025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2026// for more information on using Contexts.
2027func (c *SSM) DeregisterManagedInstanceWithContext(ctx aws.Context, input *DeregisterManagedInstanceInput, opts ...request.Option) (*DeregisterManagedInstanceOutput, error) {
2028	req, out := c.DeregisterManagedInstanceRequest(input)
2029	req.SetContext(ctx)
2030	req.ApplyOptions(opts...)
2031	return out, req.Send()
2032}
2033
2034const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchGroup"
2035
2036// DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
2037// client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return
2038// value will be populated with the request's response once the request completes
2039// successfully.
2040//
2041// Use "Send" method on the returned Request to send the API call to the service.
2042// the "output" return value is not valid until after Send returns without error.
2043//
2044// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup
2045// API call, and error handling.
2046//
2047// This method is useful when you want to inject custom logic or configuration
2048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2049//
2050//
2051//    // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method.
2052//    req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params)
2053//
2054//    err := req.Send()
2055//    if err == nil { // resp is now filled
2056//        fmt.Println(resp)
2057//    }
2058//
2059// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2060func (c *SSM) DeregisterPatchBaselineForPatchGroupRequest(input *DeregisterPatchBaselineForPatchGroupInput) (req *request.Request, output *DeregisterPatchBaselineForPatchGroupOutput) {
2061	op := &request.Operation{
2062		Name:       opDeregisterPatchBaselineForPatchGroup,
2063		HTTPMethod: "POST",
2064		HTTPPath:   "/",
2065	}
2066
2067	if input == nil {
2068		input = &DeregisterPatchBaselineForPatchGroupInput{}
2069	}
2070
2071	output = &DeregisterPatchBaselineForPatchGroupOutput{}
2072	req = c.newRequest(op, input, output)
2073	return
2074}
2075
2076// DeregisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
2077//
2078// Removes a patch group from a patch baseline.
2079//
2080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2081// with awserr.Error's Code and Message methods to get detailed information about
2082// the error.
2083//
2084// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2085// API operation DeregisterPatchBaselineForPatchGroup for usage and error information.
2086//
2087// Returned Error Codes:
2088//   * ErrCodeInvalidResourceId "InvalidResourceId"
2089//   The resource ID is not valid. Verify that you entered the correct ID and
2090//   try again.
2091//
2092//   * ErrCodeInternalServerError "InternalServerError"
2093//   An error occurred on the server side.
2094//
2095// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2096func (c *SSM) DeregisterPatchBaselineForPatchGroup(input *DeregisterPatchBaselineForPatchGroupInput) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2097	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2098	return out, req.Send()
2099}
2100
2101// DeregisterPatchBaselineForPatchGroupWithContext is the same as DeregisterPatchBaselineForPatchGroup with the addition of
2102// the ability to pass a context and additional request options.
2103//
2104// See DeregisterPatchBaselineForPatchGroup for details on how to use this API operation.
2105//
2106// The context must be non-nil and will be used for request cancellation. If
2107// the context is nil a panic will occur. In the future the SDK may create
2108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2109// for more information on using Contexts.
2110func (c *SSM) DeregisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *DeregisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2111	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2112	req.SetContext(ctx)
2113	req.ApplyOptions(opts...)
2114	return out, req.Send()
2115}
2116
2117const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow"
2118
2119// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2120// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return
2121// value will be populated with the request's response once the request completes
2122// successfully.
2123//
2124// Use "Send" method on the returned Request to send the API call to the service.
2125// the "output" return value is not valid until after Send returns without error.
2126//
2127// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow
2128// API call, and error handling.
2129//
2130// This method is useful when you want to inject custom logic or configuration
2131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2132//
2133//
2134//    // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method.
2135//    req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params)
2136//
2137//    err := req.Send()
2138//    if err == nil { // resp is now filled
2139//        fmt.Println(resp)
2140//    }
2141//
2142// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2143func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) {
2144	op := &request.Operation{
2145		Name:       opDeregisterTargetFromMaintenanceWindow,
2146		HTTPMethod: "POST",
2147		HTTPPath:   "/",
2148	}
2149
2150	if input == nil {
2151		input = &DeregisterTargetFromMaintenanceWindowInput{}
2152	}
2153
2154	output = &DeregisterTargetFromMaintenanceWindowOutput{}
2155	req = c.newRequest(op, input, output)
2156	return
2157}
2158
2159// DeregisterTargetFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2160//
2161// Removes a target from a maintenance window.
2162//
2163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2164// with awserr.Error's Code and Message methods to get detailed information about
2165// the error.
2166//
2167// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2168// API operation DeregisterTargetFromMaintenanceWindow for usage and error information.
2169//
2170// Returned Error Codes:
2171//   * ErrCodeDoesNotExistException "DoesNotExistException"
2172//   Error returned when the ID specified for a resource, such as a maintenance
2173//   window or Patch baseline, doesn't exist.
2174//
2175//   For information about resource limits in Systems Manager, see AWS Systems
2176//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
2177//
2178//   * ErrCodeInternalServerError "InternalServerError"
2179//   An error occurred on the server side.
2180//
2181//   * ErrCodeTargetInUseException "TargetInUseException"
2182//   You specified the Safe option for the DeregisterTargetFromMaintenanceWindow
2183//   operation, but the target is still referenced in a task.
2184//
2185// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2186func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2187	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2188	return out, req.Send()
2189}
2190
2191// DeregisterTargetFromMaintenanceWindowWithContext is the same as DeregisterTargetFromMaintenanceWindow with the addition of
2192// the ability to pass a context and additional request options.
2193//
2194// See DeregisterTargetFromMaintenanceWindow for details on how to use this API operation.
2195//
2196// The context must be non-nil and will be used for request cancellation. If
2197// the context is nil a panic will occur. In the future the SDK may create
2198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2199// for more information on using Contexts.
2200func (c *SSM) DeregisterTargetFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTargetFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2201	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2202	req.SetContext(ctx)
2203	req.ApplyOptions(opts...)
2204	return out, req.Send()
2205}
2206
2207const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow"
2208
2209// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2210// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return
2211// value will be populated with the request's response once the request completes
2212// successfully.
2213//
2214// Use "Send" method on the returned Request to send the API call to the service.
2215// the "output" return value is not valid until after Send returns without error.
2216//
2217// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow
2218// API call, and error handling.
2219//
2220// This method is useful when you want to inject custom logic or configuration
2221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2222//
2223//
2224//    // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method.
2225//    req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params)
2226//
2227//    err := req.Send()
2228//    if err == nil { // resp is now filled
2229//        fmt.Println(resp)
2230//    }
2231//
2232// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2233func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) {
2234	op := &request.Operation{
2235		Name:       opDeregisterTaskFromMaintenanceWindow,
2236		HTTPMethod: "POST",
2237		HTTPPath:   "/",
2238	}
2239
2240	if input == nil {
2241		input = &DeregisterTaskFromMaintenanceWindowInput{}
2242	}
2243
2244	output = &DeregisterTaskFromMaintenanceWindowOutput{}
2245	req = c.newRequest(op, input, output)
2246	return
2247}
2248
2249// DeregisterTaskFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2250//
2251// Removes a task from a maintenance window.
2252//
2253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2254// with awserr.Error's Code and Message methods to get detailed information about
2255// the error.
2256//
2257// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2258// API operation DeregisterTaskFromMaintenanceWindow for usage and error information.
2259//
2260// Returned Error Codes:
2261//   * ErrCodeDoesNotExistException "DoesNotExistException"
2262//   Error returned when the ID specified for a resource, such as a maintenance
2263//   window or Patch baseline, doesn't exist.
2264//
2265//   For information about resource limits in Systems Manager, see AWS Systems
2266//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
2267//
2268//   * ErrCodeInternalServerError "InternalServerError"
2269//   An error occurred on the server side.
2270//
2271// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2272func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2273	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2274	return out, req.Send()
2275}
2276
2277// DeregisterTaskFromMaintenanceWindowWithContext is the same as DeregisterTaskFromMaintenanceWindow with the addition of
2278// the ability to pass a context and additional request options.
2279//
2280// See DeregisterTaskFromMaintenanceWindow for details on how to use this API operation.
2281//
2282// The context must be non-nil and will be used for request cancellation. If
2283// the context is nil a panic will occur. In the future the SDK may create
2284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2285// for more information on using Contexts.
2286func (c *SSM) DeregisterTaskFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTaskFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2287	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2288	req.SetContext(ctx)
2289	req.ApplyOptions(opts...)
2290	return out, req.Send()
2291}
2292
2293const opDescribeActivations = "DescribeActivations"
2294
2295// DescribeActivationsRequest generates a "aws/request.Request" representing the
2296// client's request for the DescribeActivations operation. The "output" return
2297// value will be populated with the request's response once the request completes
2298// successfully.
2299//
2300// Use "Send" method on the returned Request to send the API call to the service.
2301// the "output" return value is not valid until after Send returns without error.
2302//
2303// See DescribeActivations for more information on using the DescribeActivations
2304// API call, and error handling.
2305//
2306// This method is useful when you want to inject custom logic or configuration
2307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2308//
2309//
2310//    // Example sending a request using the DescribeActivationsRequest method.
2311//    req, resp := client.DescribeActivationsRequest(params)
2312//
2313//    err := req.Send()
2314//    if err == nil { // resp is now filled
2315//        fmt.Println(resp)
2316//    }
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2319func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) {
2320	op := &request.Operation{
2321		Name:       opDescribeActivations,
2322		HTTPMethod: "POST",
2323		HTTPPath:   "/",
2324		Paginator: &request.Paginator{
2325			InputTokens:     []string{"NextToken"},
2326			OutputTokens:    []string{"NextToken"},
2327			LimitToken:      "MaxResults",
2328			TruncationToken: "",
2329		},
2330	}
2331
2332	if input == nil {
2333		input = &DescribeActivationsInput{}
2334	}
2335
2336	output = &DescribeActivationsOutput{}
2337	req = c.newRequest(op, input, output)
2338	return
2339}
2340
2341// DescribeActivations API operation for Amazon Simple Systems Manager (SSM).
2342//
2343// Describes details about the activation, such as the date and time the activation
2344// was created, its expiration date, the IAM role assigned to the instances
2345// in the activation, and the number of instances registered by using this activation.
2346//
2347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2348// with awserr.Error's Code and Message methods to get detailed information about
2349// the error.
2350//
2351// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2352// API operation DescribeActivations for usage and error information.
2353//
2354// Returned Error Codes:
2355//   * ErrCodeInvalidFilter "InvalidFilter"
2356//   The filter name is not valid. Verify the you entered the correct name and
2357//   try again.
2358//
2359//   * ErrCodeInvalidNextToken "InvalidNextToken"
2360//   The specified token is not valid.
2361//
2362//   * ErrCodeInternalServerError "InternalServerError"
2363//   An error occurred on the server side.
2364//
2365// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2366func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) {
2367	req, out := c.DescribeActivationsRequest(input)
2368	return out, req.Send()
2369}
2370
2371// DescribeActivationsWithContext is the same as DescribeActivations with the addition of
2372// the ability to pass a context and additional request options.
2373//
2374// See DescribeActivations for details on how to use this API operation.
2375//
2376// The context must be non-nil and will be used for request cancellation. If
2377// the context is nil a panic will occur. In the future the SDK may create
2378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2379// for more information on using Contexts.
2380func (c *SSM) DescribeActivationsWithContext(ctx aws.Context, input *DescribeActivationsInput, opts ...request.Option) (*DescribeActivationsOutput, error) {
2381	req, out := c.DescribeActivationsRequest(input)
2382	req.SetContext(ctx)
2383	req.ApplyOptions(opts...)
2384	return out, req.Send()
2385}
2386
2387// DescribeActivationsPages iterates over the pages of a DescribeActivations operation,
2388// calling the "fn" function with the response data for each page. To stop
2389// iterating, return false from the fn function.
2390//
2391// See DescribeActivations method for more information on how to use this operation.
2392//
2393// Note: This operation can generate multiple requests to a service.
2394//
2395//    // Example iterating over at most 3 pages of a DescribeActivations operation.
2396//    pageNum := 0
2397//    err := client.DescribeActivationsPages(params,
2398//        func(page *ssm.DescribeActivationsOutput, lastPage bool) bool {
2399//            pageNum++
2400//            fmt.Println(page)
2401//            return pageNum <= 3
2402//        })
2403//
2404func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool) error {
2405	return c.DescribeActivationsPagesWithContext(aws.BackgroundContext(), input, fn)
2406}
2407
2408// DescribeActivationsPagesWithContext same as DescribeActivationsPages except
2409// it takes a Context and allows setting request options on the pages.
2410//
2411// The context must be non-nil and will be used for request cancellation. If
2412// the context is nil a panic will occur. In the future the SDK may create
2413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2414// for more information on using Contexts.
2415func (c *SSM) DescribeActivationsPagesWithContext(ctx aws.Context, input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool, opts ...request.Option) error {
2416	p := request.Pagination{
2417		NewRequest: func() (*request.Request, error) {
2418			var inCpy *DescribeActivationsInput
2419			if input != nil {
2420				tmp := *input
2421				inCpy = &tmp
2422			}
2423			req, _ := c.DescribeActivationsRequest(inCpy)
2424			req.SetContext(ctx)
2425			req.ApplyOptions(opts...)
2426			return req, nil
2427		},
2428	}
2429
2430	cont := true
2431	for p.Next() && cont {
2432		cont = fn(p.Page().(*DescribeActivationsOutput), !p.HasNextPage())
2433	}
2434	return p.Err()
2435}
2436
2437const opDescribeAssociation = "DescribeAssociation"
2438
2439// DescribeAssociationRequest generates a "aws/request.Request" representing the
2440// client's request for the DescribeAssociation operation. The "output" return
2441// value will be populated with the request's response once the request completes
2442// successfully.
2443//
2444// Use "Send" method on the returned Request to send the API call to the service.
2445// the "output" return value is not valid until after Send returns without error.
2446//
2447// See DescribeAssociation for more information on using the DescribeAssociation
2448// API call, and error handling.
2449//
2450// This method is useful when you want to inject custom logic or configuration
2451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2452//
2453//
2454//    // Example sending a request using the DescribeAssociationRequest method.
2455//    req, resp := client.DescribeAssociationRequest(params)
2456//
2457//    err := req.Send()
2458//    if err == nil { // resp is now filled
2459//        fmt.Println(resp)
2460//    }
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2463func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) {
2464	op := &request.Operation{
2465		Name:       opDescribeAssociation,
2466		HTTPMethod: "POST",
2467		HTTPPath:   "/",
2468	}
2469
2470	if input == nil {
2471		input = &DescribeAssociationInput{}
2472	}
2473
2474	output = &DescribeAssociationOutput{}
2475	req = c.newRequest(op, input, output)
2476	return
2477}
2478
2479// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM).
2480//
2481// Describes the association for the specified target or instance. If you created
2482// the association by using the Targets parameter, then you must retrieve the
2483// association by using the association ID. If you created the association by
2484// specifying an instance ID and a Systems Manager document, then you retrieve
2485// the association by specifying the document name and the instance ID.
2486//
2487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2488// with awserr.Error's Code and Message methods to get detailed information about
2489// the error.
2490//
2491// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2492// API operation DescribeAssociation for usage and error information.
2493//
2494// Returned Error Codes:
2495//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2496//   The specified association does not exist.
2497//
2498//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
2499//   The version you specified is not valid. Use ListAssociationVersions to view
2500//   all versions of an association according to the association ID. Or, use the
2501//   $LATEST parameter to view the latest version of the association.
2502//
2503//   * ErrCodeInternalServerError "InternalServerError"
2504//   An error occurred on the server side.
2505//
2506//   * ErrCodeInvalidDocument "InvalidDocument"
2507//   The specified document does not exist.
2508//
2509//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2510//   The following problems can cause this exception:
2511//
2512//   You do not have permission to access the instance.
2513//
2514//   SSM Agent is not running. Verify that SSM Agent is running.
2515//
2516//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
2517//
2518//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2519//   Stopping. Invalid states are: Shutting-down and Terminated.
2520//
2521// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2522func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) {
2523	req, out := c.DescribeAssociationRequest(input)
2524	return out, req.Send()
2525}
2526
2527// DescribeAssociationWithContext is the same as DescribeAssociation with the addition of
2528// the ability to pass a context and additional request options.
2529//
2530// See DescribeAssociation for details on how to use this API operation.
2531//
2532// The context must be non-nil and will be used for request cancellation. If
2533// the context is nil a panic will occur. In the future the SDK may create
2534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2535// for more information on using Contexts.
2536func (c *SSM) DescribeAssociationWithContext(ctx aws.Context, input *DescribeAssociationInput, opts ...request.Option) (*DescribeAssociationOutput, error) {
2537	req, out := c.DescribeAssociationRequest(input)
2538	req.SetContext(ctx)
2539	req.ApplyOptions(opts...)
2540	return out, req.Send()
2541}
2542
2543const opDescribeAssociationExecutionTargets = "DescribeAssociationExecutionTargets"
2544
2545// DescribeAssociationExecutionTargetsRequest generates a "aws/request.Request" representing the
2546// client's request for the DescribeAssociationExecutionTargets operation. The "output" return
2547// value will be populated with the request's response once the request completes
2548// successfully.
2549//
2550// Use "Send" method on the returned Request to send the API call to the service.
2551// the "output" return value is not valid until after Send returns without error.
2552//
2553// See DescribeAssociationExecutionTargets for more information on using the DescribeAssociationExecutionTargets
2554// API call, and error handling.
2555//
2556// This method is useful when you want to inject custom logic or configuration
2557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2558//
2559//
2560//    // Example sending a request using the DescribeAssociationExecutionTargetsRequest method.
2561//    req, resp := client.DescribeAssociationExecutionTargetsRequest(params)
2562//
2563//    err := req.Send()
2564//    if err == nil { // resp is now filled
2565//        fmt.Println(resp)
2566//    }
2567//
2568// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2569func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociationExecutionTargetsInput) (req *request.Request, output *DescribeAssociationExecutionTargetsOutput) {
2570	op := &request.Operation{
2571		Name:       opDescribeAssociationExecutionTargets,
2572		HTTPMethod: "POST",
2573		HTTPPath:   "/",
2574	}
2575
2576	if input == nil {
2577		input = &DescribeAssociationExecutionTargetsInput{}
2578	}
2579
2580	output = &DescribeAssociationExecutionTargetsOutput{}
2581	req = c.newRequest(op, input, output)
2582	return
2583}
2584
2585// DescribeAssociationExecutionTargets API operation for Amazon Simple Systems Manager (SSM).
2586//
2587// Use this API action to view information about a specific execution of a specific
2588// association.
2589//
2590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2591// with awserr.Error's Code and Message methods to get detailed information about
2592// the error.
2593//
2594// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2595// API operation DescribeAssociationExecutionTargets for usage and error information.
2596//
2597// Returned Error Codes:
2598//   * ErrCodeInternalServerError "InternalServerError"
2599//   An error occurred on the server side.
2600//
2601//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2602//   The specified association does not exist.
2603//
2604//   * ErrCodeInvalidNextToken "InvalidNextToken"
2605//   The specified token is not valid.
2606//
2607//   * ErrCodeAssociationExecutionDoesNotExist "AssociationExecutionDoesNotExist"
2608//   The specified execution ID does not exist. Verify the ID number and try again.
2609//
2610// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2611func (c *SSM) DescribeAssociationExecutionTargets(input *DescribeAssociationExecutionTargetsInput) (*DescribeAssociationExecutionTargetsOutput, error) {
2612	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2613	return out, req.Send()
2614}
2615
2616// DescribeAssociationExecutionTargetsWithContext is the same as DescribeAssociationExecutionTargets with the addition of
2617// the ability to pass a context and additional request options.
2618//
2619// See DescribeAssociationExecutionTargets for details on how to use this API operation.
2620//
2621// The context must be non-nil and will be used for request cancellation. If
2622// the context is nil a panic will occur. In the future the SDK may create
2623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2624// for more information on using Contexts.
2625func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, opts ...request.Option) (*DescribeAssociationExecutionTargetsOutput, error) {
2626	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2627	req.SetContext(ctx)
2628	req.ApplyOptions(opts...)
2629	return out, req.Send()
2630}
2631
2632const opDescribeAssociationExecutions = "DescribeAssociationExecutions"
2633
2634// DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the
2635// client's request for the DescribeAssociationExecutions operation. The "output" return
2636// value will be populated with the request's response once the request completes
2637// successfully.
2638//
2639// Use "Send" method on the returned Request to send the API call to the service.
2640// the "output" return value is not valid until after Send returns without error.
2641//
2642// See DescribeAssociationExecutions for more information on using the DescribeAssociationExecutions
2643// API call, and error handling.
2644//
2645// This method is useful when you want to inject custom logic or configuration
2646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2647//
2648//
2649//    // Example sending a request using the DescribeAssociationExecutionsRequest method.
2650//    req, resp := client.DescribeAssociationExecutionsRequest(params)
2651//
2652//    err := req.Send()
2653//    if err == nil { // resp is now filled
2654//        fmt.Println(resp)
2655//    }
2656//
2657// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
2658func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExecutionsInput) (req *request.Request, output *DescribeAssociationExecutionsOutput) {
2659	op := &request.Operation{
2660		Name:       opDescribeAssociationExecutions,
2661		HTTPMethod: "POST",
2662		HTTPPath:   "/",
2663	}
2664
2665	if input == nil {
2666		input = &DescribeAssociationExecutionsInput{}
2667	}
2668
2669	output = &DescribeAssociationExecutionsOutput{}
2670	req = c.newRequest(op, input, output)
2671	return
2672}
2673
2674// DescribeAssociationExecutions API operation for Amazon Simple Systems Manager (SSM).
2675//
2676// Use this API action to view all executions for a specific association ID.
2677//
2678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2679// with awserr.Error's Code and Message methods to get detailed information about
2680// the error.
2681//
2682// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2683// API operation DescribeAssociationExecutions for usage and error information.
2684//
2685// Returned Error Codes:
2686//   * ErrCodeInternalServerError "InternalServerError"
2687//   An error occurred on the server side.
2688//
2689//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2690//   The specified association does not exist.
2691//
2692//   * ErrCodeInvalidNextToken "InvalidNextToken"
2693//   The specified token is not valid.
2694//
2695// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
2696func (c *SSM) DescribeAssociationExecutions(input *DescribeAssociationExecutionsInput) (*DescribeAssociationExecutionsOutput, error) {
2697	req, out := c.DescribeAssociationExecutionsRequest(input)
2698	return out, req.Send()
2699}
2700
2701// DescribeAssociationExecutionsWithContext is the same as DescribeAssociationExecutions with the addition of
2702// the ability to pass a context and additional request options.
2703//
2704// See DescribeAssociationExecutions for details on how to use this API operation.
2705//
2706// The context must be non-nil and will be used for request cancellation. If
2707// the context is nil a panic will occur. In the future the SDK may create
2708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2709// for more information on using Contexts.
2710func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, opts ...request.Option) (*DescribeAssociationExecutionsOutput, error) {
2711	req, out := c.DescribeAssociationExecutionsRequest(input)
2712	req.SetContext(ctx)
2713	req.ApplyOptions(opts...)
2714	return out, req.Send()
2715}
2716
2717const opDescribeAutomationExecutions = "DescribeAutomationExecutions"
2718
2719// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the
2720// client's request for the DescribeAutomationExecutions operation. The "output" return
2721// value will be populated with the request's response once the request completes
2722// successfully.
2723//
2724// Use "Send" method on the returned Request to send the API call to the service.
2725// the "output" return value is not valid until after Send returns without error.
2726//
2727// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions
2728// API call, and error handling.
2729//
2730// This method is useful when you want to inject custom logic or configuration
2731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2732//
2733//
2734//    // Example sending a request using the DescribeAutomationExecutionsRequest method.
2735//    req, resp := client.DescribeAutomationExecutionsRequest(params)
2736//
2737//    err := req.Send()
2738//    if err == nil { // resp is now filled
2739//        fmt.Println(resp)
2740//    }
2741//
2742// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2743func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) {
2744	op := &request.Operation{
2745		Name:       opDescribeAutomationExecutions,
2746		HTTPMethod: "POST",
2747		HTTPPath:   "/",
2748	}
2749
2750	if input == nil {
2751		input = &DescribeAutomationExecutionsInput{}
2752	}
2753
2754	output = &DescribeAutomationExecutionsOutput{}
2755	req = c.newRequest(op, input, output)
2756	return
2757}
2758
2759// DescribeAutomationExecutions API operation for Amazon Simple Systems Manager (SSM).
2760//
2761// Provides details about all active and terminated Automation executions.
2762//
2763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2764// with awserr.Error's Code and Message methods to get detailed information about
2765// the error.
2766//
2767// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2768// API operation DescribeAutomationExecutions for usage and error information.
2769//
2770// Returned Error Codes:
2771//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
2772//   The specified key is not valid.
2773//
2774//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
2775//   The filter value is not valid. Verify the value and try again.
2776//
2777//   * ErrCodeInvalidNextToken "InvalidNextToken"
2778//   The specified token is not valid.
2779//
2780//   * ErrCodeInternalServerError "InternalServerError"
2781//   An error occurred on the server side.
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2784func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) {
2785	req, out := c.DescribeAutomationExecutionsRequest(input)
2786	return out, req.Send()
2787}
2788
2789// DescribeAutomationExecutionsWithContext is the same as DescribeAutomationExecutions with the addition of
2790// the ability to pass a context and additional request options.
2791//
2792// See DescribeAutomationExecutions for details on how to use this API operation.
2793//
2794// The context must be non-nil and will be used for request cancellation. If
2795// the context is nil a panic will occur. In the future the SDK may create
2796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2797// for more information on using Contexts.
2798func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, opts ...request.Option) (*DescribeAutomationExecutionsOutput, error) {
2799	req, out := c.DescribeAutomationExecutionsRequest(input)
2800	req.SetContext(ctx)
2801	req.ApplyOptions(opts...)
2802	return out, req.Send()
2803}
2804
2805const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions"
2806
2807// DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the
2808// client's request for the DescribeAutomationStepExecutions operation. The "output" return
2809// value will be populated with the request's response once the request completes
2810// successfully.
2811//
2812// Use "Send" method on the returned Request to send the API call to the service.
2813// the "output" return value is not valid until after Send returns without error.
2814//
2815// See DescribeAutomationStepExecutions for more information on using the DescribeAutomationStepExecutions
2816// API call, and error handling.
2817//
2818// This method is useful when you want to inject custom logic or configuration
2819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2820//
2821//
2822//    // Example sending a request using the DescribeAutomationStepExecutionsRequest method.
2823//    req, resp := client.DescribeAutomationStepExecutionsRequest(params)
2824//
2825//    err := req.Send()
2826//    if err == nil { // resp is now filled
2827//        fmt.Println(resp)
2828//    }
2829//
2830// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
2831func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationStepExecutionsInput) (req *request.Request, output *DescribeAutomationStepExecutionsOutput) {
2832	op := &request.Operation{
2833		Name:       opDescribeAutomationStepExecutions,
2834		HTTPMethod: "POST",
2835		HTTPPath:   "/",
2836	}
2837
2838	if input == nil {
2839		input = &DescribeAutomationStepExecutionsInput{}
2840	}
2841
2842	output = &DescribeAutomationStepExecutionsOutput{}
2843	req = c.newRequest(op, input, output)
2844	return
2845}
2846
2847// DescribeAutomationStepExecutions API operation for Amazon Simple Systems Manager (SSM).
2848//
2849// Information about all active and terminated step executions in an Automation
2850// workflow.
2851//
2852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2853// with awserr.Error's Code and Message methods to get detailed information about
2854// the error.
2855//
2856// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2857// API operation DescribeAutomationStepExecutions for usage and error information.
2858//
2859// Returned Error Codes:
2860//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
2861//   There is no automation execution information for the requested automation
2862//   execution ID.
2863//
2864//   * ErrCodeInvalidNextToken "InvalidNextToken"
2865//   The specified token is not valid.
2866//
2867//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
2868//   The specified key is not valid.
2869//
2870//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
2871//   The filter value is not valid. Verify the value and try again.
2872//
2873//   * ErrCodeInternalServerError "InternalServerError"
2874//   An error occurred on the server side.
2875//
2876// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
2877func (c *SSM) DescribeAutomationStepExecutions(input *DescribeAutomationStepExecutionsInput) (*DescribeAutomationStepExecutionsOutput, error) {
2878	req, out := c.DescribeAutomationStepExecutionsRequest(input)
2879	return out, req.Send()
2880}
2881
2882// DescribeAutomationStepExecutionsWithContext is the same as DescribeAutomationStepExecutions with the addition of
2883// the ability to pass a context and additional request options.
2884//
2885// See DescribeAutomationStepExecutions for details on how to use this API operation.
2886//
2887// The context must be non-nil and will be used for request cancellation. If
2888// the context is nil a panic will occur. In the future the SDK may create
2889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2890// for more information on using Contexts.
2891func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, opts ...request.Option) (*DescribeAutomationStepExecutionsOutput, error) {
2892	req, out := c.DescribeAutomationStepExecutionsRequest(input)
2893	req.SetContext(ctx)
2894	req.ApplyOptions(opts...)
2895	return out, req.Send()
2896}
2897
2898const opDescribeAvailablePatches = "DescribeAvailablePatches"
2899
2900// DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the
2901// client's request for the DescribeAvailablePatches operation. The "output" return
2902// value will be populated with the request's response once the request completes
2903// successfully.
2904//
2905// Use "Send" method on the returned Request to send the API call to the service.
2906// the "output" return value is not valid until after Send returns without error.
2907//
2908// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches
2909// API call, and error handling.
2910//
2911// This method is useful when you want to inject custom logic or configuration
2912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2913//
2914//
2915//    // Example sending a request using the DescribeAvailablePatchesRequest method.
2916//    req, resp := client.DescribeAvailablePatchesRequest(params)
2917//
2918//    err := req.Send()
2919//    if err == nil { // resp is now filled
2920//        fmt.Println(resp)
2921//    }
2922//
2923// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2924func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInput) (req *request.Request, output *DescribeAvailablePatchesOutput) {
2925	op := &request.Operation{
2926		Name:       opDescribeAvailablePatches,
2927		HTTPMethod: "POST",
2928		HTTPPath:   "/",
2929	}
2930
2931	if input == nil {
2932		input = &DescribeAvailablePatchesInput{}
2933	}
2934
2935	output = &DescribeAvailablePatchesOutput{}
2936	req = c.newRequest(op, input, output)
2937	return
2938}
2939
2940// DescribeAvailablePatches API operation for Amazon Simple Systems Manager (SSM).
2941//
2942// Lists all patches eligible to be included in a patch baseline.
2943//
2944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2945// with awserr.Error's Code and Message methods to get detailed information about
2946// the error.
2947//
2948// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2949// API operation DescribeAvailablePatches for usage and error information.
2950//
2951// Returned Error Codes:
2952//   * ErrCodeInternalServerError "InternalServerError"
2953//   An error occurred on the server side.
2954//
2955// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2956func (c *SSM) DescribeAvailablePatches(input *DescribeAvailablePatchesInput) (*DescribeAvailablePatchesOutput, error) {
2957	req, out := c.DescribeAvailablePatchesRequest(input)
2958	return out, req.Send()
2959}
2960
2961// DescribeAvailablePatchesWithContext is the same as DescribeAvailablePatches with the addition of
2962// the ability to pass a context and additional request options.
2963//
2964// See DescribeAvailablePatches for details on how to use this API operation.
2965//
2966// The context must be non-nil and will be used for request cancellation. If
2967// the context is nil a panic will occur. In the future the SDK may create
2968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2969// for more information on using Contexts.
2970func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, opts ...request.Option) (*DescribeAvailablePatchesOutput, error) {
2971	req, out := c.DescribeAvailablePatchesRequest(input)
2972	req.SetContext(ctx)
2973	req.ApplyOptions(opts...)
2974	return out, req.Send()
2975}
2976
2977const opDescribeDocument = "DescribeDocument"
2978
2979// DescribeDocumentRequest generates a "aws/request.Request" representing the
2980// client's request for the DescribeDocument operation. The "output" return
2981// value will be populated with the request's response once the request completes
2982// successfully.
2983//
2984// Use "Send" method on the returned Request to send the API call to the service.
2985// the "output" return value is not valid until after Send returns without error.
2986//
2987// See DescribeDocument for more information on using the DescribeDocument
2988// API call, and error handling.
2989//
2990// This method is useful when you want to inject custom logic or configuration
2991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2992//
2993//
2994//    // Example sending a request using the DescribeDocumentRequest method.
2995//    req, resp := client.DescribeDocumentRequest(params)
2996//
2997//    err := req.Send()
2998//    if err == nil { // resp is now filled
2999//        fmt.Println(resp)
3000//    }
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3003func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) {
3004	op := &request.Operation{
3005		Name:       opDescribeDocument,
3006		HTTPMethod: "POST",
3007		HTTPPath:   "/",
3008	}
3009
3010	if input == nil {
3011		input = &DescribeDocumentInput{}
3012	}
3013
3014	output = &DescribeDocumentOutput{}
3015	req = c.newRequest(op, input, output)
3016	return
3017}
3018
3019// DescribeDocument API operation for Amazon Simple Systems Manager (SSM).
3020//
3021// Describes the specified Systems Manager document.
3022//
3023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3024// with awserr.Error's Code and Message methods to get detailed information about
3025// the error.
3026//
3027// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3028// API operation DescribeDocument for usage and error information.
3029//
3030// Returned Error Codes:
3031//   * ErrCodeInternalServerError "InternalServerError"
3032//   An error occurred on the server side.
3033//
3034//   * ErrCodeInvalidDocument "InvalidDocument"
3035//   The specified document does not exist.
3036//
3037//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
3038//   The document version is not valid or does not exist.
3039//
3040// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3041func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) {
3042	req, out := c.DescribeDocumentRequest(input)
3043	return out, req.Send()
3044}
3045
3046// DescribeDocumentWithContext is the same as DescribeDocument with the addition of
3047// the ability to pass a context and additional request options.
3048//
3049// See DescribeDocument for details on how to use this API operation.
3050//
3051// The context must be non-nil and will be used for request cancellation. If
3052// the context is nil a panic will occur. In the future the SDK may create
3053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3054// for more information on using Contexts.
3055func (c *SSM) DescribeDocumentWithContext(ctx aws.Context, input *DescribeDocumentInput, opts ...request.Option) (*DescribeDocumentOutput, error) {
3056	req, out := c.DescribeDocumentRequest(input)
3057	req.SetContext(ctx)
3058	req.ApplyOptions(opts...)
3059	return out, req.Send()
3060}
3061
3062const opDescribeDocumentPermission = "DescribeDocumentPermission"
3063
3064// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the
3065// client's request for the DescribeDocumentPermission operation. The "output" return
3066// value will be populated with the request's response once the request completes
3067// successfully.
3068//
3069// Use "Send" method on the returned Request to send the API call to the service.
3070// the "output" return value is not valid until after Send returns without error.
3071//
3072// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission
3073// API call, and error handling.
3074//
3075// This method is useful when you want to inject custom logic or configuration
3076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3077//
3078//
3079//    // Example sending a request using the DescribeDocumentPermissionRequest method.
3080//    req, resp := client.DescribeDocumentPermissionRequest(params)
3081//
3082//    err := req.Send()
3083//    if err == nil { // resp is now filled
3084//        fmt.Println(resp)
3085//    }
3086//
3087// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3088func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) {
3089	op := &request.Operation{
3090		Name:       opDescribeDocumentPermission,
3091		HTTPMethod: "POST",
3092		HTTPPath:   "/",
3093	}
3094
3095	if input == nil {
3096		input = &DescribeDocumentPermissionInput{}
3097	}
3098
3099	output = &DescribeDocumentPermissionOutput{}
3100	req = c.newRequest(op, input, output)
3101	return
3102}
3103
3104// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
3105//
3106// Describes the permissions for a Systems Manager document. If you created
3107// the document, you are the owner. If a document is shared, it can either be
3108// shared privately (by specifying a user's AWS account ID) or publicly (All).
3109//
3110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3111// with awserr.Error's Code and Message methods to get detailed information about
3112// the error.
3113//
3114// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3115// API operation DescribeDocumentPermission for usage and error information.
3116//
3117// Returned Error Codes:
3118//   * ErrCodeInternalServerError "InternalServerError"
3119//   An error occurred on the server side.
3120//
3121//   * ErrCodeInvalidDocument "InvalidDocument"
3122//   The specified document does not exist.
3123//
3124//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
3125//   The permission type is not supported. Share is the only supported permission
3126//   type.
3127//
3128// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3129func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) {
3130	req, out := c.DescribeDocumentPermissionRequest(input)
3131	return out, req.Send()
3132}
3133
3134// DescribeDocumentPermissionWithContext is the same as DescribeDocumentPermission with the addition of
3135// the ability to pass a context and additional request options.
3136//
3137// See DescribeDocumentPermission for details on how to use this API operation.
3138//
3139// The context must be non-nil and will be used for request cancellation. If
3140// the context is nil a panic will occur. In the future the SDK may create
3141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3142// for more information on using Contexts.
3143func (c *SSM) DescribeDocumentPermissionWithContext(ctx aws.Context, input *DescribeDocumentPermissionInput, opts ...request.Option) (*DescribeDocumentPermissionOutput, error) {
3144	req, out := c.DescribeDocumentPermissionRequest(input)
3145	req.SetContext(ctx)
3146	req.ApplyOptions(opts...)
3147	return out, req.Send()
3148}
3149
3150const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations"
3151
3152// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the
3153// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return
3154// value will be populated with the request's response once the request completes
3155// successfully.
3156//
3157// Use "Send" method on the returned Request to send the API call to the service.
3158// the "output" return value is not valid until after Send returns without error.
3159//
3160// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations
3161// API call, and error handling.
3162//
3163// This method is useful when you want to inject custom logic or configuration
3164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3165//
3166//
3167//    // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method.
3168//    req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params)
3169//
3170//    err := req.Send()
3171//    if err == nil { // resp is now filled
3172//        fmt.Println(resp)
3173//    }
3174//
3175// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3176func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) {
3177	op := &request.Operation{
3178		Name:       opDescribeEffectiveInstanceAssociations,
3179		HTTPMethod: "POST",
3180		HTTPPath:   "/",
3181	}
3182
3183	if input == nil {
3184		input = &DescribeEffectiveInstanceAssociationsInput{}
3185	}
3186
3187	output = &DescribeEffectiveInstanceAssociationsOutput{}
3188	req = c.newRequest(op, input, output)
3189	return
3190}
3191
3192// DescribeEffectiveInstanceAssociations API operation for Amazon Simple Systems Manager (SSM).
3193//
3194// All associations for the instance(s).
3195//
3196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3197// with awserr.Error's Code and Message methods to get detailed information about
3198// the error.
3199//
3200// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3201// API operation DescribeEffectiveInstanceAssociations for usage and error information.
3202//
3203// Returned Error Codes:
3204//   * ErrCodeInternalServerError "InternalServerError"
3205//   An error occurred on the server side.
3206//
3207//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3208//   The following problems can cause this exception:
3209//
3210//   You do not have permission to access the instance.
3211//
3212//   SSM Agent is not running. Verify that SSM Agent is running.
3213//
3214//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3215//
3216//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3217//   Stopping. Invalid states are: Shutting-down and Terminated.
3218//
3219//   * ErrCodeInvalidNextToken "InvalidNextToken"
3220//   The specified token is not valid.
3221//
3222// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3223func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3224	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3225	return out, req.Send()
3226}
3227
3228// DescribeEffectiveInstanceAssociationsWithContext is the same as DescribeEffectiveInstanceAssociations with the addition of
3229// the ability to pass a context and additional request options.
3230//
3231// See DescribeEffectiveInstanceAssociations for details on how to use this API operation.
3232//
3233// The context must be non-nil and will be used for request cancellation. If
3234// the context is nil a panic will occur. In the future the SDK may create
3235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3236// for more information on using Contexts.
3237func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, opts ...request.Option) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3238	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3239	req.SetContext(ctx)
3240	req.ApplyOptions(opts...)
3241	return out, req.Send()
3242}
3243
3244const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline"
3245
3246// DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the
3247// client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return
3248// value will be populated with the request's response once the request completes
3249// successfully.
3250//
3251// Use "Send" method on the returned Request to send the API call to the service.
3252// the "output" return value is not valid until after Send returns without error.
3253//
3254// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline
3255// API call, and error handling.
3256//
3257// This method is useful when you want to inject custom logic or configuration
3258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3259//
3260//
3261//    // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method.
3262//    req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params)
3263//
3264//    err := req.Send()
3265//    if err == nil { // resp is now filled
3266//        fmt.Println(resp)
3267//    }
3268//
3269// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
3270func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEffectivePatchesForPatchBaselineInput) (req *request.Request, output *DescribeEffectivePatchesForPatchBaselineOutput) {
3271	op := &request.Operation{
3272		Name:       opDescribeEffectivePatchesForPatchBaseline,
3273		HTTPMethod: "POST",
3274		HTTPPath:   "/",
3275	}
3276
3277	if input == nil {
3278		input = &DescribeEffectivePatchesForPatchBaselineInput{}
3279	}
3280
3281	output = &DescribeEffectivePatchesForPatchBaselineOutput{}
3282	req = c.newRequest(op, input, output)
3283	return
3284}
3285
3286// DescribeEffectivePatchesForPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
3287//
3288// Retrieves the current effective patches (the patch and the approval state)
3289// for the specified patch baseline. Note that this API applies only to Windows
3290// patch baselines.
3291//
3292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3293// with awserr.Error's Code and Message methods to get detailed information about
3294// the error.
3295//
3296// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3297// API operation DescribeEffectivePatchesForPatchBaseline for usage and error information.
3298//
3299// Returned Error Codes:
3300//   * ErrCodeInvalidResourceId "InvalidResourceId"
3301//   The resource ID is not valid. Verify that you entered the correct ID and
3302//   try again.
3303//
3304//   * ErrCodeDoesNotExistException "DoesNotExistException"
3305//   Error returned when the ID specified for a resource, such as a maintenance
3306//   window or Patch baseline, doesn't exist.
3307//
3308//   For information about resource limits in Systems Manager, see AWS Systems
3309//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
3310//
3311//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
3312//   The operating systems you specified is not supported, or the operation is
3313//   not supported for the operating system. Valid operating systems include:
3314//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
3315//
3316//   * ErrCodeInternalServerError "InternalServerError"
3317//   An error occurred on the server side.
3318//
3319// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
3320func (c *SSM) DescribeEffectivePatchesForPatchBaseline(input *DescribeEffectivePatchesForPatchBaselineInput) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
3321	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
3322	return out, req.Send()
3323}
3324
3325// DescribeEffectivePatchesForPatchBaselineWithContext is the same as DescribeEffectivePatchesForPatchBaseline with the addition of
3326// the ability to pass a context and additional request options.
3327//
3328// See DescribeEffectivePatchesForPatchBaseline for details on how to use this API operation.
3329//
3330// The context must be non-nil and will be used for request cancellation. If
3331// the context is nil a panic will occur. In the future the SDK may create
3332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3333// for more information on using Contexts.
3334func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, opts ...request.Option) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
3335	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
3336	req.SetContext(ctx)
3337	req.ApplyOptions(opts...)
3338	return out, req.Send()
3339}
3340
3341const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus"
3342
3343// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the
3344// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return
3345// value will be populated with the request's response once the request completes
3346// successfully.
3347//
3348// Use "Send" method on the returned Request to send the API call to the service.
3349// the "output" return value is not valid until after Send returns without error.
3350//
3351// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus
3352// API call, and error handling.
3353//
3354// This method is useful when you want to inject custom logic or configuration
3355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3356//
3357//
3358//    // Example sending a request using the DescribeInstanceAssociationsStatusRequest method.
3359//    req, resp := client.DescribeInstanceAssociationsStatusRequest(params)
3360//
3361//    err := req.Send()
3362//    if err == nil { // resp is now filled
3363//        fmt.Println(resp)
3364//    }
3365//
3366// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
3367func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) {
3368	op := &request.Operation{
3369		Name:       opDescribeInstanceAssociationsStatus,
3370		HTTPMethod: "POST",
3371		HTTPPath:   "/",
3372	}
3373
3374	if input == nil {
3375		input = &DescribeInstanceAssociationsStatusInput{}
3376	}
3377
3378	output = &DescribeInstanceAssociationsStatusOutput{}
3379	req = c.newRequest(op, input, output)
3380	return
3381}
3382
3383// DescribeInstanceAssociationsStatus API operation for Amazon Simple Systems Manager (SSM).
3384//
3385// The status of the associations for the instance(s).
3386//
3387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3388// with awserr.Error's Code and Message methods to get detailed information about
3389// the error.
3390//
3391// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3392// API operation DescribeInstanceAssociationsStatus for usage and error information.
3393//
3394// Returned Error Codes:
3395//   * ErrCodeInternalServerError "InternalServerError"
3396//   An error occurred on the server side.
3397//
3398//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3399//   The following problems can cause this exception:
3400//
3401//   You do not have permission to access the instance.
3402//
3403//   SSM Agent is not running. Verify that SSM Agent is running.
3404//
3405//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3406//
3407//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3408//   Stopping. Invalid states are: Shutting-down and Terminated.
3409//
3410//   * ErrCodeInvalidNextToken "InvalidNextToken"
3411//   The specified token is not valid.
3412//
3413// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
3414func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) {
3415	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
3416	return out, req.Send()
3417}
3418
3419// DescribeInstanceAssociationsStatusWithContext is the same as DescribeInstanceAssociationsStatus with the addition of
3420// the ability to pass a context and additional request options.
3421//
3422// See DescribeInstanceAssociationsStatus for details on how to use this API operation.
3423//
3424// The context must be non-nil and will be used for request cancellation. If
3425// the context is nil a panic will occur. In the future the SDK may create
3426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3427// for more information on using Contexts.
3428func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, opts ...request.Option) (*DescribeInstanceAssociationsStatusOutput, error) {
3429	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
3430	req.SetContext(ctx)
3431	req.ApplyOptions(opts...)
3432	return out, req.Send()
3433}
3434
3435const opDescribeInstanceInformation = "DescribeInstanceInformation"
3436
3437// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the
3438// client's request for the DescribeInstanceInformation operation. The "output" return
3439// value will be populated with the request's response once the request completes
3440// successfully.
3441//
3442// Use "Send" method on the returned Request to send the API call to the service.
3443// the "output" return value is not valid until after Send returns without error.
3444//
3445// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation
3446// API call, and error handling.
3447//
3448// This method is useful when you want to inject custom logic or configuration
3449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3450//
3451//
3452//    // Example sending a request using the DescribeInstanceInformationRequest method.
3453//    req, resp := client.DescribeInstanceInformationRequest(params)
3454//
3455//    err := req.Send()
3456//    if err == nil { // resp is now filled
3457//        fmt.Println(resp)
3458//    }
3459//
3460// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
3461func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) {
3462	op := &request.Operation{
3463		Name:       opDescribeInstanceInformation,
3464		HTTPMethod: "POST",
3465		HTTPPath:   "/",
3466		Paginator: &request.Paginator{
3467			InputTokens:     []string{"NextToken"},
3468			OutputTokens:    []string{"NextToken"},
3469			LimitToken:      "MaxResults",
3470			TruncationToken: "",
3471		},
3472	}
3473
3474	if input == nil {
3475		input = &DescribeInstanceInformationInput{}
3476	}
3477
3478	output = &DescribeInstanceInformationOutput{}
3479	req = c.newRequest(op, input, output)
3480	return
3481}
3482
3483// DescribeInstanceInformation API operation for Amazon Simple Systems Manager (SSM).
3484//
3485// Describes one or more of your instances. You can use this to get information
3486// about instances like the operating system platform, the SSM Agent version
3487// (Linux), status etc. If you specify one or more instance IDs, it returns
3488// information for those instances. If you do not specify instance IDs, it returns
3489// information for all your instances. If you specify an instance ID that is
3490// not valid or an instance that you do not own, you receive an error.
3491//
3492// The IamRole field for this API action is the Amazon Identity and Access Management
3493// (IAM) role assigned to on-premises instances. This call does not return the
3494// IAM role for Amazon EC2 instances.
3495//
3496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3497// with awserr.Error's Code and Message methods to get detailed information about
3498// the error.
3499//
3500// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3501// API operation DescribeInstanceInformation for usage and error information.
3502//
3503// Returned Error Codes:
3504//   * ErrCodeInternalServerError "InternalServerError"
3505//   An error occurred on the server side.
3506//
3507//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3508//   The following problems can cause this exception:
3509//
3510//   You do not have permission to access the instance.
3511//
3512//   SSM Agent is not running. Verify that SSM Agent is running.
3513//
3514//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3515//
3516//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3517//   Stopping. Invalid states are: Shutting-down and Terminated.
3518//
3519//   * ErrCodeInvalidNextToken "InvalidNextToken"
3520//   The specified token is not valid.
3521//
3522//   * ErrCodeInvalidInstanceInformationFilterValue "InvalidInstanceInformationFilterValue"
3523//   The specified filter value is not valid.
3524//
3525//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
3526//   The specified key is not valid.
3527//
3528// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
3529func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) {
3530	req, out := c.DescribeInstanceInformationRequest(input)
3531	return out, req.Send()
3532}
3533
3534// DescribeInstanceInformationWithContext is the same as DescribeInstanceInformation with the addition of
3535// the ability to pass a context and additional request options.
3536//
3537// See DescribeInstanceInformation for details on how to use this API operation.
3538//
3539// The context must be non-nil and will be used for request cancellation. If
3540// the context is nil a panic will occur. In the future the SDK may create
3541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3542// for more information on using Contexts.
3543func (c *SSM) DescribeInstanceInformationWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, opts ...request.Option) (*DescribeInstanceInformationOutput, error) {
3544	req, out := c.DescribeInstanceInformationRequest(input)
3545	req.SetContext(ctx)
3546	req.ApplyOptions(opts...)
3547	return out, req.Send()
3548}
3549
3550// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation,
3551// calling the "fn" function with the response data for each page. To stop
3552// iterating, return false from the fn function.
3553//
3554// See DescribeInstanceInformation method for more information on how to use this operation.
3555//
3556// Note: This operation can generate multiple requests to a service.
3557//
3558//    // Example iterating over at most 3 pages of a DescribeInstanceInformation operation.
3559//    pageNum := 0
3560//    err := client.DescribeInstanceInformationPages(params,
3561//        func(page *ssm.DescribeInstanceInformationOutput, lastPage bool) bool {
3562//            pageNum++
3563//            fmt.Println(page)
3564//            return pageNum <= 3
3565//        })
3566//
3567func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool) error {
3568	return c.DescribeInstanceInformationPagesWithContext(aws.BackgroundContext(), input, fn)
3569}
3570
3571// DescribeInstanceInformationPagesWithContext same as DescribeInstanceInformationPages except
3572// it takes a Context and allows setting request options on the pages.
3573//
3574// The context must be non-nil and will be used for request cancellation. If
3575// the context is nil a panic will occur. In the future the SDK may create
3576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3577// for more information on using Contexts.
3578func (c *SSM) DescribeInstanceInformationPagesWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool, opts ...request.Option) error {
3579	p := request.Pagination{
3580		NewRequest: func() (*request.Request, error) {
3581			var inCpy *DescribeInstanceInformationInput
3582			if input != nil {
3583				tmp := *input
3584				inCpy = &tmp
3585			}
3586			req, _ := c.DescribeInstanceInformationRequest(inCpy)
3587			req.SetContext(ctx)
3588			req.ApplyOptions(opts...)
3589			return req, nil
3590		},
3591	}
3592
3593	cont := true
3594	for p.Next() && cont {
3595		cont = fn(p.Page().(*DescribeInstanceInformationOutput), !p.HasNextPage())
3596	}
3597	return p.Err()
3598}
3599
3600const opDescribeInstancePatchStates = "DescribeInstancePatchStates"
3601
3602// DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the
3603// client's request for the DescribeInstancePatchStates operation. The "output" return
3604// value will be populated with the request's response once the request completes
3605// successfully.
3606//
3607// Use "Send" method on the returned Request to send the API call to the service.
3608// the "output" return value is not valid until after Send returns without error.
3609//
3610// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates
3611// API call, and error handling.
3612//
3613// This method is useful when you want to inject custom logic or configuration
3614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3615//
3616//
3617//    // Example sending a request using the DescribeInstancePatchStatesRequest method.
3618//    req, resp := client.DescribeInstancePatchStatesRequest(params)
3619//
3620//    err := req.Send()
3621//    if err == nil { // resp is now filled
3622//        fmt.Println(resp)
3623//    }
3624//
3625// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3626func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchStatesInput) (req *request.Request, output *DescribeInstancePatchStatesOutput) {
3627	op := &request.Operation{
3628		Name:       opDescribeInstancePatchStates,
3629		HTTPMethod: "POST",
3630		HTTPPath:   "/",
3631	}
3632
3633	if input == nil {
3634		input = &DescribeInstancePatchStatesInput{}
3635	}
3636
3637	output = &DescribeInstancePatchStatesOutput{}
3638	req = c.newRequest(op, input, output)
3639	return
3640}
3641
3642// DescribeInstancePatchStates API operation for Amazon Simple Systems Manager (SSM).
3643//
3644// Retrieves the high-level patch state of one or more instances.
3645//
3646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3647// with awserr.Error's Code and Message methods to get detailed information about
3648// the error.
3649//
3650// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3651// API operation DescribeInstancePatchStates for usage and error information.
3652//
3653// Returned Error Codes:
3654//   * ErrCodeInternalServerError "InternalServerError"
3655//   An error occurred on the server side.
3656//
3657//   * ErrCodeInvalidNextToken "InvalidNextToken"
3658//   The specified token is not valid.
3659//
3660// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3661func (c *SSM) DescribeInstancePatchStates(input *DescribeInstancePatchStatesInput) (*DescribeInstancePatchStatesOutput, error) {
3662	req, out := c.DescribeInstancePatchStatesRequest(input)
3663	return out, req.Send()
3664}
3665
3666// DescribeInstancePatchStatesWithContext is the same as DescribeInstancePatchStates with the addition of
3667// the ability to pass a context and additional request options.
3668//
3669// See DescribeInstancePatchStates for details on how to use this API operation.
3670//
3671// The context must be non-nil and will be used for request cancellation. If
3672// the context is nil a panic will occur. In the future the SDK may create
3673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3674// for more information on using Contexts.
3675func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, opts ...request.Option) (*DescribeInstancePatchStatesOutput, error) {
3676	req, out := c.DescribeInstancePatchStatesRequest(input)
3677	req.SetContext(ctx)
3678	req.ApplyOptions(opts...)
3679	return out, req.Send()
3680}
3681
3682const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup"
3683
3684// DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the
3685// client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return
3686// value will be populated with the request's response once the request completes
3687// successfully.
3688//
3689// Use "Send" method on the returned Request to send the API call to the service.
3690// the "output" return value is not valid until after Send returns without error.
3691//
3692// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup
3693// API call, and error handling.
3694//
3695// This method is useful when you want to inject custom logic or configuration
3696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3697//
3698//
3699//    // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method.
3700//    req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params)
3701//
3702//    err := req.Send()
3703//    if err == nil { // resp is now filled
3704//        fmt.Println(resp)
3705//    }
3706//
3707// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3708func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeInstancePatchStatesForPatchGroupInput) (req *request.Request, output *DescribeInstancePatchStatesForPatchGroupOutput) {
3709	op := &request.Operation{
3710		Name:       opDescribeInstancePatchStatesForPatchGroup,
3711		HTTPMethod: "POST",
3712		HTTPPath:   "/",
3713	}
3714
3715	if input == nil {
3716		input = &DescribeInstancePatchStatesForPatchGroupInput{}
3717	}
3718
3719	output = &DescribeInstancePatchStatesForPatchGroupOutput{}
3720	req = c.newRequest(op, input, output)
3721	return
3722}
3723
3724// DescribeInstancePatchStatesForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
3725//
3726// Retrieves the high-level patch state for the instances in the specified patch
3727// group.
3728//
3729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3730// with awserr.Error's Code and Message methods to get detailed information about
3731// the error.
3732//
3733// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3734// API operation DescribeInstancePatchStatesForPatchGroup for usage and error information.
3735//
3736// Returned Error Codes:
3737//   * ErrCodeInternalServerError "InternalServerError"
3738//   An error occurred on the server side.
3739//
3740//   * ErrCodeInvalidFilter "InvalidFilter"
3741//   The filter name is not valid. Verify the you entered the correct name and
3742//   try again.
3743//
3744//   * ErrCodeInvalidNextToken "InvalidNextToken"
3745//   The specified token is not valid.
3746//
3747// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3748func (c *SSM) DescribeInstancePatchStatesForPatchGroup(input *DescribeInstancePatchStatesForPatchGroupInput) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3749	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3750	return out, req.Send()
3751}
3752
3753// DescribeInstancePatchStatesForPatchGroupWithContext is the same as DescribeInstancePatchStatesForPatchGroup with the addition of
3754// the ability to pass a context and additional request options.
3755//
3756// See DescribeInstancePatchStatesForPatchGroup for details on how to use this API operation.
3757//
3758// The context must be non-nil and will be used for request cancellation. If
3759// the context is nil a panic will occur. In the future the SDK may create
3760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3761// for more information on using Contexts.
3762func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, opts ...request.Option) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3763	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3764	req.SetContext(ctx)
3765	req.ApplyOptions(opts...)
3766	return out, req.Send()
3767}
3768
3769const opDescribeInstancePatches = "DescribeInstancePatches"
3770
3771// DescribeInstancePatchesRequest generates a "aws/request.Request" representing the
3772// client's request for the DescribeInstancePatches operation. The "output" return
3773// value will be populated with the request's response once the request completes
3774// successfully.
3775//
3776// Use "Send" method on the returned Request to send the API call to the service.
3777// the "output" return value is not valid until after Send returns without error.
3778//
3779// See DescribeInstancePatches for more information on using the DescribeInstancePatches
3780// API call, and error handling.
3781//
3782// This method is useful when you want to inject custom logic or configuration
3783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3784//
3785//
3786//    // Example sending a request using the DescribeInstancePatchesRequest method.
3787//    req, resp := client.DescribeInstancePatchesRequest(params)
3788//
3789//    err := req.Send()
3790//    if err == nil { // resp is now filled
3791//        fmt.Println(resp)
3792//    }
3793//
3794// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3795func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput) (req *request.Request, output *DescribeInstancePatchesOutput) {
3796	op := &request.Operation{
3797		Name:       opDescribeInstancePatches,
3798		HTTPMethod: "POST",
3799		HTTPPath:   "/",
3800	}
3801
3802	if input == nil {
3803		input = &DescribeInstancePatchesInput{}
3804	}
3805
3806	output = &DescribeInstancePatchesOutput{}
3807	req = c.newRequest(op, input, output)
3808	return
3809}
3810
3811// DescribeInstancePatches API operation for Amazon Simple Systems Manager (SSM).
3812//
3813// Retrieves information about the patches on the specified instance and their
3814// state relative to the patch baseline being used for the instance.
3815//
3816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3817// with awserr.Error's Code and Message methods to get detailed information about
3818// the error.
3819//
3820// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3821// API operation DescribeInstancePatches for usage and error information.
3822//
3823// Returned Error Codes:
3824//   * ErrCodeInternalServerError "InternalServerError"
3825//   An error occurred on the server side.
3826//
3827//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3828//   The following problems can cause this exception:
3829//
3830//   You do not have permission to access the instance.
3831//
3832//   SSM Agent is not running. Verify that SSM Agent is running.
3833//
3834//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3835//
3836//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3837//   Stopping. Invalid states are: Shutting-down and Terminated.
3838//
3839//   * ErrCodeInvalidFilter "InvalidFilter"
3840//   The filter name is not valid. Verify the you entered the correct name and
3841//   try again.
3842//
3843//   * ErrCodeInvalidNextToken "InvalidNextToken"
3844//   The specified token is not valid.
3845//
3846// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3847func (c *SSM) DescribeInstancePatches(input *DescribeInstancePatchesInput) (*DescribeInstancePatchesOutput, error) {
3848	req, out := c.DescribeInstancePatchesRequest(input)
3849	return out, req.Send()
3850}
3851
3852// DescribeInstancePatchesWithContext is the same as DescribeInstancePatches with the addition of
3853// the ability to pass a context and additional request options.
3854//
3855// See DescribeInstancePatches for details on how to use this API operation.
3856//
3857// The context must be non-nil and will be used for request cancellation. If
3858// the context is nil a panic will occur. In the future the SDK may create
3859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3860// for more information on using Contexts.
3861func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, opts ...request.Option) (*DescribeInstancePatchesOutput, error) {
3862	req, out := c.DescribeInstancePatchesRequest(input)
3863	req.SetContext(ctx)
3864	req.ApplyOptions(opts...)
3865	return out, req.Send()
3866}
3867
3868const opDescribeInventoryDeletions = "DescribeInventoryDeletions"
3869
3870// DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the
3871// client's request for the DescribeInventoryDeletions operation. The "output" return
3872// value will be populated with the request's response once the request completes
3873// successfully.
3874//
3875// Use "Send" method on the returned Request to send the API call to the service.
3876// the "output" return value is not valid until after Send returns without error.
3877//
3878// See DescribeInventoryDeletions for more information on using the DescribeInventoryDeletions
3879// API call, and error handling.
3880//
3881// This method is useful when you want to inject custom logic or configuration
3882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3883//
3884//
3885//    // Example sending a request using the DescribeInventoryDeletionsRequest method.
3886//    req, resp := client.DescribeInventoryDeletionsRequest(params)
3887//
3888//    err := req.Send()
3889//    if err == nil { // resp is now filled
3890//        fmt.Println(resp)
3891//    }
3892//
3893// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
3894func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletionsInput) (req *request.Request, output *DescribeInventoryDeletionsOutput) {
3895	op := &request.Operation{
3896		Name:       opDescribeInventoryDeletions,
3897		HTTPMethod: "POST",
3898		HTTPPath:   "/",
3899	}
3900
3901	if input == nil {
3902		input = &DescribeInventoryDeletionsInput{}
3903	}
3904
3905	output = &DescribeInventoryDeletionsOutput{}
3906	req = c.newRequest(op, input, output)
3907	return
3908}
3909
3910// DescribeInventoryDeletions API operation for Amazon Simple Systems Manager (SSM).
3911//
3912// Describes a specific delete inventory operation.
3913//
3914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3915// with awserr.Error's Code and Message methods to get detailed information about
3916// the error.
3917//
3918// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3919// API operation DescribeInventoryDeletions for usage and error information.
3920//
3921// Returned Error Codes:
3922//   * ErrCodeInternalServerError "InternalServerError"
3923//   An error occurred on the server side.
3924//
3925//   * ErrCodeInvalidDeletionIdException "InvalidDeletionIdException"
3926//   The ID specified for the delete operation does not exist or is not valid.
3927//   Verify the ID and try again.
3928//
3929//   * ErrCodeInvalidNextToken "InvalidNextToken"
3930//   The specified token is not valid.
3931//
3932// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
3933func (c *SSM) DescribeInventoryDeletions(input *DescribeInventoryDeletionsInput) (*DescribeInventoryDeletionsOutput, error) {
3934	req, out := c.DescribeInventoryDeletionsRequest(input)
3935	return out, req.Send()
3936}
3937
3938// DescribeInventoryDeletionsWithContext is the same as DescribeInventoryDeletions with the addition of
3939// the ability to pass a context and additional request options.
3940//
3941// See DescribeInventoryDeletions for details on how to use this API operation.
3942//
3943// The context must be non-nil and will be used for request cancellation. If
3944// the context is nil a panic will occur. In the future the SDK may create
3945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3946// for more information on using Contexts.
3947func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, opts ...request.Option) (*DescribeInventoryDeletionsOutput, error) {
3948	req, out := c.DescribeInventoryDeletionsRequest(input)
3949	req.SetContext(ctx)
3950	req.ApplyOptions(opts...)
3951	return out, req.Send()
3952}
3953
3954const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations"
3955
3956// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the
3957// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return
3958// value will be populated with the request's response once the request completes
3959// successfully.
3960//
3961// Use "Send" method on the returned Request to send the API call to the service.
3962// the "output" return value is not valid until after Send returns without error.
3963//
3964// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations
3965// API call, and error handling.
3966//
3967// This method is useful when you want to inject custom logic or configuration
3968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3969//
3970//
3971//    // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method.
3972//    req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params)
3973//
3974//    err := req.Send()
3975//    if err == nil { // resp is now filled
3976//        fmt.Println(resp)
3977//    }
3978//
3979// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
3980func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) {
3981	op := &request.Operation{
3982		Name:       opDescribeMaintenanceWindowExecutionTaskInvocations,
3983		HTTPMethod: "POST",
3984		HTTPPath:   "/",
3985	}
3986
3987	if input == nil {
3988		input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{}
3989	}
3990
3991	output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{}
3992	req = c.newRequest(op, input, output)
3993	return
3994}
3995
3996// DescribeMaintenanceWindowExecutionTaskInvocations API operation for Amazon Simple Systems Manager (SSM).
3997//
3998// Retrieves the individual task executions (one per target) for a particular
3999// task run as part of a maintenance window execution.
4000//
4001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4002// with awserr.Error's Code and Message methods to get detailed information about
4003// the error.
4004//
4005// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4006// API operation DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information.
4007//
4008// Returned Error Codes:
4009//   * ErrCodeDoesNotExistException "DoesNotExistException"
4010//   Error returned when the ID specified for a resource, such as a maintenance
4011//   window or Patch baseline, doesn't exist.
4012//
4013//   For information about resource limits in Systems Manager, see AWS Systems
4014//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4015//
4016//   * ErrCodeInternalServerError "InternalServerError"
4017//   An error occurred on the server side.
4018//
4019// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
4020func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
4021	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
4022	return out, req.Send()
4023}
4024
4025// DescribeMaintenanceWindowExecutionTaskInvocationsWithContext is the same as DescribeMaintenanceWindowExecutionTaskInvocations with the addition of
4026// the ability to pass a context and additional request options.
4027//
4028// See DescribeMaintenanceWindowExecutionTaskInvocations for details on how to use this API operation.
4029//
4030// The context must be non-nil and will be used for request cancellation. If
4031// the context is nil a panic will occur. In the future the SDK may create
4032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4033// for more information on using Contexts.
4034func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
4035	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
4036	req.SetContext(ctx)
4037	req.ApplyOptions(opts...)
4038	return out, req.Send()
4039}
4040
4041const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks"
4042
4043// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the
4044// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return
4045// value will be populated with the request's response once the request completes
4046// successfully.
4047//
4048// Use "Send" method on the returned Request to send the API call to the service.
4049// the "output" return value is not valid until after Send returns without error.
4050//
4051// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks
4052// API call, and error handling.
4053//
4054// This method is useful when you want to inject custom logic or configuration
4055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4056//
4057//
4058//    // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method.
4059//    req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params)
4060//
4061//    err := req.Send()
4062//    if err == nil { // resp is now filled
4063//        fmt.Println(resp)
4064//    }
4065//
4066// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
4067func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) {
4068	op := &request.Operation{
4069		Name:       opDescribeMaintenanceWindowExecutionTasks,
4070		HTTPMethod: "POST",
4071		HTTPPath:   "/",
4072	}
4073
4074	if input == nil {
4075		input = &DescribeMaintenanceWindowExecutionTasksInput{}
4076	}
4077
4078	output = &DescribeMaintenanceWindowExecutionTasksOutput{}
4079	req = c.newRequest(op, input, output)
4080	return
4081}
4082
4083// DescribeMaintenanceWindowExecutionTasks API operation for Amazon Simple Systems Manager (SSM).
4084//
4085// For a given maintenance window execution, lists the tasks that were run.
4086//
4087// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4088// with awserr.Error's Code and Message methods to get detailed information about
4089// the error.
4090//
4091// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4092// API operation DescribeMaintenanceWindowExecutionTasks for usage and error information.
4093//
4094// Returned Error Codes:
4095//   * ErrCodeDoesNotExistException "DoesNotExistException"
4096//   Error returned when the ID specified for a resource, such as a maintenance
4097//   window or Patch baseline, doesn't exist.
4098//
4099//   For information about resource limits in Systems Manager, see AWS Systems
4100//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4101//
4102//   * ErrCodeInternalServerError "InternalServerError"
4103//   An error occurred on the server side.
4104//
4105// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
4106func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
4107	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
4108	return out, req.Send()
4109}
4110
4111// DescribeMaintenanceWindowExecutionTasksWithContext is the same as DescribeMaintenanceWindowExecutionTasks with the addition of
4112// the ability to pass a context and additional request options.
4113//
4114// See DescribeMaintenanceWindowExecutionTasks for details on how to use this API operation.
4115//
4116// The context must be non-nil and will be used for request cancellation. If
4117// the context is nil a panic will occur. In the future the SDK may create
4118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4119// for more information on using Contexts.
4120func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
4121	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
4122	req.SetContext(ctx)
4123	req.ApplyOptions(opts...)
4124	return out, req.Send()
4125}
4126
4127const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions"
4128
4129// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the
4130// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return
4131// value will be populated with the request's response once the request completes
4132// successfully.
4133//
4134// Use "Send" method on the returned Request to send the API call to the service.
4135// the "output" return value is not valid until after Send returns without error.
4136//
4137// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions
4138// API call, and error handling.
4139//
4140// This method is useful when you want to inject custom logic or configuration
4141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4142//
4143//
4144//    // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method.
4145//    req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params)
4146//
4147//    err := req.Send()
4148//    if err == nil { // resp is now filled
4149//        fmt.Println(resp)
4150//    }
4151//
4152// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
4153func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) {
4154	op := &request.Operation{
4155		Name:       opDescribeMaintenanceWindowExecutions,
4156		HTTPMethod: "POST",
4157		HTTPPath:   "/",
4158	}
4159
4160	if input == nil {
4161		input = &DescribeMaintenanceWindowExecutionsInput{}
4162	}
4163
4164	output = &DescribeMaintenanceWindowExecutionsOutput{}
4165	req = c.newRequest(op, input, output)
4166	return
4167}
4168
4169// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM).
4170//
4171// Lists the executions of a maintenance window. This includes information about
4172// when the maintenance window was scheduled to be active, and information about
4173// tasks registered and run with the maintenance window.
4174//
4175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4176// with awserr.Error's Code and Message methods to get detailed information about
4177// the error.
4178//
4179// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4180// API operation DescribeMaintenanceWindowExecutions for usage and error information.
4181//
4182// Returned Error Codes:
4183//   * ErrCodeInternalServerError "InternalServerError"
4184//   An error occurred on the server side.
4185//
4186// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
4187func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) {
4188	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
4189	return out, req.Send()
4190}
4191
4192// DescribeMaintenanceWindowExecutionsWithContext is the same as DescribeMaintenanceWindowExecutions with the addition of
4193// the ability to pass a context and additional request options.
4194//
4195// See DescribeMaintenanceWindowExecutions for details on how to use this API operation.
4196//
4197// The context must be non-nil and will be used for request cancellation. If
4198// the context is nil a panic will occur. In the future the SDK may create
4199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4200// for more information on using Contexts.
4201func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionsOutput, error) {
4202	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
4203	req.SetContext(ctx)
4204	req.ApplyOptions(opts...)
4205	return out, req.Send()
4206}
4207
4208const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule"
4209
4210// DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the
4211// client's request for the DescribeMaintenanceWindowSchedule operation. The "output" return
4212// value will be populated with the request's response once the request completes
4213// successfully.
4214//
4215// Use "Send" method on the returned Request to send the API call to the service.
4216// the "output" return value is not valid until after Send returns without error.
4217//
4218// See DescribeMaintenanceWindowSchedule for more information on using the DescribeMaintenanceWindowSchedule
4219// API call, and error handling.
4220//
4221// This method is useful when you want to inject custom logic or configuration
4222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4223//
4224//
4225//    // Example sending a request using the DescribeMaintenanceWindowScheduleRequest method.
4226//    req, resp := client.DescribeMaintenanceWindowScheduleRequest(params)
4227//
4228//    err := req.Send()
4229//    if err == nil { // resp is now filled
4230//        fmt.Println(resp)
4231//    }
4232//
4233// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
4234func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanceWindowScheduleInput) (req *request.Request, output *DescribeMaintenanceWindowScheduleOutput) {
4235	op := &request.Operation{
4236		Name:       opDescribeMaintenanceWindowSchedule,
4237		HTTPMethod: "POST",
4238		HTTPPath:   "/",
4239	}
4240
4241	if input == nil {
4242		input = &DescribeMaintenanceWindowScheduleInput{}
4243	}
4244
4245	output = &DescribeMaintenanceWindowScheduleOutput{}
4246	req = c.newRequest(op, input, output)
4247	return
4248}
4249
4250// DescribeMaintenanceWindowSchedule API operation for Amazon Simple Systems Manager (SSM).
4251//
4252// Retrieves information about upcoming executions of a maintenance window.
4253//
4254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4255// with awserr.Error's Code and Message methods to get detailed information about
4256// the error.
4257//
4258// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4259// API operation DescribeMaintenanceWindowSchedule for usage and error information.
4260//
4261// Returned Error Codes:
4262//   * ErrCodeInternalServerError "InternalServerError"
4263//   An error occurred on the server side.
4264//
4265//   * ErrCodeDoesNotExistException "DoesNotExistException"
4266//   Error returned when the ID specified for a resource, such as a maintenance
4267//   window or Patch baseline, doesn't exist.
4268//
4269//   For information about resource limits in Systems Manager, see AWS Systems
4270//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4271//
4272// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
4273func (c *SSM) DescribeMaintenanceWindowSchedule(input *DescribeMaintenanceWindowScheduleInput) (*DescribeMaintenanceWindowScheduleOutput, error) {
4274	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
4275	return out, req.Send()
4276}
4277
4278// DescribeMaintenanceWindowScheduleWithContext is the same as DescribeMaintenanceWindowSchedule with the addition of
4279// the ability to pass a context and additional request options.
4280//
4281// See DescribeMaintenanceWindowSchedule for details on how to use this API operation.
4282//
4283// The context must be non-nil and will be used for request cancellation. If
4284// the context is nil a panic will occur. In the future the SDK may create
4285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4286// for more information on using Contexts.
4287func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, opts ...request.Option) (*DescribeMaintenanceWindowScheduleOutput, error) {
4288	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
4289	req.SetContext(ctx)
4290	req.ApplyOptions(opts...)
4291	return out, req.Send()
4292}
4293
4294const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets"
4295
4296// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the
4297// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return
4298// value will be populated with the request's response once the request completes
4299// successfully.
4300//
4301// Use "Send" method on the returned Request to send the API call to the service.
4302// the "output" return value is not valid until after Send returns without error.
4303//
4304// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets
4305// API call, and error handling.
4306//
4307// This method is useful when you want to inject custom logic or configuration
4308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4309//
4310//
4311//    // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method.
4312//    req, resp := client.DescribeMaintenanceWindowTargetsRequest(params)
4313//
4314//    err := req.Send()
4315//    if err == nil { // resp is now filled
4316//        fmt.Println(resp)
4317//    }
4318//
4319// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
4320func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) {
4321	op := &request.Operation{
4322		Name:       opDescribeMaintenanceWindowTargets,
4323		HTTPMethod: "POST",
4324		HTTPPath:   "/",
4325	}
4326
4327	if input == nil {
4328		input = &DescribeMaintenanceWindowTargetsInput{}
4329	}
4330
4331	output = &DescribeMaintenanceWindowTargetsOutput{}
4332	req = c.newRequest(op, input, output)
4333	return
4334}
4335
4336// DescribeMaintenanceWindowTargets API operation for Amazon Simple Systems Manager (SSM).
4337//
4338// Lists the targets registered with the maintenance window.
4339//
4340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4341// with awserr.Error's Code and Message methods to get detailed information about
4342// the error.
4343//
4344// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4345// API operation DescribeMaintenanceWindowTargets for usage and error information.
4346//
4347// Returned Error Codes:
4348//   * ErrCodeDoesNotExistException "DoesNotExistException"
4349//   Error returned when the ID specified for a resource, such as a maintenance
4350//   window or Patch baseline, doesn't exist.
4351//
4352//   For information about resource limits in Systems Manager, see AWS Systems
4353//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4354//
4355//   * ErrCodeInternalServerError "InternalServerError"
4356//   An error occurred on the server side.
4357//
4358// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
4359func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) {
4360	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
4361	return out, req.Send()
4362}
4363
4364// DescribeMaintenanceWindowTargetsWithContext is the same as DescribeMaintenanceWindowTargets with the addition of
4365// the ability to pass a context and additional request options.
4366//
4367// See DescribeMaintenanceWindowTargets for details on how to use this API operation.
4368//
4369// The context must be non-nil and will be used for request cancellation. If
4370// the context is nil a panic will occur. In the future the SDK may create
4371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4372// for more information on using Contexts.
4373func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, opts ...request.Option) (*DescribeMaintenanceWindowTargetsOutput, error) {
4374	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
4375	req.SetContext(ctx)
4376	req.ApplyOptions(opts...)
4377	return out, req.Send()
4378}
4379
4380const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks"
4381
4382// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the
4383// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return
4384// value will be populated with the request's response once the request completes
4385// successfully.
4386//
4387// Use "Send" method on the returned Request to send the API call to the service.
4388// the "output" return value is not valid until after Send returns without error.
4389//
4390// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks
4391// API call, and error handling.
4392//
4393// This method is useful when you want to inject custom logic or configuration
4394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4395//
4396//
4397//    // Example sending a request using the DescribeMaintenanceWindowTasksRequest method.
4398//    req, resp := client.DescribeMaintenanceWindowTasksRequest(params)
4399//
4400//    err := req.Send()
4401//    if err == nil { // resp is now filled
4402//        fmt.Println(resp)
4403//    }
4404//
4405// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
4406func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) {
4407	op := &request.Operation{
4408		Name:       opDescribeMaintenanceWindowTasks,
4409		HTTPMethod: "POST",
4410		HTTPPath:   "/",
4411	}
4412
4413	if input == nil {
4414		input = &DescribeMaintenanceWindowTasksInput{}
4415	}
4416
4417	output = &DescribeMaintenanceWindowTasksOutput{}
4418	req = c.newRequest(op, input, output)
4419	return
4420}
4421
4422// DescribeMaintenanceWindowTasks API operation for Amazon Simple Systems Manager (SSM).
4423//
4424// Lists the tasks in a maintenance window.
4425//
4426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4427// with awserr.Error's Code and Message methods to get detailed information about
4428// the error.
4429//
4430// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4431// API operation DescribeMaintenanceWindowTasks for usage and error information.
4432//
4433// Returned Error Codes:
4434//   * ErrCodeDoesNotExistException "DoesNotExistException"
4435//   Error returned when the ID specified for a resource, such as a maintenance
4436//   window or Patch baseline, doesn't exist.
4437//
4438//   For information about resource limits in Systems Manager, see AWS Systems
4439//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4440//
4441//   * ErrCodeInternalServerError "InternalServerError"
4442//   An error occurred on the server side.
4443//
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
4445func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) {
4446	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
4447	return out, req.Send()
4448}
4449
4450// DescribeMaintenanceWindowTasksWithContext is the same as DescribeMaintenanceWindowTasks with the addition of
4451// the ability to pass a context and additional request options.
4452//
4453// See DescribeMaintenanceWindowTasks for details on how to use this API operation.
4454//
4455// The context must be non-nil and will be used for request cancellation. If
4456// the context is nil a panic will occur. In the future the SDK may create
4457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4458// for more information on using Contexts.
4459func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowTasksOutput, error) {
4460	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
4461	req.SetContext(ctx)
4462	req.ApplyOptions(opts...)
4463	return out, req.Send()
4464}
4465
4466const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows"
4467
4468// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the
4469// client's request for the DescribeMaintenanceWindows operation. The "output" return
4470// value will be populated with the request's response once the request completes
4471// successfully.
4472//
4473// Use "Send" method on the returned Request to send the API call to the service.
4474// the "output" return value is not valid until after Send returns without error.
4475//
4476// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows
4477// API call, and error handling.
4478//
4479// This method is useful when you want to inject custom logic or configuration
4480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4481//
4482//
4483//    // Example sending a request using the DescribeMaintenanceWindowsRequest method.
4484//    req, resp := client.DescribeMaintenanceWindowsRequest(params)
4485//
4486//    err := req.Send()
4487//    if err == nil { // resp is now filled
4488//        fmt.Println(resp)
4489//    }
4490//
4491// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
4492func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) {
4493	op := &request.Operation{
4494		Name:       opDescribeMaintenanceWindows,
4495		HTTPMethod: "POST",
4496		HTTPPath:   "/",
4497	}
4498
4499	if input == nil {
4500		input = &DescribeMaintenanceWindowsInput{}
4501	}
4502
4503	output = &DescribeMaintenanceWindowsOutput{}
4504	req = c.newRequest(op, input, output)
4505	return
4506}
4507
4508// DescribeMaintenanceWindows API operation for Amazon Simple Systems Manager (SSM).
4509//
4510// Retrieves the maintenance windows in an AWS account.
4511//
4512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4513// with awserr.Error's Code and Message methods to get detailed information about
4514// the error.
4515//
4516// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4517// API operation DescribeMaintenanceWindows for usage and error information.
4518//
4519// Returned Error Codes:
4520//   * ErrCodeInternalServerError "InternalServerError"
4521//   An error occurred on the server side.
4522//
4523// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
4524func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) {
4525	req, out := c.DescribeMaintenanceWindowsRequest(input)
4526	return out, req.Send()
4527}
4528
4529// DescribeMaintenanceWindowsWithContext is the same as DescribeMaintenanceWindows with the addition of
4530// the ability to pass a context and additional request options.
4531//
4532// See DescribeMaintenanceWindows for details on how to use this API operation.
4533//
4534// The context must be non-nil and will be used for request cancellation. If
4535// the context is nil a panic will occur. In the future the SDK may create
4536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4537// for more information on using Contexts.
4538func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, opts ...request.Option) (*DescribeMaintenanceWindowsOutput, error) {
4539	req, out := c.DescribeMaintenanceWindowsRequest(input)
4540	req.SetContext(ctx)
4541	req.ApplyOptions(opts...)
4542	return out, req.Send()
4543}
4544
4545const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget"
4546
4547// DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the
4548// client's request for the DescribeMaintenanceWindowsForTarget operation. The "output" return
4549// value will be populated with the request's response once the request completes
4550// successfully.
4551//
4552// Use "Send" method on the returned Request to send the API call to the service.
4553// the "output" return value is not valid until after Send returns without error.
4554//
4555// See DescribeMaintenanceWindowsForTarget for more information on using the DescribeMaintenanceWindowsForTarget
4556// API call, and error handling.
4557//
4558// This method is useful when you want to inject custom logic or configuration
4559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4560//
4561//
4562//    // Example sending a request using the DescribeMaintenanceWindowsForTargetRequest method.
4563//    req, resp := client.DescribeMaintenanceWindowsForTargetRequest(params)
4564//
4565//    err := req.Send()
4566//    if err == nil { // resp is now filled
4567//        fmt.Println(resp)
4568//    }
4569//
4570// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
4571func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintenanceWindowsForTargetInput) (req *request.Request, output *DescribeMaintenanceWindowsForTargetOutput) {
4572	op := &request.Operation{
4573		Name:       opDescribeMaintenanceWindowsForTarget,
4574		HTTPMethod: "POST",
4575		HTTPPath:   "/",
4576	}
4577
4578	if input == nil {
4579		input = &DescribeMaintenanceWindowsForTargetInput{}
4580	}
4581
4582	output = &DescribeMaintenanceWindowsForTargetOutput{}
4583	req = c.newRequest(op, input, output)
4584	return
4585}
4586
4587// DescribeMaintenanceWindowsForTarget API operation for Amazon Simple Systems Manager (SSM).
4588//
4589// Retrieves information about the maintenance window targets or tasks that
4590// an instance is associated with.
4591//
4592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4593// with awserr.Error's Code and Message methods to get detailed information about
4594// the error.
4595//
4596// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4597// API operation DescribeMaintenanceWindowsForTarget for usage and error information.
4598//
4599// Returned Error Codes:
4600//   * ErrCodeInternalServerError "InternalServerError"
4601//   An error occurred on the server side.
4602//
4603// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
4604func (c *SSM) DescribeMaintenanceWindowsForTarget(input *DescribeMaintenanceWindowsForTargetInput) (*DescribeMaintenanceWindowsForTargetOutput, error) {
4605	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
4606	return out, req.Send()
4607}
4608
4609// DescribeMaintenanceWindowsForTargetWithContext is the same as DescribeMaintenanceWindowsForTarget with the addition of
4610// the ability to pass a context and additional request options.
4611//
4612// See DescribeMaintenanceWindowsForTarget for details on how to use this API operation.
4613//
4614// The context must be non-nil and will be used for request cancellation. If
4615// the context is nil a panic will occur. In the future the SDK may create
4616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4617// for more information on using Contexts.
4618func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, opts ...request.Option) (*DescribeMaintenanceWindowsForTargetOutput, error) {
4619	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
4620	req.SetContext(ctx)
4621	req.ApplyOptions(opts...)
4622	return out, req.Send()
4623}
4624
4625const opDescribeOpsItems = "DescribeOpsItems"
4626
4627// DescribeOpsItemsRequest generates a "aws/request.Request" representing the
4628// client's request for the DescribeOpsItems operation. The "output" return
4629// value will be populated with the request's response once the request completes
4630// successfully.
4631//
4632// Use "Send" method on the returned Request to send the API call to the service.
4633// the "output" return value is not valid until after Send returns without error.
4634//
4635// See DescribeOpsItems for more information on using the DescribeOpsItems
4636// API call, and error handling.
4637//
4638// This method is useful when you want to inject custom logic or configuration
4639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4640//
4641//
4642//    // Example sending a request using the DescribeOpsItemsRequest method.
4643//    req, resp := client.DescribeOpsItemsRequest(params)
4644//
4645//    err := req.Send()
4646//    if err == nil { // resp is now filled
4647//        fmt.Println(resp)
4648//    }
4649//
4650// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
4651func (c *SSM) DescribeOpsItemsRequest(input *DescribeOpsItemsInput) (req *request.Request, output *DescribeOpsItemsOutput) {
4652	op := &request.Operation{
4653		Name:       opDescribeOpsItems,
4654		HTTPMethod: "POST",
4655		HTTPPath:   "/",
4656	}
4657
4658	if input == nil {
4659		input = &DescribeOpsItemsInput{}
4660	}
4661
4662	output = &DescribeOpsItemsOutput{}
4663	req = c.newRequest(op, input, output)
4664	return
4665}
4666
4667// DescribeOpsItems API operation for Amazon Simple Systems Manager (SSM).
4668//
4669// Query a set of OpsItems. You must have permission in AWS Identity and Access
4670// Management (IAM) to query a list of OpsItems. For more information, see Getting
4671// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
4672// in the AWS Systems Manager User Guide.
4673//
4674// Operations engineers and IT professionals use OpsCenter to view, investigate,
4675// and remediate operational issues impacting the performance and health of
4676// their AWS resources. For more information, see AWS Systems Manager OpsCenter
4677// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
4678// in the AWS Systems Manager User Guide.
4679//
4680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4681// with awserr.Error's Code and Message methods to get detailed information about
4682// the error.
4683//
4684// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4685// API operation DescribeOpsItems for usage and error information.
4686//
4687// Returned Error Codes:
4688//   * ErrCodeInternalServerError "InternalServerError"
4689//   An error occurred on the server side.
4690//
4691// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
4692func (c *SSM) DescribeOpsItems(input *DescribeOpsItemsInput) (*DescribeOpsItemsOutput, error) {
4693	req, out := c.DescribeOpsItemsRequest(input)
4694	return out, req.Send()
4695}
4696
4697// DescribeOpsItemsWithContext is the same as DescribeOpsItems with the addition of
4698// the ability to pass a context and additional request options.
4699//
4700// See DescribeOpsItems for details on how to use this API operation.
4701//
4702// The context must be non-nil and will be used for request cancellation. If
4703// the context is nil a panic will occur. In the future the SDK may create
4704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4705// for more information on using Contexts.
4706func (c *SSM) DescribeOpsItemsWithContext(ctx aws.Context, input *DescribeOpsItemsInput, opts ...request.Option) (*DescribeOpsItemsOutput, error) {
4707	req, out := c.DescribeOpsItemsRequest(input)
4708	req.SetContext(ctx)
4709	req.ApplyOptions(opts...)
4710	return out, req.Send()
4711}
4712
4713const opDescribeParameters = "DescribeParameters"
4714
4715// DescribeParametersRequest generates a "aws/request.Request" representing the
4716// client's request for the DescribeParameters operation. The "output" return
4717// value will be populated with the request's response once the request completes
4718// successfully.
4719//
4720// Use "Send" method on the returned Request to send the API call to the service.
4721// the "output" return value is not valid until after Send returns without error.
4722//
4723// See DescribeParameters for more information on using the DescribeParameters
4724// API call, and error handling.
4725//
4726// This method is useful when you want to inject custom logic or configuration
4727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4728//
4729//
4730//    // Example sending a request using the DescribeParametersRequest method.
4731//    req, resp := client.DescribeParametersRequest(params)
4732//
4733//    err := req.Send()
4734//    if err == nil { // resp is now filled
4735//        fmt.Println(resp)
4736//    }
4737//
4738// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
4739func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
4740	op := &request.Operation{
4741		Name:       opDescribeParameters,
4742		HTTPMethod: "POST",
4743		HTTPPath:   "/",
4744		Paginator: &request.Paginator{
4745			InputTokens:     []string{"NextToken"},
4746			OutputTokens:    []string{"NextToken"},
4747			LimitToken:      "MaxResults",
4748			TruncationToken: "",
4749		},
4750	}
4751
4752	if input == nil {
4753		input = &DescribeParametersInput{}
4754	}
4755
4756	output = &DescribeParametersOutput{}
4757	req = c.newRequest(op, input, output)
4758	return
4759}
4760
4761// DescribeParameters API operation for Amazon Simple Systems Manager (SSM).
4762//
4763// Get information about a parameter.
4764//
4765// Request results are returned on a best-effort basis. If you specify MaxResults
4766// in the request, the response includes information up to the limit specified.
4767// The number of items returned, however, can be between zero and the value
4768// of MaxResults. If the service reaches an internal limit while processing
4769// the results, it stops the operation and returns the matching values up to
4770// that point and a NextToken. You can specify the NextToken in a subsequent
4771// call to get the next set of results.
4772//
4773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4774// with awserr.Error's Code and Message methods to get detailed information about
4775// the error.
4776//
4777// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4778// API operation DescribeParameters for usage and error information.
4779//
4780// Returned Error Codes:
4781//   * ErrCodeInternalServerError "InternalServerError"
4782//   An error occurred on the server side.
4783//
4784//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
4785//   The specified key is not valid.
4786//
4787//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
4788//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
4789//   For Path filter, valid options are Recursive and OneLevel.
4790//
4791//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
4792//   The filter value is not valid. Verify the value and try again.
4793//
4794//   * ErrCodeInvalidNextToken "InvalidNextToken"
4795//   The specified token is not valid.
4796//
4797// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
4798func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
4799	req, out := c.DescribeParametersRequest(input)
4800	return out, req.Send()
4801}
4802
4803// DescribeParametersWithContext is the same as DescribeParameters with the addition of
4804// the ability to pass a context and additional request options.
4805//
4806// See DescribeParameters for details on how to use this API operation.
4807//
4808// The context must be non-nil and will be used for request cancellation. If
4809// the context is nil a panic will occur. In the future the SDK may create
4810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4811// for more information on using Contexts.
4812func (c *SSM) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
4813	req, out := c.DescribeParametersRequest(input)
4814	req.SetContext(ctx)
4815	req.ApplyOptions(opts...)
4816	return out, req.Send()
4817}
4818
4819// DescribeParametersPages iterates over the pages of a DescribeParameters operation,
4820// calling the "fn" function with the response data for each page. To stop
4821// iterating, return false from the fn function.
4822//
4823// See DescribeParameters method for more information on how to use this operation.
4824//
4825// Note: This operation can generate multiple requests to a service.
4826//
4827//    // Example iterating over at most 3 pages of a DescribeParameters operation.
4828//    pageNum := 0
4829//    err := client.DescribeParametersPages(params,
4830//        func(page *ssm.DescribeParametersOutput, lastPage bool) bool {
4831//            pageNum++
4832//            fmt.Println(page)
4833//            return pageNum <= 3
4834//        })
4835//
4836func (c *SSM) DescribeParametersPages(input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool) error {
4837	return c.DescribeParametersPagesWithContext(aws.BackgroundContext(), input, fn)
4838}
4839
4840// DescribeParametersPagesWithContext same as DescribeParametersPages except
4841// it takes a Context and allows setting request options on the pages.
4842//
4843// The context must be non-nil and will be used for request cancellation. If
4844// the context is nil a panic will occur. In the future the SDK may create
4845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4846// for more information on using Contexts.
4847func (c *SSM) DescribeParametersPagesWithContext(ctx aws.Context, input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool, opts ...request.Option) error {
4848	p := request.Pagination{
4849		NewRequest: func() (*request.Request, error) {
4850			var inCpy *DescribeParametersInput
4851			if input != nil {
4852				tmp := *input
4853				inCpy = &tmp
4854			}
4855			req, _ := c.DescribeParametersRequest(inCpy)
4856			req.SetContext(ctx)
4857			req.ApplyOptions(opts...)
4858			return req, nil
4859		},
4860	}
4861
4862	cont := true
4863	for p.Next() && cont {
4864		cont = fn(p.Page().(*DescribeParametersOutput), !p.HasNextPage())
4865	}
4866	return p.Err()
4867}
4868
4869const opDescribePatchBaselines = "DescribePatchBaselines"
4870
4871// DescribePatchBaselinesRequest generates a "aws/request.Request" representing the
4872// client's request for the DescribePatchBaselines operation. The "output" return
4873// value will be populated with the request's response once the request completes
4874// successfully.
4875//
4876// Use "Send" method on the returned Request to send the API call to the service.
4877// the "output" return value is not valid until after Send returns without error.
4878//
4879// See DescribePatchBaselines for more information on using the DescribePatchBaselines
4880// API call, and error handling.
4881//
4882// This method is useful when you want to inject custom logic or configuration
4883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4884//
4885//
4886//    // Example sending a request using the DescribePatchBaselinesRequest method.
4887//    req, resp := client.DescribePatchBaselinesRequest(params)
4888//
4889//    err := req.Send()
4890//    if err == nil { // resp is now filled
4891//        fmt.Println(resp)
4892//    }
4893//
4894// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
4895func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) (req *request.Request, output *DescribePatchBaselinesOutput) {
4896	op := &request.Operation{
4897		Name:       opDescribePatchBaselines,
4898		HTTPMethod: "POST",
4899		HTTPPath:   "/",
4900	}
4901
4902	if input == nil {
4903		input = &DescribePatchBaselinesInput{}
4904	}
4905
4906	output = &DescribePatchBaselinesOutput{}
4907	req = c.newRequest(op, input, output)
4908	return
4909}
4910
4911// DescribePatchBaselines API operation for Amazon Simple Systems Manager (SSM).
4912//
4913// Lists the patch baselines in your AWS account.
4914//
4915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4916// with awserr.Error's Code and Message methods to get detailed information about
4917// the error.
4918//
4919// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4920// API operation DescribePatchBaselines for usage and error information.
4921//
4922// Returned Error Codes:
4923//   * ErrCodeInternalServerError "InternalServerError"
4924//   An error occurred on the server side.
4925//
4926// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
4927func (c *SSM) DescribePatchBaselines(input *DescribePatchBaselinesInput) (*DescribePatchBaselinesOutput, error) {
4928	req, out := c.DescribePatchBaselinesRequest(input)
4929	return out, req.Send()
4930}
4931
4932// DescribePatchBaselinesWithContext is the same as DescribePatchBaselines with the addition of
4933// the ability to pass a context and additional request options.
4934//
4935// See DescribePatchBaselines for details on how to use this API operation.
4936//
4937// The context must be non-nil and will be used for request cancellation. If
4938// the context is nil a panic will occur. In the future the SDK may create
4939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4940// for more information on using Contexts.
4941func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, opts ...request.Option) (*DescribePatchBaselinesOutput, error) {
4942	req, out := c.DescribePatchBaselinesRequest(input)
4943	req.SetContext(ctx)
4944	req.ApplyOptions(opts...)
4945	return out, req.Send()
4946}
4947
4948const opDescribePatchGroupState = "DescribePatchGroupState"
4949
4950// DescribePatchGroupStateRequest generates a "aws/request.Request" representing the
4951// client's request for the DescribePatchGroupState operation. The "output" return
4952// value will be populated with the request's response once the request completes
4953// successfully.
4954//
4955// Use "Send" method on the returned Request to send the API call to the service.
4956// the "output" return value is not valid until after Send returns without error.
4957//
4958// See DescribePatchGroupState for more information on using the DescribePatchGroupState
4959// API call, and error handling.
4960//
4961// This method is useful when you want to inject custom logic or configuration
4962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4963//
4964//
4965//    // Example sending a request using the DescribePatchGroupStateRequest method.
4966//    req, resp := client.DescribePatchGroupStateRequest(params)
4967//
4968//    err := req.Send()
4969//    if err == nil { // resp is now filled
4970//        fmt.Println(resp)
4971//    }
4972//
4973// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
4974func (c *SSM) DescribePatchGroupStateRequest(input *DescribePatchGroupStateInput) (req *request.Request, output *DescribePatchGroupStateOutput) {
4975	op := &request.Operation{
4976		Name:       opDescribePatchGroupState,
4977		HTTPMethod: "POST",
4978		HTTPPath:   "/",
4979	}
4980
4981	if input == nil {
4982		input = &DescribePatchGroupStateInput{}
4983	}
4984
4985	output = &DescribePatchGroupStateOutput{}
4986	req = c.newRequest(op, input, output)
4987	return
4988}
4989
4990// DescribePatchGroupState API operation for Amazon Simple Systems Manager (SSM).
4991//
4992// Returns high-level aggregated patch compliance state for a patch group.
4993//
4994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4995// with awserr.Error's Code and Message methods to get detailed information about
4996// the error.
4997//
4998// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4999// API operation DescribePatchGroupState for usage and error information.
5000//
5001// Returned Error Codes:
5002//   * ErrCodeInternalServerError "InternalServerError"
5003//   An error occurred on the server side.
5004//
5005//   * ErrCodeInvalidNextToken "InvalidNextToken"
5006//   The specified token is not valid.
5007//
5008// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
5009func (c *SSM) DescribePatchGroupState(input *DescribePatchGroupStateInput) (*DescribePatchGroupStateOutput, error) {
5010	req, out := c.DescribePatchGroupStateRequest(input)
5011	return out, req.Send()
5012}
5013
5014// DescribePatchGroupStateWithContext is the same as DescribePatchGroupState with the addition of
5015// the ability to pass a context and additional request options.
5016//
5017// See DescribePatchGroupState for details on how to use this API operation.
5018//
5019// The context must be non-nil and will be used for request cancellation. If
5020// the context is nil a panic will occur. In the future the SDK may create
5021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5022// for more information on using Contexts.
5023func (c *SSM) DescribePatchGroupStateWithContext(ctx aws.Context, input *DescribePatchGroupStateInput, opts ...request.Option) (*DescribePatchGroupStateOutput, error) {
5024	req, out := c.DescribePatchGroupStateRequest(input)
5025	req.SetContext(ctx)
5026	req.ApplyOptions(opts...)
5027	return out, req.Send()
5028}
5029
5030const opDescribePatchGroups = "DescribePatchGroups"
5031
5032// DescribePatchGroupsRequest generates a "aws/request.Request" representing the
5033// client's request for the DescribePatchGroups operation. The "output" return
5034// value will be populated with the request's response once the request completes
5035// successfully.
5036//
5037// Use "Send" method on the returned Request to send the API call to the service.
5038// the "output" return value is not valid until after Send returns without error.
5039//
5040// See DescribePatchGroups for more information on using the DescribePatchGroups
5041// API call, and error handling.
5042//
5043// This method is useful when you want to inject custom logic or configuration
5044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5045//
5046//
5047//    // Example sending a request using the DescribePatchGroupsRequest method.
5048//    req, resp := client.DescribePatchGroupsRequest(params)
5049//
5050//    err := req.Send()
5051//    if err == nil { // resp is now filled
5052//        fmt.Println(resp)
5053//    }
5054//
5055// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
5056func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req *request.Request, output *DescribePatchGroupsOutput) {
5057	op := &request.Operation{
5058		Name:       opDescribePatchGroups,
5059		HTTPMethod: "POST",
5060		HTTPPath:   "/",
5061	}
5062
5063	if input == nil {
5064		input = &DescribePatchGroupsInput{}
5065	}
5066
5067	output = &DescribePatchGroupsOutput{}
5068	req = c.newRequest(op, input, output)
5069	return
5070}
5071
5072// DescribePatchGroups API operation for Amazon Simple Systems Manager (SSM).
5073//
5074// Lists all patch groups that have been registered with patch baselines.
5075//
5076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5077// with awserr.Error's Code and Message methods to get detailed information about
5078// the error.
5079//
5080// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5081// API operation DescribePatchGroups for usage and error information.
5082//
5083// Returned Error Codes:
5084//   * ErrCodeInternalServerError "InternalServerError"
5085//   An error occurred on the server side.
5086//
5087// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
5088func (c *SSM) DescribePatchGroups(input *DescribePatchGroupsInput) (*DescribePatchGroupsOutput, error) {
5089	req, out := c.DescribePatchGroupsRequest(input)
5090	return out, req.Send()
5091}
5092
5093// DescribePatchGroupsWithContext is the same as DescribePatchGroups with the addition of
5094// the ability to pass a context and additional request options.
5095//
5096// See DescribePatchGroups for details on how to use this API operation.
5097//
5098// The context must be non-nil and will be used for request cancellation. If
5099// the context is nil a panic will occur. In the future the SDK may create
5100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5101// for more information on using Contexts.
5102func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePatchGroupsInput, opts ...request.Option) (*DescribePatchGroupsOutput, error) {
5103	req, out := c.DescribePatchGroupsRequest(input)
5104	req.SetContext(ctx)
5105	req.ApplyOptions(opts...)
5106	return out, req.Send()
5107}
5108
5109const opDescribePatchProperties = "DescribePatchProperties"
5110
5111// DescribePatchPropertiesRequest generates a "aws/request.Request" representing the
5112// client's request for the DescribePatchProperties operation. The "output" return
5113// value will be populated with the request's response once the request completes
5114// successfully.
5115//
5116// Use "Send" method on the returned Request to send the API call to the service.
5117// the "output" return value is not valid until after Send returns without error.
5118//
5119// See DescribePatchProperties for more information on using the DescribePatchProperties
5120// API call, and error handling.
5121//
5122// This method is useful when you want to inject custom logic or configuration
5123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5124//
5125//
5126//    // Example sending a request using the DescribePatchPropertiesRequest method.
5127//    req, resp := client.DescribePatchPropertiesRequest(params)
5128//
5129//    err := req.Send()
5130//    if err == nil { // resp is now filled
5131//        fmt.Println(resp)
5132//    }
5133//
5134// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
5135func (c *SSM) DescribePatchPropertiesRequest(input *DescribePatchPropertiesInput) (req *request.Request, output *DescribePatchPropertiesOutput) {
5136	op := &request.Operation{
5137		Name:       opDescribePatchProperties,
5138		HTTPMethod: "POST",
5139		HTTPPath:   "/",
5140	}
5141
5142	if input == nil {
5143		input = &DescribePatchPropertiesInput{}
5144	}
5145
5146	output = &DescribePatchPropertiesOutput{}
5147	req = c.newRequest(op, input, output)
5148	return
5149}
5150
5151// DescribePatchProperties API operation for Amazon Simple Systems Manager (SSM).
5152//
5153// Lists the properties of available patches organized by product, product family,
5154// classification, severity, and other properties of available patches. You
5155// can use the reported properties in the filters you specify in requests for
5156// actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches,
5157// and DescribePatchBaselines.
5158//
5159// The following section lists the properties that can be used in filters for
5160// each major operating system type:
5161//
5162// WINDOWS
5163//
5164// Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY
5165//
5166// AMAZON_LINUX
5167//
5168// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5169//
5170// AMAZON_LINUX_2
5171//
5172// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5173//
5174// UBUNTU
5175//
5176// Valid properties: PRODUCT, PRIORITY
5177//
5178// REDHAT_ENTERPRISE_LINUX
5179//
5180// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5181//
5182// SUSE
5183//
5184// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5185//
5186// CENTOS
5187//
5188// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5189//
5190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5191// with awserr.Error's Code and Message methods to get detailed information about
5192// the error.
5193//
5194// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5195// API operation DescribePatchProperties for usage and error information.
5196//
5197// Returned Error Codes:
5198//   * ErrCodeInternalServerError "InternalServerError"
5199//   An error occurred on the server side.
5200//
5201// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
5202func (c *SSM) DescribePatchProperties(input *DescribePatchPropertiesInput) (*DescribePatchPropertiesOutput, error) {
5203	req, out := c.DescribePatchPropertiesRequest(input)
5204	return out, req.Send()
5205}
5206
5207// DescribePatchPropertiesWithContext is the same as DescribePatchProperties with the addition of
5208// the ability to pass a context and additional request options.
5209//
5210// See DescribePatchProperties for details on how to use this API operation.
5211//
5212// The context must be non-nil and will be used for request cancellation. If
5213// the context is nil a panic will occur. In the future the SDK may create
5214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5215// for more information on using Contexts.
5216func (c *SSM) DescribePatchPropertiesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, opts ...request.Option) (*DescribePatchPropertiesOutput, error) {
5217	req, out := c.DescribePatchPropertiesRequest(input)
5218	req.SetContext(ctx)
5219	req.ApplyOptions(opts...)
5220	return out, req.Send()
5221}
5222
5223const opDescribeSessions = "DescribeSessions"
5224
5225// DescribeSessionsRequest generates a "aws/request.Request" representing the
5226// client's request for the DescribeSessions operation. The "output" return
5227// value will be populated with the request's response once the request completes
5228// successfully.
5229//
5230// Use "Send" method on the returned Request to send the API call to the service.
5231// the "output" return value is not valid until after Send returns without error.
5232//
5233// See DescribeSessions for more information on using the DescribeSessions
5234// API call, and error handling.
5235//
5236// This method is useful when you want to inject custom logic or configuration
5237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5238//
5239//
5240//    // Example sending a request using the DescribeSessionsRequest method.
5241//    req, resp := client.DescribeSessionsRequest(params)
5242//
5243//    err := req.Send()
5244//    if err == nil { // resp is now filled
5245//        fmt.Println(resp)
5246//    }
5247//
5248// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
5249func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) {
5250	op := &request.Operation{
5251		Name:       opDescribeSessions,
5252		HTTPMethod: "POST",
5253		HTTPPath:   "/",
5254	}
5255
5256	if input == nil {
5257		input = &DescribeSessionsInput{}
5258	}
5259
5260	output = &DescribeSessionsOutput{}
5261	req = c.newRequest(op, input, output)
5262	return
5263}
5264
5265// DescribeSessions API operation for Amazon Simple Systems Manager (SSM).
5266//
5267// Retrieves a list of all active sessions (both connected and disconnected)
5268// or terminated sessions from the past 30 days.
5269//
5270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5271// with awserr.Error's Code and Message methods to get detailed information about
5272// the error.
5273//
5274// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5275// API operation DescribeSessions for usage and error information.
5276//
5277// Returned Error Codes:
5278//   * ErrCodeInternalServerError "InternalServerError"
5279//   An error occurred on the server side.
5280//
5281//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
5282//   The specified key is not valid.
5283//
5284//   * ErrCodeInvalidNextToken "InvalidNextToken"
5285//   The specified token is not valid.
5286//
5287// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
5288func (c *SSM) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) {
5289	req, out := c.DescribeSessionsRequest(input)
5290	return out, req.Send()
5291}
5292
5293// DescribeSessionsWithContext is the same as DescribeSessions with the addition of
5294// the ability to pass a context and additional request options.
5295//
5296// See DescribeSessions for details on how to use this API operation.
5297//
5298// The context must be non-nil and will be used for request cancellation. If
5299// the context is nil a panic will occur. In the future the SDK may create
5300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5301// for more information on using Contexts.
5302func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) {
5303	req, out := c.DescribeSessionsRequest(input)
5304	req.SetContext(ctx)
5305	req.ApplyOptions(opts...)
5306	return out, req.Send()
5307}
5308
5309const opGetAutomationExecution = "GetAutomationExecution"
5310
5311// GetAutomationExecutionRequest generates a "aws/request.Request" representing the
5312// client's request for the GetAutomationExecution operation. The "output" return
5313// value will be populated with the request's response once the request completes
5314// successfully.
5315//
5316// Use "Send" method on the returned Request to send the API call to the service.
5317// the "output" return value is not valid until after Send returns without error.
5318//
5319// See GetAutomationExecution for more information on using the GetAutomationExecution
5320// API call, and error handling.
5321//
5322// This method is useful when you want to inject custom logic or configuration
5323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5324//
5325//
5326//    // Example sending a request using the GetAutomationExecutionRequest method.
5327//    req, resp := client.GetAutomationExecutionRequest(params)
5328//
5329//    err := req.Send()
5330//    if err == nil { // resp is now filled
5331//        fmt.Println(resp)
5332//    }
5333//
5334// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
5335func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) {
5336	op := &request.Operation{
5337		Name:       opGetAutomationExecution,
5338		HTTPMethod: "POST",
5339		HTTPPath:   "/",
5340	}
5341
5342	if input == nil {
5343		input = &GetAutomationExecutionInput{}
5344	}
5345
5346	output = &GetAutomationExecutionOutput{}
5347	req = c.newRequest(op, input, output)
5348	return
5349}
5350
5351// GetAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
5352//
5353// Get detailed information about a particular Automation execution.
5354//
5355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5356// with awserr.Error's Code and Message methods to get detailed information about
5357// the error.
5358//
5359// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5360// API operation GetAutomationExecution for usage and error information.
5361//
5362// Returned Error Codes:
5363//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
5364//   There is no automation execution information for the requested automation
5365//   execution ID.
5366//
5367//   * ErrCodeInternalServerError "InternalServerError"
5368//   An error occurred on the server side.
5369//
5370// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
5371func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) {
5372	req, out := c.GetAutomationExecutionRequest(input)
5373	return out, req.Send()
5374}
5375
5376// GetAutomationExecutionWithContext is the same as GetAutomationExecution with the addition of
5377// the ability to pass a context and additional request options.
5378//
5379// See GetAutomationExecution for details on how to use this API operation.
5380//
5381// The context must be non-nil and will be used for request cancellation. If
5382// the context is nil a panic will occur. In the future the SDK may create
5383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5384// for more information on using Contexts.
5385func (c *SSM) GetAutomationExecutionWithContext(ctx aws.Context, input *GetAutomationExecutionInput, opts ...request.Option) (*GetAutomationExecutionOutput, error) {
5386	req, out := c.GetAutomationExecutionRequest(input)
5387	req.SetContext(ctx)
5388	req.ApplyOptions(opts...)
5389	return out, req.Send()
5390}
5391
5392const opGetCommandInvocation = "GetCommandInvocation"
5393
5394// GetCommandInvocationRequest generates a "aws/request.Request" representing the
5395// client's request for the GetCommandInvocation operation. The "output" return
5396// value will be populated with the request's response once the request completes
5397// successfully.
5398//
5399// Use "Send" method on the returned Request to send the API call to the service.
5400// the "output" return value is not valid until after Send returns without error.
5401//
5402// See GetCommandInvocation for more information on using the GetCommandInvocation
5403// API call, and error handling.
5404//
5405// This method is useful when you want to inject custom logic or configuration
5406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5407//
5408//
5409//    // Example sending a request using the GetCommandInvocationRequest method.
5410//    req, resp := client.GetCommandInvocationRequest(params)
5411//
5412//    err := req.Send()
5413//    if err == nil { // resp is now filled
5414//        fmt.Println(resp)
5415//    }
5416//
5417// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
5418func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) {
5419	op := &request.Operation{
5420		Name:       opGetCommandInvocation,
5421		HTTPMethod: "POST",
5422		HTTPPath:   "/",
5423	}
5424
5425	if input == nil {
5426		input = &GetCommandInvocationInput{}
5427	}
5428
5429	output = &GetCommandInvocationOutput{}
5430	req = c.newRequest(op, input, output)
5431	return
5432}
5433
5434// GetCommandInvocation API operation for Amazon Simple Systems Manager (SSM).
5435//
5436// Returns detailed information about command execution for an invocation or
5437// plugin.
5438//
5439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5440// with awserr.Error's Code and Message methods to get detailed information about
5441// the error.
5442//
5443// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5444// API operation GetCommandInvocation for usage and error information.
5445//
5446// Returned Error Codes:
5447//   * ErrCodeInternalServerError "InternalServerError"
5448//   An error occurred on the server side.
5449//
5450//   * ErrCodeInvalidCommandId "InvalidCommandId"
5451//
5452//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
5453//   The following problems can cause this exception:
5454//
5455//   You do not have permission to access the instance.
5456//
5457//   SSM Agent is not running. Verify that SSM Agent is running.
5458//
5459//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
5460//
5461//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
5462//   Stopping. Invalid states are: Shutting-down and Terminated.
5463//
5464//   * ErrCodeInvalidPluginName "InvalidPluginName"
5465//   The plugin name is not valid.
5466//
5467//   * ErrCodeInvocationDoesNotExist "InvocationDoesNotExist"
5468//   The command ID and instance ID you specified did not match any invocations.
5469//   Verify the command ID and the instance ID and try again.
5470//
5471// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
5472func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) {
5473	req, out := c.GetCommandInvocationRequest(input)
5474	return out, req.Send()
5475}
5476
5477// GetCommandInvocationWithContext is the same as GetCommandInvocation with the addition of
5478// the ability to pass a context and additional request options.
5479//
5480// See GetCommandInvocation for details on how to use this API operation.
5481//
5482// The context must be non-nil and will be used for request cancellation. If
5483// the context is nil a panic will occur. In the future the SDK may create
5484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5485// for more information on using Contexts.
5486func (c *SSM) GetCommandInvocationWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.Option) (*GetCommandInvocationOutput, error) {
5487	req, out := c.GetCommandInvocationRequest(input)
5488	req.SetContext(ctx)
5489	req.ApplyOptions(opts...)
5490	return out, req.Send()
5491}
5492
5493const opGetConnectionStatus = "GetConnectionStatus"
5494
5495// GetConnectionStatusRequest generates a "aws/request.Request" representing the
5496// client's request for the GetConnectionStatus operation. The "output" return
5497// value will be populated with the request's response once the request completes
5498// successfully.
5499//
5500// Use "Send" method on the returned Request to send the API call to the service.
5501// the "output" return value is not valid until after Send returns without error.
5502//
5503// See GetConnectionStatus for more information on using the GetConnectionStatus
5504// API call, and error handling.
5505//
5506// This method is useful when you want to inject custom logic or configuration
5507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5508//
5509//
5510//    // Example sending a request using the GetConnectionStatusRequest method.
5511//    req, resp := client.GetConnectionStatusRequest(params)
5512//
5513//    err := req.Send()
5514//    if err == nil { // resp is now filled
5515//        fmt.Println(resp)
5516//    }
5517//
5518// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
5519func (c *SSM) GetConnectionStatusRequest(input *GetConnectionStatusInput) (req *request.Request, output *GetConnectionStatusOutput) {
5520	op := &request.Operation{
5521		Name:       opGetConnectionStatus,
5522		HTTPMethod: "POST",
5523		HTTPPath:   "/",
5524	}
5525
5526	if input == nil {
5527		input = &GetConnectionStatusInput{}
5528	}
5529
5530	output = &GetConnectionStatusOutput{}
5531	req = c.newRequest(op, input, output)
5532	return
5533}
5534
5535// GetConnectionStatus API operation for Amazon Simple Systems Manager (SSM).
5536//
5537// Retrieves the Session Manager connection status for an instance to determine
5538// whether it is connected and ready to receive Session Manager connections.
5539//
5540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5541// with awserr.Error's Code and Message methods to get detailed information about
5542// the error.
5543//
5544// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5545// API operation GetConnectionStatus for usage and error information.
5546//
5547// Returned Error Codes:
5548//   * ErrCodeInternalServerError "InternalServerError"
5549//   An error occurred on the server side.
5550//
5551// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
5552func (c *SSM) GetConnectionStatus(input *GetConnectionStatusInput) (*GetConnectionStatusOutput, error) {
5553	req, out := c.GetConnectionStatusRequest(input)
5554	return out, req.Send()
5555}
5556
5557// GetConnectionStatusWithContext is the same as GetConnectionStatus with the addition of
5558// the ability to pass a context and additional request options.
5559//
5560// See GetConnectionStatus for details on how to use this API operation.
5561//
5562// The context must be non-nil and will be used for request cancellation. If
5563// the context is nil a panic will occur. In the future the SDK may create
5564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5565// for more information on using Contexts.
5566func (c *SSM) GetConnectionStatusWithContext(ctx aws.Context, input *GetConnectionStatusInput, opts ...request.Option) (*GetConnectionStatusOutput, error) {
5567	req, out := c.GetConnectionStatusRequest(input)
5568	req.SetContext(ctx)
5569	req.ApplyOptions(opts...)
5570	return out, req.Send()
5571}
5572
5573const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline"
5574
5575// GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
5576// client's request for the GetDefaultPatchBaseline operation. The "output" return
5577// value will be populated with the request's response once the request completes
5578// successfully.
5579//
5580// Use "Send" method on the returned Request to send the API call to the service.
5581// the "output" return value is not valid until after Send returns without error.
5582//
5583// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline
5584// API call, and error handling.
5585//
5586// This method is useful when you want to inject custom logic or configuration
5587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5588//
5589//
5590//    // Example sending a request using the GetDefaultPatchBaselineRequest method.
5591//    req, resp := client.GetDefaultPatchBaselineRequest(params)
5592//
5593//    err := req.Send()
5594//    if err == nil { // resp is now filled
5595//        fmt.Println(resp)
5596//    }
5597//
5598// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
5599func (c *SSM) GetDefaultPatchBaselineRequest(input *GetDefaultPatchBaselineInput) (req *request.Request, output *GetDefaultPatchBaselineOutput) {
5600	op := &request.Operation{
5601		Name:       opGetDefaultPatchBaseline,
5602		HTTPMethod: "POST",
5603		HTTPPath:   "/",
5604	}
5605
5606	if input == nil {
5607		input = &GetDefaultPatchBaselineInput{}
5608	}
5609
5610	output = &GetDefaultPatchBaselineOutput{}
5611	req = c.newRequest(op, input, output)
5612	return
5613}
5614
5615// GetDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
5616//
5617// Retrieves the default patch baseline. Note that Systems Manager supports
5618// creating multiple default patch baselines. For example, you can create a
5619// default patch baseline for each operating system.
5620//
5621// If you do not specify an operating system value, the default patch baseline
5622// for Windows is returned.
5623//
5624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5625// with awserr.Error's Code and Message methods to get detailed information about
5626// the error.
5627//
5628// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5629// API operation GetDefaultPatchBaseline for usage and error information.
5630//
5631// Returned Error Codes:
5632//   * ErrCodeInternalServerError "InternalServerError"
5633//   An error occurred on the server side.
5634//
5635// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
5636func (c *SSM) GetDefaultPatchBaseline(input *GetDefaultPatchBaselineInput) (*GetDefaultPatchBaselineOutput, error) {
5637	req, out := c.GetDefaultPatchBaselineRequest(input)
5638	return out, req.Send()
5639}
5640
5641// GetDefaultPatchBaselineWithContext is the same as GetDefaultPatchBaseline with the addition of
5642// the ability to pass a context and additional request options.
5643//
5644// See GetDefaultPatchBaseline for details on how to use this API operation.
5645//
5646// The context must be non-nil and will be used for request cancellation. If
5647// the context is nil a panic will occur. In the future the SDK may create
5648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5649// for more information on using Contexts.
5650func (c *SSM) GetDefaultPatchBaselineWithContext(ctx aws.Context, input *GetDefaultPatchBaselineInput, opts ...request.Option) (*GetDefaultPatchBaselineOutput, error) {
5651	req, out := c.GetDefaultPatchBaselineRequest(input)
5652	req.SetContext(ctx)
5653	req.ApplyOptions(opts...)
5654	return out, req.Send()
5655}
5656
5657const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForInstance"
5658
5659// GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the
5660// client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return
5661// value will be populated with the request's response once the request completes
5662// successfully.
5663//
5664// Use "Send" method on the returned Request to send the API call to the service.
5665// the "output" return value is not valid until after Send returns without error.
5666//
5667// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance
5668// API call, and error handling.
5669//
5670// This method is useful when you want to inject custom logic or configuration
5671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5672//
5673//
5674//    // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method.
5675//    req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params)
5676//
5677//    err := req.Send()
5678//    if err == nil { // resp is now filled
5679//        fmt.Println(resp)
5680//    }
5681//
5682// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
5683func (c *SSM) GetDeployablePatchSnapshotForInstanceRequest(input *GetDeployablePatchSnapshotForInstanceInput) (req *request.Request, output *GetDeployablePatchSnapshotForInstanceOutput) {
5684	op := &request.Operation{
5685		Name:       opGetDeployablePatchSnapshotForInstance,
5686		HTTPMethod: "POST",
5687		HTTPPath:   "/",
5688	}
5689
5690	if input == nil {
5691		input = &GetDeployablePatchSnapshotForInstanceInput{}
5692	}
5693
5694	output = &GetDeployablePatchSnapshotForInstanceOutput{}
5695	req = c.newRequest(op, input, output)
5696	return
5697}
5698
5699// GetDeployablePatchSnapshotForInstance API operation for Amazon Simple Systems Manager (SSM).
5700//
5701// Retrieves the current snapshot for the patch baseline the instance uses.
5702// This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.
5703//
5704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5705// with awserr.Error's Code and Message methods to get detailed information about
5706// the error.
5707//
5708// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5709// API operation GetDeployablePatchSnapshotForInstance for usage and error information.
5710//
5711// Returned Error Codes:
5712//   * ErrCodeInternalServerError "InternalServerError"
5713//   An error occurred on the server side.
5714//
5715//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
5716//   The operating systems you specified is not supported, or the operation is
5717//   not supported for the operating system. Valid operating systems include:
5718//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
5719//
5720//   * ErrCodeUnsupportedFeatureRequiredException "UnsupportedFeatureRequiredException"
5721//   Microsoft application patching is only available on EC2 instances and Advanced
5722//   Instances. To patch Microsoft applications on on-premises servers and VMs,
5723//   you must enable Advanced Instances. For more information, see Using the Advanced-Instances
5724//   Tier (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances-advanced.html)
5725//   in the AWS Systems Manager User Guide.
5726//
5727// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
5728func (c *SSM) GetDeployablePatchSnapshotForInstance(input *GetDeployablePatchSnapshotForInstanceInput) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
5729	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
5730	return out, req.Send()
5731}
5732
5733// GetDeployablePatchSnapshotForInstanceWithContext is the same as GetDeployablePatchSnapshotForInstance with the addition of
5734// the ability to pass a context and additional request options.
5735//
5736// See GetDeployablePatchSnapshotForInstance for details on how to use this API operation.
5737//
5738// The context must be non-nil and will be used for request cancellation. If
5739// the context is nil a panic will occur. In the future the SDK may create
5740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5741// for more information on using Contexts.
5742func (c *SSM) GetDeployablePatchSnapshotForInstanceWithContext(ctx aws.Context, input *GetDeployablePatchSnapshotForInstanceInput, opts ...request.Option) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
5743	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
5744	req.SetContext(ctx)
5745	req.ApplyOptions(opts...)
5746	return out, req.Send()
5747}
5748
5749const opGetDocument = "GetDocument"
5750
5751// GetDocumentRequest generates a "aws/request.Request" representing the
5752// client's request for the GetDocument operation. The "output" return
5753// value will be populated with the request's response once the request completes
5754// successfully.
5755//
5756// Use "Send" method on the returned Request to send the API call to the service.
5757// the "output" return value is not valid until after Send returns without error.
5758//
5759// See GetDocument for more information on using the GetDocument
5760// API call, and error handling.
5761//
5762// This method is useful when you want to inject custom logic or configuration
5763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5764//
5765//
5766//    // Example sending a request using the GetDocumentRequest method.
5767//    req, resp := client.GetDocumentRequest(params)
5768//
5769//    err := req.Send()
5770//    if err == nil { // resp is now filled
5771//        fmt.Println(resp)
5772//    }
5773//
5774// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
5775func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
5776	op := &request.Operation{
5777		Name:       opGetDocument,
5778		HTTPMethod: "POST",
5779		HTTPPath:   "/",
5780	}
5781
5782	if input == nil {
5783		input = &GetDocumentInput{}
5784	}
5785
5786	output = &GetDocumentOutput{}
5787	req = c.newRequest(op, input, output)
5788	return
5789}
5790
5791// GetDocument API operation for Amazon Simple Systems Manager (SSM).
5792//
5793// Gets the contents of the specified Systems Manager document.
5794//
5795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5796// with awserr.Error's Code and Message methods to get detailed information about
5797// the error.
5798//
5799// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5800// API operation GetDocument for usage and error information.
5801//
5802// Returned Error Codes:
5803//   * ErrCodeInternalServerError "InternalServerError"
5804//   An error occurred on the server side.
5805//
5806//   * ErrCodeInvalidDocument "InvalidDocument"
5807//   The specified document does not exist.
5808//
5809//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
5810//   The document version is not valid or does not exist.
5811//
5812// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
5813func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
5814	req, out := c.GetDocumentRequest(input)
5815	return out, req.Send()
5816}
5817
5818// GetDocumentWithContext is the same as GetDocument with the addition of
5819// the ability to pass a context and additional request options.
5820//
5821// See GetDocument for details on how to use this API operation.
5822//
5823// The context must be non-nil and will be used for request cancellation. If
5824// the context is nil a panic will occur. In the future the SDK may create
5825// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5826// for more information on using Contexts.
5827func (c *SSM) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
5828	req, out := c.GetDocumentRequest(input)
5829	req.SetContext(ctx)
5830	req.ApplyOptions(opts...)
5831	return out, req.Send()
5832}
5833
5834const opGetInventory = "GetInventory"
5835
5836// GetInventoryRequest generates a "aws/request.Request" representing the
5837// client's request for the GetInventory operation. The "output" return
5838// value will be populated with the request's response once the request completes
5839// successfully.
5840//
5841// Use "Send" method on the returned Request to send the API call to the service.
5842// the "output" return value is not valid until after Send returns without error.
5843//
5844// See GetInventory for more information on using the GetInventory
5845// API call, and error handling.
5846//
5847// This method is useful when you want to inject custom logic or configuration
5848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5849//
5850//
5851//    // Example sending a request using the GetInventoryRequest method.
5852//    req, resp := client.GetInventoryRequest(params)
5853//
5854//    err := req.Send()
5855//    if err == nil { // resp is now filled
5856//        fmt.Println(resp)
5857//    }
5858//
5859// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
5860func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) {
5861	op := &request.Operation{
5862		Name:       opGetInventory,
5863		HTTPMethod: "POST",
5864		HTTPPath:   "/",
5865	}
5866
5867	if input == nil {
5868		input = &GetInventoryInput{}
5869	}
5870
5871	output = &GetInventoryOutput{}
5872	req = c.newRequest(op, input, output)
5873	return
5874}
5875
5876// GetInventory API operation for Amazon Simple Systems Manager (SSM).
5877//
5878// Query inventory information.
5879//
5880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5881// with awserr.Error's Code and Message methods to get detailed information about
5882// the error.
5883//
5884// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5885// API operation GetInventory for usage and error information.
5886//
5887// Returned Error Codes:
5888//   * ErrCodeInternalServerError "InternalServerError"
5889//   An error occurred on the server side.
5890//
5891//   * ErrCodeInvalidFilter "InvalidFilter"
5892//   The filter name is not valid. Verify the you entered the correct name and
5893//   try again.
5894//
5895//   * ErrCodeInvalidInventoryGroupException "InvalidInventoryGroupException"
5896//   The specified inventory group is not valid.
5897//
5898//   * ErrCodeInvalidNextToken "InvalidNextToken"
5899//   The specified token is not valid.
5900//
5901//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
5902//   The parameter type name is not valid.
5903//
5904//   * ErrCodeInvalidAggregatorException "InvalidAggregatorException"
5905//   The specified aggregator is not valid for inventory groups. Verify that the
5906//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
5907//
5908//   * ErrCodeInvalidResultAttributeException "InvalidResultAttributeException"
5909//   The specified inventory item result attribute is not valid.
5910//
5911// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
5912func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) {
5913	req, out := c.GetInventoryRequest(input)
5914	return out, req.Send()
5915}
5916
5917// GetInventoryWithContext is the same as GetInventory with the addition of
5918// the ability to pass a context and additional request options.
5919//
5920// See GetInventory for details on how to use this API operation.
5921//
5922// The context must be non-nil and will be used for request cancellation. If
5923// the context is nil a panic will occur. In the future the SDK may create
5924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5925// for more information on using Contexts.
5926func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, opts ...request.Option) (*GetInventoryOutput, error) {
5927	req, out := c.GetInventoryRequest(input)
5928	req.SetContext(ctx)
5929	req.ApplyOptions(opts...)
5930	return out, req.Send()
5931}
5932
5933const opGetInventorySchema = "GetInventorySchema"
5934
5935// GetInventorySchemaRequest generates a "aws/request.Request" representing the
5936// client's request for the GetInventorySchema operation. The "output" return
5937// value will be populated with the request's response once the request completes
5938// successfully.
5939//
5940// Use "Send" method on the returned Request to send the API call to the service.
5941// the "output" return value is not valid until after Send returns without error.
5942//
5943// See GetInventorySchema for more information on using the GetInventorySchema
5944// API call, and error handling.
5945//
5946// This method is useful when you want to inject custom logic or configuration
5947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5948//
5949//
5950//    // Example sending a request using the GetInventorySchemaRequest method.
5951//    req, resp := client.GetInventorySchemaRequest(params)
5952//
5953//    err := req.Send()
5954//    if err == nil { // resp is now filled
5955//        fmt.Println(resp)
5956//    }
5957//
5958// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
5959func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) {
5960	op := &request.Operation{
5961		Name:       opGetInventorySchema,
5962		HTTPMethod: "POST",
5963		HTTPPath:   "/",
5964	}
5965
5966	if input == nil {
5967		input = &GetInventorySchemaInput{}
5968	}
5969
5970	output = &GetInventorySchemaOutput{}
5971	req = c.newRequest(op, input, output)
5972	return
5973}
5974
5975// GetInventorySchema API operation for Amazon Simple Systems Manager (SSM).
5976//
5977// Return a list of inventory type names for the account, or return a list of
5978// attribute names for a specific Inventory item type.
5979//
5980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5981// with awserr.Error's Code and Message methods to get detailed information about
5982// the error.
5983//
5984// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5985// API operation GetInventorySchema for usage and error information.
5986//
5987// Returned Error Codes:
5988//   * ErrCodeInternalServerError "InternalServerError"
5989//   An error occurred on the server side.
5990//
5991//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
5992//   The parameter type name is not valid.
5993//
5994//   * ErrCodeInvalidNextToken "InvalidNextToken"
5995//   The specified token is not valid.
5996//
5997// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
5998func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) {
5999	req, out := c.GetInventorySchemaRequest(input)
6000	return out, req.Send()
6001}
6002
6003// GetInventorySchemaWithContext is the same as GetInventorySchema with the addition of
6004// the ability to pass a context and additional request options.
6005//
6006// See GetInventorySchema for details on how to use this API operation.
6007//
6008// The context must be non-nil and will be used for request cancellation. If
6009// the context is nil a panic will occur. In the future the SDK may create
6010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6011// for more information on using Contexts.
6012func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventorySchemaInput, opts ...request.Option) (*GetInventorySchemaOutput, error) {
6013	req, out := c.GetInventorySchemaRequest(input)
6014	req.SetContext(ctx)
6015	req.ApplyOptions(opts...)
6016	return out, req.Send()
6017}
6018
6019const opGetMaintenanceWindow = "GetMaintenanceWindow"
6020
6021// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the
6022// client's request for the GetMaintenanceWindow operation. The "output" return
6023// value will be populated with the request's response once the request completes
6024// successfully.
6025//
6026// Use "Send" method on the returned Request to send the API call to the service.
6027// the "output" return value is not valid until after Send returns without error.
6028//
6029// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow
6030// API call, and error handling.
6031//
6032// This method is useful when you want to inject custom logic or configuration
6033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6034//
6035//
6036//    // Example sending a request using the GetMaintenanceWindowRequest method.
6037//    req, resp := client.GetMaintenanceWindowRequest(params)
6038//
6039//    err := req.Send()
6040//    if err == nil { // resp is now filled
6041//        fmt.Println(resp)
6042//    }
6043//
6044// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
6045func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) {
6046	op := &request.Operation{
6047		Name:       opGetMaintenanceWindow,
6048		HTTPMethod: "POST",
6049		HTTPPath:   "/",
6050	}
6051
6052	if input == nil {
6053		input = &GetMaintenanceWindowInput{}
6054	}
6055
6056	output = &GetMaintenanceWindowOutput{}
6057	req = c.newRequest(op, input, output)
6058	return
6059}
6060
6061// GetMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
6062//
6063// Retrieves a maintenance window.
6064//
6065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6066// with awserr.Error's Code and Message methods to get detailed information about
6067// the error.
6068//
6069// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6070// API operation GetMaintenanceWindow for usage and error information.
6071//
6072// Returned Error Codes:
6073//   * ErrCodeDoesNotExistException "DoesNotExistException"
6074//   Error returned when the ID specified for a resource, such as a maintenance
6075//   window or Patch baseline, doesn't exist.
6076//
6077//   For information about resource limits in Systems Manager, see AWS Systems
6078//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6079//
6080//   * ErrCodeInternalServerError "InternalServerError"
6081//   An error occurred on the server side.
6082//
6083// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
6084func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) {
6085	req, out := c.GetMaintenanceWindowRequest(input)
6086	return out, req.Send()
6087}
6088
6089// GetMaintenanceWindowWithContext is the same as GetMaintenanceWindow with the addition of
6090// the ability to pass a context and additional request options.
6091//
6092// See GetMaintenanceWindow for details on how to use this API operation.
6093//
6094// The context must be non-nil and will be used for request cancellation. If
6095// the context is nil a panic will occur. In the future the SDK may create
6096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6097// for more information on using Contexts.
6098func (c *SSM) GetMaintenanceWindowWithContext(ctx aws.Context, input *GetMaintenanceWindowInput, opts ...request.Option) (*GetMaintenanceWindowOutput, error) {
6099	req, out := c.GetMaintenanceWindowRequest(input)
6100	req.SetContext(ctx)
6101	req.ApplyOptions(opts...)
6102	return out, req.Send()
6103}
6104
6105const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution"
6106
6107// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
6108// client's request for the GetMaintenanceWindowExecution operation. The "output" return
6109// value will be populated with the request's response once the request completes
6110// successfully.
6111//
6112// Use "Send" method on the returned Request to send the API call to the service.
6113// the "output" return value is not valid until after Send returns without error.
6114//
6115// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution
6116// API call, and error handling.
6117//
6118// This method is useful when you want to inject custom logic or configuration
6119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6120//
6121//
6122//    // Example sending a request using the GetMaintenanceWindowExecutionRequest method.
6123//    req, resp := client.GetMaintenanceWindowExecutionRequest(params)
6124//
6125//    err := req.Send()
6126//    if err == nil { // resp is now filled
6127//        fmt.Println(resp)
6128//    }
6129//
6130// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
6131func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) {
6132	op := &request.Operation{
6133		Name:       opGetMaintenanceWindowExecution,
6134		HTTPMethod: "POST",
6135		HTTPPath:   "/",
6136	}
6137
6138	if input == nil {
6139		input = &GetMaintenanceWindowExecutionInput{}
6140	}
6141
6142	output = &GetMaintenanceWindowExecutionOutput{}
6143	req = c.newRequest(op, input, output)
6144	return
6145}
6146
6147// GetMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
6148//
6149// Retrieves details about a specific a maintenance window execution.
6150//
6151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6152// with awserr.Error's Code and Message methods to get detailed information about
6153// the error.
6154//
6155// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6156// API operation GetMaintenanceWindowExecution for usage and error information.
6157//
6158// Returned Error Codes:
6159//   * ErrCodeDoesNotExistException "DoesNotExistException"
6160//   Error returned when the ID specified for a resource, such as a maintenance
6161//   window or Patch baseline, doesn't exist.
6162//
6163//   For information about resource limits in Systems Manager, see AWS Systems
6164//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6165//
6166//   * ErrCodeInternalServerError "InternalServerError"
6167//   An error occurred on the server side.
6168//
6169// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
6170func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) {
6171	req, out := c.GetMaintenanceWindowExecutionRequest(input)
6172	return out, req.Send()
6173}
6174
6175// GetMaintenanceWindowExecutionWithContext is the same as GetMaintenanceWindowExecution with the addition of
6176// the ability to pass a context and additional request options.
6177//
6178// See GetMaintenanceWindowExecution for details on how to use this API operation.
6179//
6180// The context must be non-nil and will be used for request cancellation. If
6181// the context is nil a panic will occur. In the future the SDK may create
6182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6183// for more information on using Contexts.
6184func (c *SSM) GetMaintenanceWindowExecutionWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionInput, opts ...request.Option) (*GetMaintenanceWindowExecutionOutput, error) {
6185	req, out := c.GetMaintenanceWindowExecutionRequest(input)
6186	req.SetContext(ctx)
6187	req.ApplyOptions(opts...)
6188	return out, req.Send()
6189}
6190
6191const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask"
6192
6193// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the
6194// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return
6195// value will be populated with the request's response once the request completes
6196// successfully.
6197//
6198// Use "Send" method on the returned Request to send the API call to the service.
6199// the "output" return value is not valid until after Send returns without error.
6200//
6201// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask
6202// API call, and error handling.
6203//
6204// This method is useful when you want to inject custom logic or configuration
6205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6206//
6207//
6208//    // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method.
6209//    req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params)
6210//
6211//    err := req.Send()
6212//    if err == nil { // resp is now filled
6213//        fmt.Println(resp)
6214//    }
6215//
6216// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
6217func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) {
6218	op := &request.Operation{
6219		Name:       opGetMaintenanceWindowExecutionTask,
6220		HTTPMethod: "POST",
6221		HTTPPath:   "/",
6222	}
6223
6224	if input == nil {
6225		input = &GetMaintenanceWindowExecutionTaskInput{}
6226	}
6227
6228	output = &GetMaintenanceWindowExecutionTaskOutput{}
6229	req = c.newRequest(op, input, output)
6230	return
6231}
6232
6233// GetMaintenanceWindowExecutionTask API operation for Amazon Simple Systems Manager (SSM).
6234//
6235// Retrieves the details about a specific task run as part of a maintenance
6236// window execution.
6237//
6238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6239// with awserr.Error's Code and Message methods to get detailed information about
6240// the error.
6241//
6242// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6243// API operation GetMaintenanceWindowExecutionTask for usage and error information.
6244//
6245// Returned Error Codes:
6246//   * ErrCodeDoesNotExistException "DoesNotExistException"
6247//   Error returned when the ID specified for a resource, such as a maintenance
6248//   window or Patch baseline, doesn't exist.
6249//
6250//   For information about resource limits in Systems Manager, see AWS Systems
6251//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6252//
6253//   * ErrCodeInternalServerError "InternalServerError"
6254//   An error occurred on the server side.
6255//
6256// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
6257func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) {
6258	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
6259	return out, req.Send()
6260}
6261
6262// GetMaintenanceWindowExecutionTaskWithContext is the same as GetMaintenanceWindowExecutionTask with the addition of
6263// the ability to pass a context and additional request options.
6264//
6265// See GetMaintenanceWindowExecutionTask for details on how to use this API operation.
6266//
6267// The context must be non-nil and will be used for request cancellation. If
6268// the context is nil a panic will occur. In the future the SDK may create
6269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6270// for more information on using Contexts.
6271func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskOutput, error) {
6272	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
6273	req.SetContext(ctx)
6274	req.ApplyOptions(opts...)
6275	return out, req.Send()
6276}
6277
6278const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation"
6279
6280// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the
6281// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return
6282// value will be populated with the request's response once the request completes
6283// successfully.
6284//
6285// Use "Send" method on the returned Request to send the API call to the service.
6286// the "output" return value is not valid until after Send returns without error.
6287//
6288// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation
6289// API call, and error handling.
6290//
6291// This method is useful when you want to inject custom logic or configuration
6292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6293//
6294//
6295//    // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method.
6296//    req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params)
6297//
6298//    err := req.Send()
6299//    if err == nil { // resp is now filled
6300//        fmt.Println(resp)
6301//    }
6302//
6303// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
6304func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) {
6305	op := &request.Operation{
6306		Name:       opGetMaintenanceWindowExecutionTaskInvocation,
6307		HTTPMethod: "POST",
6308		HTTPPath:   "/",
6309	}
6310
6311	if input == nil {
6312		input = &GetMaintenanceWindowExecutionTaskInvocationInput{}
6313	}
6314
6315	output = &GetMaintenanceWindowExecutionTaskInvocationOutput{}
6316	req = c.newRequest(op, input, output)
6317	return
6318}
6319
6320// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM).
6321//
6322// Retrieves information about a specific task running on a specific target.
6323//
6324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6325// with awserr.Error's Code and Message methods to get detailed information about
6326// the error.
6327//
6328// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6329// API operation GetMaintenanceWindowExecutionTaskInvocation for usage and error information.
6330//
6331// Returned Error Codes:
6332//   * ErrCodeDoesNotExistException "DoesNotExistException"
6333//   Error returned when the ID specified for a resource, such as a maintenance
6334//   window or Patch baseline, doesn't exist.
6335//
6336//   For information about resource limits in Systems Manager, see AWS Systems
6337//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6338//
6339//   * ErrCodeInternalServerError "InternalServerError"
6340//   An error occurred on the server side.
6341//
6342// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
6343func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
6344	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
6345	return out, req.Send()
6346}
6347
6348// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of
6349// the ability to pass a context and additional request options.
6350//
6351// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation.
6352//
6353// The context must be non-nil and will be used for request cancellation. If
6354// the context is nil a panic will occur. In the future the SDK may create
6355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6356// for more information on using Contexts.
6357func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
6358	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
6359	req.SetContext(ctx)
6360	req.ApplyOptions(opts...)
6361	return out, req.Send()
6362}
6363
6364const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask"
6365
6366// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
6367// client's request for the GetMaintenanceWindowTask operation. The "output" return
6368// value will be populated with the request's response once the request completes
6369// successfully.
6370//
6371// Use "Send" method on the returned Request to send the API call to the service.
6372// the "output" return value is not valid until after Send returns without error.
6373//
6374// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask
6375// API call, and error handling.
6376//
6377// This method is useful when you want to inject custom logic or configuration
6378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6379//
6380//
6381//    // Example sending a request using the GetMaintenanceWindowTaskRequest method.
6382//    req, resp := client.GetMaintenanceWindowTaskRequest(params)
6383//
6384//    err := req.Send()
6385//    if err == nil { // resp is now filled
6386//        fmt.Println(resp)
6387//    }
6388//
6389// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
6390func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) {
6391	op := &request.Operation{
6392		Name:       opGetMaintenanceWindowTask,
6393		HTTPMethod: "POST",
6394		HTTPPath:   "/",
6395	}
6396
6397	if input == nil {
6398		input = &GetMaintenanceWindowTaskInput{}
6399	}
6400
6401	output = &GetMaintenanceWindowTaskOutput{}
6402	req = c.newRequest(op, input, output)
6403	return
6404}
6405
6406// GetMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
6407//
6408// Lists the tasks in a maintenance window.
6409//
6410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6411// with awserr.Error's Code and Message methods to get detailed information about
6412// the error.
6413//
6414// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6415// API operation GetMaintenanceWindowTask for usage and error information.
6416//
6417// Returned Error Codes:
6418//   * ErrCodeDoesNotExistException "DoesNotExistException"
6419//   Error returned when the ID specified for a resource, such as a maintenance
6420//   window or Patch baseline, doesn't exist.
6421//
6422//   For information about resource limits in Systems Manager, see AWS Systems
6423//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6424//
6425//   * ErrCodeInternalServerError "InternalServerError"
6426//   An error occurred on the server side.
6427//
6428// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
6429func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) {
6430	req, out := c.GetMaintenanceWindowTaskRequest(input)
6431	return out, req.Send()
6432}
6433
6434// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of
6435// the ability to pass a context and additional request options.
6436//
6437// See GetMaintenanceWindowTask for details on how to use this API operation.
6438//
6439// The context must be non-nil and will be used for request cancellation. If
6440// the context is nil a panic will occur. In the future the SDK may create
6441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6442// for more information on using Contexts.
6443func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) {
6444	req, out := c.GetMaintenanceWindowTaskRequest(input)
6445	req.SetContext(ctx)
6446	req.ApplyOptions(opts...)
6447	return out, req.Send()
6448}
6449
6450const opGetOpsItem = "GetOpsItem"
6451
6452// GetOpsItemRequest generates a "aws/request.Request" representing the
6453// client's request for the GetOpsItem operation. The "output" return
6454// value will be populated with the request's response once the request completes
6455// successfully.
6456//
6457// Use "Send" method on the returned Request to send the API call to the service.
6458// the "output" return value is not valid until after Send returns without error.
6459//
6460// See GetOpsItem for more information on using the GetOpsItem
6461// API call, and error handling.
6462//
6463// This method is useful when you want to inject custom logic or configuration
6464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6465//
6466//
6467//    // Example sending a request using the GetOpsItemRequest method.
6468//    req, resp := client.GetOpsItemRequest(params)
6469//
6470//    err := req.Send()
6471//    if err == nil { // resp is now filled
6472//        fmt.Println(resp)
6473//    }
6474//
6475// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
6476func (c *SSM) GetOpsItemRequest(input *GetOpsItemInput) (req *request.Request, output *GetOpsItemOutput) {
6477	op := &request.Operation{
6478		Name:       opGetOpsItem,
6479		HTTPMethod: "POST",
6480		HTTPPath:   "/",
6481	}
6482
6483	if input == nil {
6484		input = &GetOpsItemInput{}
6485	}
6486
6487	output = &GetOpsItemOutput{}
6488	req = c.newRequest(op, input, output)
6489	return
6490}
6491
6492// GetOpsItem API operation for Amazon Simple Systems Manager (SSM).
6493//
6494// Get information about an OpsItem by using the ID. You must have permission
6495// in AWS Identity and Access Management (IAM) to view information about an
6496// OpsItem. For more information, see Getting Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
6497// in the AWS Systems Manager User Guide.
6498//
6499// Operations engineers and IT professionals use OpsCenter to view, investigate,
6500// and remediate operational issues impacting the performance and health of
6501// their AWS resources. For more information, see AWS Systems Manager OpsCenter
6502// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
6503// in the AWS Systems Manager User Guide.
6504//
6505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6506// with awserr.Error's Code and Message methods to get detailed information about
6507// the error.
6508//
6509// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6510// API operation GetOpsItem for usage and error information.
6511//
6512// Returned Error Codes:
6513//   * ErrCodeInternalServerError "InternalServerError"
6514//   An error occurred on the server side.
6515//
6516//   * ErrCodeOpsItemNotFoundException "OpsItemNotFoundException"
6517//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
6518//
6519// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
6520func (c *SSM) GetOpsItem(input *GetOpsItemInput) (*GetOpsItemOutput, error) {
6521	req, out := c.GetOpsItemRequest(input)
6522	return out, req.Send()
6523}
6524
6525// GetOpsItemWithContext is the same as GetOpsItem with the addition of
6526// the ability to pass a context and additional request options.
6527//
6528// See GetOpsItem for details on how to use this API operation.
6529//
6530// The context must be non-nil and will be used for request cancellation. If
6531// the context is nil a panic will occur. In the future the SDK may create
6532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6533// for more information on using Contexts.
6534func (c *SSM) GetOpsItemWithContext(ctx aws.Context, input *GetOpsItemInput, opts ...request.Option) (*GetOpsItemOutput, error) {
6535	req, out := c.GetOpsItemRequest(input)
6536	req.SetContext(ctx)
6537	req.ApplyOptions(opts...)
6538	return out, req.Send()
6539}
6540
6541const opGetOpsSummary = "GetOpsSummary"
6542
6543// GetOpsSummaryRequest generates a "aws/request.Request" representing the
6544// client's request for the GetOpsSummary operation. The "output" return
6545// value will be populated with the request's response once the request completes
6546// successfully.
6547//
6548// Use "Send" method on the returned Request to send the API call to the service.
6549// the "output" return value is not valid until after Send returns without error.
6550//
6551// See GetOpsSummary for more information on using the GetOpsSummary
6552// API call, and error handling.
6553//
6554// This method is useful when you want to inject custom logic or configuration
6555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6556//
6557//
6558//    // Example sending a request using the GetOpsSummaryRequest method.
6559//    req, resp := client.GetOpsSummaryRequest(params)
6560//
6561//    err := req.Send()
6562//    if err == nil { // resp is now filled
6563//        fmt.Println(resp)
6564//    }
6565//
6566// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
6567func (c *SSM) GetOpsSummaryRequest(input *GetOpsSummaryInput) (req *request.Request, output *GetOpsSummaryOutput) {
6568	op := &request.Operation{
6569		Name:       opGetOpsSummary,
6570		HTTPMethod: "POST",
6571		HTTPPath:   "/",
6572	}
6573
6574	if input == nil {
6575		input = &GetOpsSummaryInput{}
6576	}
6577
6578	output = &GetOpsSummaryOutput{}
6579	req = c.newRequest(op, input, output)
6580	return
6581}
6582
6583// GetOpsSummary API operation for Amazon Simple Systems Manager (SSM).
6584//
6585// View a summary of OpsItems based on specified filters and aggregators.
6586//
6587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6588// with awserr.Error's Code and Message methods to get detailed information about
6589// the error.
6590//
6591// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6592// API operation GetOpsSummary for usage and error information.
6593//
6594// Returned Error Codes:
6595//   * ErrCodeInternalServerError "InternalServerError"
6596//   An error occurred on the server side.
6597//
6598//   * ErrCodeInvalidFilter "InvalidFilter"
6599//   The filter name is not valid. Verify the you entered the correct name and
6600//   try again.
6601//
6602//   * ErrCodeInvalidNextToken "InvalidNextToken"
6603//   The specified token is not valid.
6604//
6605//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
6606//   The parameter type name is not valid.
6607//
6608//   * ErrCodeInvalidAggregatorException "InvalidAggregatorException"
6609//   The specified aggregator is not valid for inventory groups. Verify that the
6610//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
6611//
6612// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
6613func (c *SSM) GetOpsSummary(input *GetOpsSummaryInput) (*GetOpsSummaryOutput, error) {
6614	req, out := c.GetOpsSummaryRequest(input)
6615	return out, req.Send()
6616}
6617
6618// GetOpsSummaryWithContext is the same as GetOpsSummary with the addition of
6619// the ability to pass a context and additional request options.
6620//
6621// See GetOpsSummary for details on how to use this API operation.
6622//
6623// The context must be non-nil and will be used for request cancellation. If
6624// the context is nil a panic will occur. In the future the SDK may create
6625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6626// for more information on using Contexts.
6627func (c *SSM) GetOpsSummaryWithContext(ctx aws.Context, input *GetOpsSummaryInput, opts ...request.Option) (*GetOpsSummaryOutput, error) {
6628	req, out := c.GetOpsSummaryRequest(input)
6629	req.SetContext(ctx)
6630	req.ApplyOptions(opts...)
6631	return out, req.Send()
6632}
6633
6634const opGetParameter = "GetParameter"
6635
6636// GetParameterRequest generates a "aws/request.Request" representing the
6637// client's request for the GetParameter operation. The "output" return
6638// value will be populated with the request's response once the request completes
6639// successfully.
6640//
6641// Use "Send" method on the returned Request to send the API call to the service.
6642// the "output" return value is not valid until after Send returns without error.
6643//
6644// See GetParameter for more information on using the GetParameter
6645// API call, and error handling.
6646//
6647// This method is useful when you want to inject custom logic or configuration
6648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6649//
6650//
6651//    // Example sending a request using the GetParameterRequest method.
6652//    req, resp := client.GetParameterRequest(params)
6653//
6654//    err := req.Send()
6655//    if err == nil { // resp is now filled
6656//        fmt.Println(resp)
6657//    }
6658//
6659// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
6660func (c *SSM) GetParameterRequest(input *GetParameterInput) (req *request.Request, output *GetParameterOutput) {
6661	op := &request.Operation{
6662		Name:       opGetParameter,
6663		HTTPMethod: "POST",
6664		HTTPPath:   "/",
6665	}
6666
6667	if input == nil {
6668		input = &GetParameterInput{}
6669	}
6670
6671	output = &GetParameterOutput{}
6672	req = c.newRequest(op, input, output)
6673	return
6674}
6675
6676// GetParameter API operation for Amazon Simple Systems Manager (SSM).
6677//
6678// Get information about a parameter by using the parameter name. Don't confuse
6679// this API action with the GetParameters API action.
6680//
6681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6682// with awserr.Error's Code and Message methods to get detailed information about
6683// the error.
6684//
6685// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6686// API operation GetParameter for usage and error information.
6687//
6688// Returned Error Codes:
6689//   * ErrCodeInternalServerError "InternalServerError"
6690//   An error occurred on the server side.
6691//
6692//   * ErrCodeInvalidKeyId "InvalidKeyId"
6693//   The query key ID is not valid.
6694//
6695//   * ErrCodeParameterNotFound "ParameterNotFound"
6696//   The parameter could not be found. Verify the name and try again.
6697//
6698//   * ErrCodeParameterVersionNotFound "ParameterVersionNotFound"
6699//   The specified parameter version was not found. Verify the parameter name
6700//   and version, and try again.
6701//
6702// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
6703func (c *SSM) GetParameter(input *GetParameterInput) (*GetParameterOutput, error) {
6704	req, out := c.GetParameterRequest(input)
6705	return out, req.Send()
6706}
6707
6708// GetParameterWithContext is the same as GetParameter with the addition of
6709// the ability to pass a context and additional request options.
6710//
6711// See GetParameter for details on how to use this API operation.
6712//
6713// The context must be non-nil and will be used for request cancellation. If
6714// the context is nil a panic will occur. In the future the SDK may create
6715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6716// for more information on using Contexts.
6717func (c *SSM) GetParameterWithContext(ctx aws.Context, input *GetParameterInput, opts ...request.Option) (*GetParameterOutput, error) {
6718	req, out := c.GetParameterRequest(input)
6719	req.SetContext(ctx)
6720	req.ApplyOptions(opts...)
6721	return out, req.Send()
6722}
6723
6724const opGetParameterHistory = "GetParameterHistory"
6725
6726// GetParameterHistoryRequest generates a "aws/request.Request" representing the
6727// client's request for the GetParameterHistory operation. The "output" return
6728// value will be populated with the request's response once the request completes
6729// successfully.
6730//
6731// Use "Send" method on the returned Request to send the API call to the service.
6732// the "output" return value is not valid until after Send returns without error.
6733//
6734// See GetParameterHistory for more information on using the GetParameterHistory
6735// API call, and error handling.
6736//
6737// This method is useful when you want to inject custom logic or configuration
6738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6739//
6740//
6741//    // Example sending a request using the GetParameterHistoryRequest method.
6742//    req, resp := client.GetParameterHistoryRequest(params)
6743//
6744//    err := req.Send()
6745//    if err == nil { // resp is now filled
6746//        fmt.Println(resp)
6747//    }
6748//
6749// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
6750func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) {
6751	op := &request.Operation{
6752		Name:       opGetParameterHistory,
6753		HTTPMethod: "POST",
6754		HTTPPath:   "/",
6755		Paginator: &request.Paginator{
6756			InputTokens:     []string{"NextToken"},
6757			OutputTokens:    []string{"NextToken"},
6758			LimitToken:      "MaxResults",
6759			TruncationToken: "",
6760		},
6761	}
6762
6763	if input == nil {
6764		input = &GetParameterHistoryInput{}
6765	}
6766
6767	output = &GetParameterHistoryOutput{}
6768	req = c.newRequest(op, input, output)
6769	return
6770}
6771
6772// GetParameterHistory API operation for Amazon Simple Systems Manager (SSM).
6773//
6774// Query a list of all parameters used by the AWS account.
6775//
6776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6777// with awserr.Error's Code and Message methods to get detailed information about
6778// the error.
6779//
6780// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6781// API operation GetParameterHistory for usage and error information.
6782//
6783// Returned Error Codes:
6784//   * ErrCodeInternalServerError "InternalServerError"
6785//   An error occurred on the server side.
6786//
6787//   * ErrCodeParameterNotFound "ParameterNotFound"
6788//   The parameter could not be found. Verify the name and try again.
6789//
6790//   * ErrCodeInvalidNextToken "InvalidNextToken"
6791//   The specified token is not valid.
6792//
6793//   * ErrCodeInvalidKeyId "InvalidKeyId"
6794//   The query key ID is not valid.
6795//
6796// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
6797func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) {
6798	req, out := c.GetParameterHistoryRequest(input)
6799	return out, req.Send()
6800}
6801
6802// GetParameterHistoryWithContext is the same as GetParameterHistory with the addition of
6803// the ability to pass a context and additional request options.
6804//
6805// See GetParameterHistory for details on how to use this API operation.
6806//
6807// The context must be non-nil and will be used for request cancellation. If
6808// the context is nil a panic will occur. In the future the SDK may create
6809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6810// for more information on using Contexts.
6811func (c *SSM) GetParameterHistoryWithContext(ctx aws.Context, input *GetParameterHistoryInput, opts ...request.Option) (*GetParameterHistoryOutput, error) {
6812	req, out := c.GetParameterHistoryRequest(input)
6813	req.SetContext(ctx)
6814	req.ApplyOptions(opts...)
6815	return out, req.Send()
6816}
6817
6818// GetParameterHistoryPages iterates over the pages of a GetParameterHistory operation,
6819// calling the "fn" function with the response data for each page. To stop
6820// iterating, return false from the fn function.
6821//
6822// See GetParameterHistory method for more information on how to use this operation.
6823//
6824// Note: This operation can generate multiple requests to a service.
6825//
6826//    // Example iterating over at most 3 pages of a GetParameterHistory operation.
6827//    pageNum := 0
6828//    err := client.GetParameterHistoryPages(params,
6829//        func(page *ssm.GetParameterHistoryOutput, lastPage bool) bool {
6830//            pageNum++
6831//            fmt.Println(page)
6832//            return pageNum <= 3
6833//        })
6834//
6835func (c *SSM) GetParameterHistoryPages(input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool) error {
6836	return c.GetParameterHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
6837}
6838
6839// GetParameterHistoryPagesWithContext same as GetParameterHistoryPages except
6840// it takes a Context and allows setting request options on the pages.
6841//
6842// The context must be non-nil and will be used for request cancellation. If
6843// the context is nil a panic will occur. In the future the SDK may create
6844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6845// for more information on using Contexts.
6846func (c *SSM) GetParameterHistoryPagesWithContext(ctx aws.Context, input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool, opts ...request.Option) error {
6847	p := request.Pagination{
6848		NewRequest: func() (*request.Request, error) {
6849			var inCpy *GetParameterHistoryInput
6850			if input != nil {
6851				tmp := *input
6852				inCpy = &tmp
6853			}
6854			req, _ := c.GetParameterHistoryRequest(inCpy)
6855			req.SetContext(ctx)
6856			req.ApplyOptions(opts...)
6857			return req, nil
6858		},
6859	}
6860
6861	cont := true
6862	for p.Next() && cont {
6863		cont = fn(p.Page().(*GetParameterHistoryOutput), !p.HasNextPage())
6864	}
6865	return p.Err()
6866}
6867
6868const opGetParameters = "GetParameters"
6869
6870// GetParametersRequest generates a "aws/request.Request" representing the
6871// client's request for the GetParameters operation. The "output" return
6872// value will be populated with the request's response once the request completes
6873// successfully.
6874//
6875// Use "Send" method on the returned Request to send the API call to the service.
6876// the "output" return value is not valid until after Send returns without error.
6877//
6878// See GetParameters for more information on using the GetParameters
6879// API call, and error handling.
6880//
6881// This method is useful when you want to inject custom logic or configuration
6882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6883//
6884//
6885//    // Example sending a request using the GetParametersRequest method.
6886//    req, resp := client.GetParametersRequest(params)
6887//
6888//    err := req.Send()
6889//    if err == nil { // resp is now filled
6890//        fmt.Println(resp)
6891//    }
6892//
6893// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
6894func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) {
6895	op := &request.Operation{
6896		Name:       opGetParameters,
6897		HTTPMethod: "POST",
6898		HTTPPath:   "/",
6899	}
6900
6901	if input == nil {
6902		input = &GetParametersInput{}
6903	}
6904
6905	output = &GetParametersOutput{}
6906	req = c.newRequest(op, input, output)
6907	return
6908}
6909
6910// GetParameters API operation for Amazon Simple Systems Manager (SSM).
6911//
6912// Get details of a parameter. Don't confuse this API action with the GetParameter
6913// API action.
6914//
6915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6916// with awserr.Error's Code and Message methods to get detailed information about
6917// the error.
6918//
6919// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6920// API operation GetParameters for usage and error information.
6921//
6922// Returned Error Codes:
6923//   * ErrCodeInvalidKeyId "InvalidKeyId"
6924//   The query key ID is not valid.
6925//
6926//   * ErrCodeInternalServerError "InternalServerError"
6927//   An error occurred on the server side.
6928//
6929// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
6930func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) {
6931	req, out := c.GetParametersRequest(input)
6932	return out, req.Send()
6933}
6934
6935// GetParametersWithContext is the same as GetParameters with the addition of
6936// the ability to pass a context and additional request options.
6937//
6938// See GetParameters for details on how to use this API operation.
6939//
6940// The context must be non-nil and will be used for request cancellation. If
6941// the context is nil a panic will occur. In the future the SDK may create
6942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6943// for more information on using Contexts.
6944func (c *SSM) GetParametersWithContext(ctx aws.Context, input *GetParametersInput, opts ...request.Option) (*GetParametersOutput, error) {
6945	req, out := c.GetParametersRequest(input)
6946	req.SetContext(ctx)
6947	req.ApplyOptions(opts...)
6948	return out, req.Send()
6949}
6950
6951const opGetParametersByPath = "GetParametersByPath"
6952
6953// GetParametersByPathRequest generates a "aws/request.Request" representing the
6954// client's request for the GetParametersByPath operation. The "output" return
6955// value will be populated with the request's response once the request completes
6956// successfully.
6957//
6958// Use "Send" method on the returned Request to send the API call to the service.
6959// the "output" return value is not valid until after Send returns without error.
6960//
6961// See GetParametersByPath for more information on using the GetParametersByPath
6962// API call, and error handling.
6963//
6964// This method is useful when you want to inject custom logic or configuration
6965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6966//
6967//
6968//    // Example sending a request using the GetParametersByPathRequest method.
6969//    req, resp := client.GetParametersByPathRequest(params)
6970//
6971//    err := req.Send()
6972//    if err == nil { // resp is now filled
6973//        fmt.Println(resp)
6974//    }
6975//
6976// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
6977func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req *request.Request, output *GetParametersByPathOutput) {
6978	op := &request.Operation{
6979		Name:       opGetParametersByPath,
6980		HTTPMethod: "POST",
6981		HTTPPath:   "/",
6982		Paginator: &request.Paginator{
6983			InputTokens:     []string{"NextToken"},
6984			OutputTokens:    []string{"NextToken"},
6985			LimitToken:      "MaxResults",
6986			TruncationToken: "",
6987		},
6988	}
6989
6990	if input == nil {
6991		input = &GetParametersByPathInput{}
6992	}
6993
6994	output = &GetParametersByPathOutput{}
6995	req = c.newRequest(op, input, output)
6996	return
6997}
6998
6999// GetParametersByPath API operation for Amazon Simple Systems Manager (SSM).
7000//
7001// Retrieve parameters in a specific hierarchy. For more information, see Working
7002// with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html)
7003// in the AWS Systems Manager User Guide.
7004//
7005// Request results are returned on a best-effort basis. If you specify MaxResults
7006// in the request, the response includes information up to the limit specified.
7007// The number of items returned, however, can be between zero and the value
7008// of MaxResults. If the service reaches an internal limit while processing
7009// the results, it stops the operation and returns the matching values up to
7010// that point and a NextToken. You can specify the NextToken in a subsequent
7011// call to get the next set of results.
7012//
7013// This API action doesn't support filtering by tags.
7014//
7015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7016// with awserr.Error's Code and Message methods to get detailed information about
7017// the error.
7018//
7019// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7020// API operation GetParametersByPath for usage and error information.
7021//
7022// Returned Error Codes:
7023//   * ErrCodeInternalServerError "InternalServerError"
7024//   An error occurred on the server side.
7025//
7026//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
7027//   The specified key is not valid.
7028//
7029//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
7030//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
7031//   For Path filter, valid options are Recursive and OneLevel.
7032//
7033//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
7034//   The filter value is not valid. Verify the value and try again.
7035//
7036//   * ErrCodeInvalidKeyId "InvalidKeyId"
7037//   The query key ID is not valid.
7038//
7039//   * ErrCodeInvalidNextToken "InvalidNextToken"
7040//   The specified token is not valid.
7041//
7042// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
7043func (c *SSM) GetParametersByPath(input *GetParametersByPathInput) (*GetParametersByPathOutput, error) {
7044	req, out := c.GetParametersByPathRequest(input)
7045	return out, req.Send()
7046}
7047
7048// GetParametersByPathWithContext is the same as GetParametersByPath with the addition of
7049// the ability to pass a context and additional request options.
7050//
7051// See GetParametersByPath for details on how to use this API operation.
7052//
7053// The context must be non-nil and will be used for request cancellation. If
7054// the context is nil a panic will occur. In the future the SDK may create
7055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7056// for more information on using Contexts.
7057func (c *SSM) GetParametersByPathWithContext(ctx aws.Context, input *GetParametersByPathInput, opts ...request.Option) (*GetParametersByPathOutput, error) {
7058	req, out := c.GetParametersByPathRequest(input)
7059	req.SetContext(ctx)
7060	req.ApplyOptions(opts...)
7061	return out, req.Send()
7062}
7063
7064// GetParametersByPathPages iterates over the pages of a GetParametersByPath operation,
7065// calling the "fn" function with the response data for each page. To stop
7066// iterating, return false from the fn function.
7067//
7068// See GetParametersByPath method for more information on how to use this operation.
7069//
7070// Note: This operation can generate multiple requests to a service.
7071//
7072//    // Example iterating over at most 3 pages of a GetParametersByPath operation.
7073//    pageNum := 0
7074//    err := client.GetParametersByPathPages(params,
7075//        func(page *ssm.GetParametersByPathOutput, lastPage bool) bool {
7076//            pageNum++
7077//            fmt.Println(page)
7078//            return pageNum <= 3
7079//        })
7080//
7081func (c *SSM) GetParametersByPathPages(input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool) error {
7082	return c.GetParametersByPathPagesWithContext(aws.BackgroundContext(), input, fn)
7083}
7084
7085// GetParametersByPathPagesWithContext same as GetParametersByPathPages except
7086// it takes a Context and allows setting request options on the pages.
7087//
7088// The context must be non-nil and will be used for request cancellation. If
7089// the context is nil a panic will occur. In the future the SDK may create
7090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7091// for more information on using Contexts.
7092func (c *SSM) GetParametersByPathPagesWithContext(ctx aws.Context, input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool, opts ...request.Option) error {
7093	p := request.Pagination{
7094		NewRequest: func() (*request.Request, error) {
7095			var inCpy *GetParametersByPathInput
7096			if input != nil {
7097				tmp := *input
7098				inCpy = &tmp
7099			}
7100			req, _ := c.GetParametersByPathRequest(inCpy)
7101			req.SetContext(ctx)
7102			req.ApplyOptions(opts...)
7103			return req, nil
7104		},
7105	}
7106
7107	cont := true
7108	for p.Next() && cont {
7109		cont = fn(p.Page().(*GetParametersByPathOutput), !p.HasNextPage())
7110	}
7111	return p.Err()
7112}
7113
7114const opGetPatchBaseline = "GetPatchBaseline"
7115
7116// GetPatchBaselineRequest generates a "aws/request.Request" representing the
7117// client's request for the GetPatchBaseline operation. The "output" return
7118// value will be populated with the request's response once the request completes
7119// successfully.
7120//
7121// Use "Send" method on the returned Request to send the API call to the service.
7122// the "output" return value is not valid until after Send returns without error.
7123//
7124// See GetPatchBaseline for more information on using the GetPatchBaseline
7125// API call, and error handling.
7126//
7127// This method is useful when you want to inject custom logic or configuration
7128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7129//
7130//
7131//    // Example sending a request using the GetPatchBaselineRequest method.
7132//    req, resp := client.GetPatchBaselineRequest(params)
7133//
7134//    err := req.Send()
7135//    if err == nil { // resp is now filled
7136//        fmt.Println(resp)
7137//    }
7138//
7139// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
7140func (c *SSM) GetPatchBaselineRequest(input *GetPatchBaselineInput) (req *request.Request, output *GetPatchBaselineOutput) {
7141	op := &request.Operation{
7142		Name:       opGetPatchBaseline,
7143		HTTPMethod: "POST",
7144		HTTPPath:   "/",
7145	}
7146
7147	if input == nil {
7148		input = &GetPatchBaselineInput{}
7149	}
7150
7151	output = &GetPatchBaselineOutput{}
7152	req = c.newRequest(op, input, output)
7153	return
7154}
7155
7156// GetPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
7157//
7158// Retrieves information about a patch baseline.
7159//
7160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7161// with awserr.Error's Code and Message methods to get detailed information about
7162// the error.
7163//
7164// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7165// API operation GetPatchBaseline for usage and error information.
7166//
7167// Returned Error Codes:
7168//   * ErrCodeDoesNotExistException "DoesNotExistException"
7169//   Error returned when the ID specified for a resource, such as a maintenance
7170//   window or Patch baseline, doesn't exist.
7171//
7172//   For information about resource limits in Systems Manager, see AWS Systems
7173//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
7174//
7175//   * ErrCodeInvalidResourceId "InvalidResourceId"
7176//   The resource ID is not valid. Verify that you entered the correct ID and
7177//   try again.
7178//
7179//   * ErrCodeInternalServerError "InternalServerError"
7180//   An error occurred on the server side.
7181//
7182// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
7183func (c *SSM) GetPatchBaseline(input *GetPatchBaselineInput) (*GetPatchBaselineOutput, error) {
7184	req, out := c.GetPatchBaselineRequest(input)
7185	return out, req.Send()
7186}
7187
7188// GetPatchBaselineWithContext is the same as GetPatchBaseline with the addition of
7189// the ability to pass a context and additional request options.
7190//
7191// See GetPatchBaseline for details on how to use this API operation.
7192//
7193// The context must be non-nil and will be used for request cancellation. If
7194// the context is nil a panic will occur. In the future the SDK may create
7195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7196// for more information on using Contexts.
7197func (c *SSM) GetPatchBaselineWithContext(ctx aws.Context, input *GetPatchBaselineInput, opts ...request.Option) (*GetPatchBaselineOutput, error) {
7198	req, out := c.GetPatchBaselineRequest(input)
7199	req.SetContext(ctx)
7200	req.ApplyOptions(opts...)
7201	return out, req.Send()
7202}
7203
7204const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup"
7205
7206// GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
7207// client's request for the GetPatchBaselineForPatchGroup operation. The "output" return
7208// value will be populated with the request's response once the request completes
7209// successfully.
7210//
7211// Use "Send" method on the returned Request to send the API call to the service.
7212// the "output" return value is not valid until after Send returns without error.
7213//
7214// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup
7215// API call, and error handling.
7216//
7217// This method is useful when you want to inject custom logic or configuration
7218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7219//
7220//
7221//    // Example sending a request using the GetPatchBaselineForPatchGroupRequest method.
7222//    req, resp := client.GetPatchBaselineForPatchGroupRequest(params)
7223//
7224//    err := req.Send()
7225//    if err == nil { // resp is now filled
7226//        fmt.Println(resp)
7227//    }
7228//
7229// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
7230func (c *SSM) GetPatchBaselineForPatchGroupRequest(input *GetPatchBaselineForPatchGroupInput) (req *request.Request, output *GetPatchBaselineForPatchGroupOutput) {
7231	op := &request.Operation{
7232		Name:       opGetPatchBaselineForPatchGroup,
7233		HTTPMethod: "POST",
7234		HTTPPath:   "/",
7235	}
7236
7237	if input == nil {
7238		input = &GetPatchBaselineForPatchGroupInput{}
7239	}
7240
7241	output = &GetPatchBaselineForPatchGroupOutput{}
7242	req = c.newRequest(op, input, output)
7243	return
7244}
7245
7246// GetPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
7247//
7248// Retrieves the patch baseline that should be used for the specified patch
7249// group.
7250//
7251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7252// with awserr.Error's Code and Message methods to get detailed information about
7253// the error.
7254//
7255// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7256// API operation GetPatchBaselineForPatchGroup for usage and error information.
7257//
7258// Returned Error Codes:
7259//   * ErrCodeInternalServerError "InternalServerError"
7260//   An error occurred on the server side.
7261//
7262// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
7263func (c *SSM) GetPatchBaselineForPatchGroup(input *GetPatchBaselineForPatchGroupInput) (*GetPatchBaselineForPatchGroupOutput, error) {
7264	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
7265	return out, req.Send()
7266}
7267
7268// GetPatchBaselineForPatchGroupWithContext is the same as GetPatchBaselineForPatchGroup with the addition of
7269// the ability to pass a context and additional request options.
7270//
7271// See GetPatchBaselineForPatchGroup for details on how to use this API operation.
7272//
7273// The context must be non-nil and will be used for request cancellation. If
7274// the context is nil a panic will occur. In the future the SDK may create
7275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7276// for more information on using Contexts.
7277func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *GetPatchBaselineForPatchGroupInput, opts ...request.Option) (*GetPatchBaselineForPatchGroupOutput, error) {
7278	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
7279	req.SetContext(ctx)
7280	req.ApplyOptions(opts...)
7281	return out, req.Send()
7282}
7283
7284const opGetServiceSetting = "GetServiceSetting"
7285
7286// GetServiceSettingRequest generates a "aws/request.Request" representing the
7287// client's request for the GetServiceSetting operation. The "output" return
7288// value will be populated with the request's response once the request completes
7289// successfully.
7290//
7291// Use "Send" method on the returned Request to send the API call to the service.
7292// the "output" return value is not valid until after Send returns without error.
7293//
7294// See GetServiceSetting for more information on using the GetServiceSetting
7295// API call, and error handling.
7296//
7297// This method is useful when you want to inject custom logic or configuration
7298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7299//
7300//
7301//    // Example sending a request using the GetServiceSettingRequest method.
7302//    req, resp := client.GetServiceSettingRequest(params)
7303//
7304//    err := req.Send()
7305//    if err == nil { // resp is now filled
7306//        fmt.Println(resp)
7307//    }
7308//
7309// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
7310func (c *SSM) GetServiceSettingRequest(input *GetServiceSettingInput) (req *request.Request, output *GetServiceSettingOutput) {
7311	op := &request.Operation{
7312		Name:       opGetServiceSetting,
7313		HTTPMethod: "POST",
7314		HTTPPath:   "/",
7315	}
7316
7317	if input == nil {
7318		input = &GetServiceSettingInput{}
7319	}
7320
7321	output = &GetServiceSettingOutput{}
7322	req = c.newRequest(op, input, output)
7323	return
7324}
7325
7326// GetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
7327//
7328// ServiceSetting is an account-level setting for an AWS service. This setting
7329// defines how a user interacts with or uses a service or a feature of a service.
7330// For example, if an AWS service charges money to the account based on feature
7331// or service usage, then the AWS service team might create a default setting
7332// of "false". This means the user can't use this feature unless they change
7333// the setting to "true" and intentionally opt in for a paid feature.
7334//
7335// Services map a SettingId object to a setting value. AWS services teams define
7336// the default value for a SettingId. You can't create a new SettingId, but
7337// you can overwrite the default value if you have the ssm:UpdateServiceSetting
7338// permission for the setting. Use the UpdateServiceSetting API action to change
7339// the default setting. Or use the ResetServiceSetting to change the value back
7340// to the original value defined by the AWS service team.
7341//
7342// Query the current service setting for the account.
7343//
7344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7345// with awserr.Error's Code and Message methods to get detailed information about
7346// the error.
7347//
7348// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7349// API operation GetServiceSetting for usage and error information.
7350//
7351// Returned Error Codes:
7352//   * ErrCodeInternalServerError "InternalServerError"
7353//   An error occurred on the server side.
7354//
7355//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
7356//   The specified service setting was not found. Either the service name or the
7357//   setting has not been provisioned by the AWS service team.
7358//
7359// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
7360func (c *SSM) GetServiceSetting(input *GetServiceSettingInput) (*GetServiceSettingOutput, error) {
7361	req, out := c.GetServiceSettingRequest(input)
7362	return out, req.Send()
7363}
7364
7365// GetServiceSettingWithContext is the same as GetServiceSetting with the addition of
7366// the ability to pass a context and additional request options.
7367//
7368// See GetServiceSetting for details on how to use this API operation.
7369//
7370// The context must be non-nil and will be used for request cancellation. If
7371// the context is nil a panic will occur. In the future the SDK may create
7372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7373// for more information on using Contexts.
7374func (c *SSM) GetServiceSettingWithContext(ctx aws.Context, input *GetServiceSettingInput, opts ...request.Option) (*GetServiceSettingOutput, error) {
7375	req, out := c.GetServiceSettingRequest(input)
7376	req.SetContext(ctx)
7377	req.ApplyOptions(opts...)
7378	return out, req.Send()
7379}
7380
7381const opLabelParameterVersion = "LabelParameterVersion"
7382
7383// LabelParameterVersionRequest generates a "aws/request.Request" representing the
7384// client's request for the LabelParameterVersion operation. The "output" return
7385// value will be populated with the request's response once the request completes
7386// successfully.
7387//
7388// Use "Send" method on the returned Request to send the API call to the service.
7389// the "output" return value is not valid until after Send returns without error.
7390//
7391// See LabelParameterVersion for more information on using the LabelParameterVersion
7392// API call, and error handling.
7393//
7394// This method is useful when you want to inject custom logic or configuration
7395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7396//
7397//
7398//    // Example sending a request using the LabelParameterVersionRequest method.
7399//    req, resp := client.LabelParameterVersionRequest(params)
7400//
7401//    err := req.Send()
7402//    if err == nil { // resp is now filled
7403//        fmt.Println(resp)
7404//    }
7405//
7406// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
7407func (c *SSM) LabelParameterVersionRequest(input *LabelParameterVersionInput) (req *request.Request, output *LabelParameterVersionOutput) {
7408	op := &request.Operation{
7409		Name:       opLabelParameterVersion,
7410		HTTPMethod: "POST",
7411		HTTPPath:   "/",
7412	}
7413
7414	if input == nil {
7415		input = &LabelParameterVersionInput{}
7416	}
7417
7418	output = &LabelParameterVersionOutput{}
7419	req = c.newRequest(op, input, output)
7420	return
7421}
7422
7423// LabelParameterVersion API operation for Amazon Simple Systems Manager (SSM).
7424//
7425// A parameter label is a user-defined alias to help you manage different versions
7426// of a parameter. When you modify a parameter, Systems Manager automatically
7427// saves a new version and increments the version number by one. A label can
7428// help you remember the purpose of a parameter when there are multiple versions.
7429//
7430// Parameter labels have the following requirements and restrictions.
7431//
7432//    * A version of a parameter can have a maximum of 10 labels.
7433//
7434//    * You can't attach the same label to different versions of the same parameter.
7435//    For example, if version 1 has the label Production, then you can't attach
7436//    Production to version 2.
7437//
7438//    * You can move a label from one version of a parameter to another.
7439//
7440//    * You can't create a label when you create a new parameter. You must attach
7441//    a label to a specific version of a parameter.
7442//
7443//    * You can't delete a parameter label. If you no longer want to use a parameter
7444//    label, then you must move it to a different version of a parameter.
7445//
7446//    * A label can have a maximum of 100 characters.
7447//
7448//    * Labels can contain letters (case sensitive), numbers, periods (.), hyphens
7449//    (-), or underscores (_).
7450//
7451//    * Labels can't begin with a number, "aws," or "ssm" (not case sensitive).
7452//    If a label fails to meet these requirements, then the label is not associated
7453//    with a parameter and the system displays it in the list of InvalidLabels.
7454//
7455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7456// with awserr.Error's Code and Message methods to get detailed information about
7457// the error.
7458//
7459// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7460// API operation LabelParameterVersion for usage and error information.
7461//
7462// Returned Error Codes:
7463//   * ErrCodeInternalServerError "InternalServerError"
7464//   An error occurred on the server side.
7465//
7466//   * ErrCodeTooManyUpdates "TooManyUpdates"
7467//   There are concurrent updates for a resource that supports one update at a
7468//   time.
7469//
7470//   * ErrCodeParameterNotFound "ParameterNotFound"
7471//   The parameter could not be found. Verify the name and try again.
7472//
7473//   * ErrCodeParameterVersionNotFound "ParameterVersionNotFound"
7474//   The specified parameter version was not found. Verify the parameter name
7475//   and version, and try again.
7476//
7477//   * ErrCodeParameterVersionLabelLimitExceeded "ParameterVersionLabelLimitExceeded"
7478//   A parameter version can have a maximum of ten labels.
7479//
7480// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
7481func (c *SSM) LabelParameterVersion(input *LabelParameterVersionInput) (*LabelParameterVersionOutput, error) {
7482	req, out := c.LabelParameterVersionRequest(input)
7483	return out, req.Send()
7484}
7485
7486// LabelParameterVersionWithContext is the same as LabelParameterVersion with the addition of
7487// the ability to pass a context and additional request options.
7488//
7489// See LabelParameterVersion for details on how to use this API operation.
7490//
7491// The context must be non-nil and will be used for request cancellation. If
7492// the context is nil a panic will occur. In the future the SDK may create
7493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7494// for more information on using Contexts.
7495func (c *SSM) LabelParameterVersionWithContext(ctx aws.Context, input *LabelParameterVersionInput, opts ...request.Option) (*LabelParameterVersionOutput, error) {
7496	req, out := c.LabelParameterVersionRequest(input)
7497	req.SetContext(ctx)
7498	req.ApplyOptions(opts...)
7499	return out, req.Send()
7500}
7501
7502const opListAssociationVersions = "ListAssociationVersions"
7503
7504// ListAssociationVersionsRequest generates a "aws/request.Request" representing the
7505// client's request for the ListAssociationVersions operation. The "output" return
7506// value will be populated with the request's response once the request completes
7507// successfully.
7508//
7509// Use "Send" method on the returned Request to send the API call to the service.
7510// the "output" return value is not valid until after Send returns without error.
7511//
7512// See ListAssociationVersions for more information on using the ListAssociationVersions
7513// API call, and error handling.
7514//
7515// This method is useful when you want to inject custom logic or configuration
7516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7517//
7518//
7519//    // Example sending a request using the ListAssociationVersionsRequest method.
7520//    req, resp := client.ListAssociationVersionsRequest(params)
7521//
7522//    err := req.Send()
7523//    if err == nil { // resp is now filled
7524//        fmt.Println(resp)
7525//    }
7526//
7527// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
7528func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) {
7529	op := &request.Operation{
7530		Name:       opListAssociationVersions,
7531		HTTPMethod: "POST",
7532		HTTPPath:   "/",
7533	}
7534
7535	if input == nil {
7536		input = &ListAssociationVersionsInput{}
7537	}
7538
7539	output = &ListAssociationVersionsOutput{}
7540	req = c.newRequest(op, input, output)
7541	return
7542}
7543
7544// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM).
7545//
7546// Retrieves all versions of an association for a specific association ID.
7547//
7548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7549// with awserr.Error's Code and Message methods to get detailed information about
7550// the error.
7551//
7552// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7553// API operation ListAssociationVersions for usage and error information.
7554//
7555// Returned Error Codes:
7556//   * ErrCodeInternalServerError "InternalServerError"
7557//   An error occurred on the server side.
7558//
7559//   * ErrCodeInvalidNextToken "InvalidNextToken"
7560//   The specified token is not valid.
7561//
7562//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
7563//   The specified association does not exist.
7564//
7565// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
7566func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) {
7567	req, out := c.ListAssociationVersionsRequest(input)
7568	return out, req.Send()
7569}
7570
7571// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of
7572// the ability to pass a context and additional request options.
7573//
7574// See ListAssociationVersions for details on how to use this API operation.
7575//
7576// The context must be non-nil and will be used for request cancellation. If
7577// the context is nil a panic will occur. In the future the SDK may create
7578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7579// for more information on using Contexts.
7580func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) {
7581	req, out := c.ListAssociationVersionsRequest(input)
7582	req.SetContext(ctx)
7583	req.ApplyOptions(opts...)
7584	return out, req.Send()
7585}
7586
7587const opListAssociations = "ListAssociations"
7588
7589// ListAssociationsRequest generates a "aws/request.Request" representing the
7590// client's request for the ListAssociations operation. The "output" return
7591// value will be populated with the request's response once the request completes
7592// successfully.
7593//
7594// Use "Send" method on the returned Request to send the API call to the service.
7595// the "output" return value is not valid until after Send returns without error.
7596//
7597// See ListAssociations for more information on using the ListAssociations
7598// API call, and error handling.
7599//
7600// This method is useful when you want to inject custom logic or configuration
7601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7602//
7603//
7604//    // Example sending a request using the ListAssociationsRequest method.
7605//    req, resp := client.ListAssociationsRequest(params)
7606//
7607//    err := req.Send()
7608//    if err == nil { // resp is now filled
7609//        fmt.Println(resp)
7610//    }
7611//
7612// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
7613func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) {
7614	op := &request.Operation{
7615		Name:       opListAssociations,
7616		HTTPMethod: "POST",
7617		HTTPPath:   "/",
7618		Paginator: &request.Paginator{
7619			InputTokens:     []string{"NextToken"},
7620			OutputTokens:    []string{"NextToken"},
7621			LimitToken:      "MaxResults",
7622			TruncationToken: "",
7623		},
7624	}
7625
7626	if input == nil {
7627		input = &ListAssociationsInput{}
7628	}
7629
7630	output = &ListAssociationsOutput{}
7631	req = c.newRequest(op, input, output)
7632	return
7633}
7634
7635// ListAssociations API operation for Amazon Simple Systems Manager (SSM).
7636//
7637// Lists the associations for the specified Systems Manager document or instance.
7638//
7639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7640// with awserr.Error's Code and Message methods to get detailed information about
7641// the error.
7642//
7643// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7644// API operation ListAssociations for usage and error information.
7645//
7646// Returned Error Codes:
7647//   * ErrCodeInternalServerError "InternalServerError"
7648//   An error occurred on the server side.
7649//
7650//   * ErrCodeInvalidNextToken "InvalidNextToken"
7651//   The specified token is not valid.
7652//
7653// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
7654func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) {
7655	req, out := c.ListAssociationsRequest(input)
7656	return out, req.Send()
7657}
7658
7659// ListAssociationsWithContext is the same as ListAssociations with the addition of
7660// the ability to pass a context and additional request options.
7661//
7662// See ListAssociations for details on how to use this API operation.
7663//
7664// The context must be non-nil and will be used for request cancellation. If
7665// the context is nil a panic will occur. In the future the SDK may create
7666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7667// for more information on using Contexts.
7668func (c *SSM) ListAssociationsWithContext(ctx aws.Context, input *ListAssociationsInput, opts ...request.Option) (*ListAssociationsOutput, error) {
7669	req, out := c.ListAssociationsRequest(input)
7670	req.SetContext(ctx)
7671	req.ApplyOptions(opts...)
7672	return out, req.Send()
7673}
7674
7675// ListAssociationsPages iterates over the pages of a ListAssociations operation,
7676// calling the "fn" function with the response data for each page. To stop
7677// iterating, return false from the fn function.
7678//
7679// See ListAssociations method for more information on how to use this operation.
7680//
7681// Note: This operation can generate multiple requests to a service.
7682//
7683//    // Example iterating over at most 3 pages of a ListAssociations operation.
7684//    pageNum := 0
7685//    err := client.ListAssociationsPages(params,
7686//        func(page *ssm.ListAssociationsOutput, lastPage bool) bool {
7687//            pageNum++
7688//            fmt.Println(page)
7689//            return pageNum <= 3
7690//        })
7691//
7692func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool) error {
7693	return c.ListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
7694}
7695
7696// ListAssociationsPagesWithContext same as ListAssociationsPages except
7697// it takes a Context and allows setting request options on the pages.
7698//
7699// The context must be non-nil and will be used for request cancellation. If
7700// the context is nil a panic will occur. In the future the SDK may create
7701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7702// for more information on using Contexts.
7703func (c *SSM) ListAssociationsPagesWithContext(ctx aws.Context, input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool, opts ...request.Option) error {
7704	p := request.Pagination{
7705		NewRequest: func() (*request.Request, error) {
7706			var inCpy *ListAssociationsInput
7707			if input != nil {
7708				tmp := *input
7709				inCpy = &tmp
7710			}
7711			req, _ := c.ListAssociationsRequest(inCpy)
7712			req.SetContext(ctx)
7713			req.ApplyOptions(opts...)
7714			return req, nil
7715		},
7716	}
7717
7718	cont := true
7719	for p.Next() && cont {
7720		cont = fn(p.Page().(*ListAssociationsOutput), !p.HasNextPage())
7721	}
7722	return p.Err()
7723}
7724
7725const opListCommandInvocations = "ListCommandInvocations"
7726
7727// ListCommandInvocationsRequest generates a "aws/request.Request" representing the
7728// client's request for the ListCommandInvocations operation. The "output" return
7729// value will be populated with the request's response once the request completes
7730// successfully.
7731//
7732// Use "Send" method on the returned Request to send the API call to the service.
7733// the "output" return value is not valid until after Send returns without error.
7734//
7735// See ListCommandInvocations for more information on using the ListCommandInvocations
7736// API call, and error handling.
7737//
7738// This method is useful when you want to inject custom logic or configuration
7739// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7740//
7741//
7742//    // Example sending a request using the ListCommandInvocationsRequest method.
7743//    req, resp := client.ListCommandInvocationsRequest(params)
7744//
7745//    err := req.Send()
7746//    if err == nil { // resp is now filled
7747//        fmt.Println(resp)
7748//    }
7749//
7750// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
7751func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) {
7752	op := &request.Operation{
7753		Name:       opListCommandInvocations,
7754		HTTPMethod: "POST",
7755		HTTPPath:   "/",
7756		Paginator: &request.Paginator{
7757			InputTokens:     []string{"NextToken"},
7758			OutputTokens:    []string{"NextToken"},
7759			LimitToken:      "MaxResults",
7760			TruncationToken: "",
7761		},
7762	}
7763
7764	if input == nil {
7765		input = &ListCommandInvocationsInput{}
7766	}
7767
7768	output = &ListCommandInvocationsOutput{}
7769	req = c.newRequest(op, input, output)
7770	return
7771}
7772
7773// ListCommandInvocations API operation for Amazon Simple Systems Manager (SSM).
7774//
7775// An invocation is copy of a command sent to a specific instance. A command
7776// can apply to one or more instances. A command invocation applies to one instance.
7777// For example, if a user runs SendCommand against three instances, then a command
7778// invocation is created for each requested instance ID. ListCommandInvocations
7779// provide status about command execution.
7780//
7781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7782// with awserr.Error's Code and Message methods to get detailed information about
7783// the error.
7784//
7785// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7786// API operation ListCommandInvocations for usage and error information.
7787//
7788// Returned Error Codes:
7789//   * ErrCodeInternalServerError "InternalServerError"
7790//   An error occurred on the server side.
7791//
7792//   * ErrCodeInvalidCommandId "InvalidCommandId"
7793//
7794//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
7795//   The following problems can cause this exception:
7796//
7797//   You do not have permission to access the instance.
7798//
7799//   SSM Agent is not running. Verify that SSM Agent is running.
7800//
7801//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
7802//
7803//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
7804//   Stopping. Invalid states are: Shutting-down and Terminated.
7805//
7806//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
7807//   The specified key is not valid.
7808//
7809//   * ErrCodeInvalidNextToken "InvalidNextToken"
7810//   The specified token is not valid.
7811//
7812// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
7813func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) {
7814	req, out := c.ListCommandInvocationsRequest(input)
7815	return out, req.Send()
7816}
7817
7818// ListCommandInvocationsWithContext is the same as ListCommandInvocations with the addition of
7819// the ability to pass a context and additional request options.
7820//
7821// See ListCommandInvocations for details on how to use this API operation.
7822//
7823// The context must be non-nil and will be used for request cancellation. If
7824// the context is nil a panic will occur. In the future the SDK may create
7825// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7826// for more information on using Contexts.
7827func (c *SSM) ListCommandInvocationsWithContext(ctx aws.Context, input *ListCommandInvocationsInput, opts ...request.Option) (*ListCommandInvocationsOutput, error) {
7828	req, out := c.ListCommandInvocationsRequest(input)
7829	req.SetContext(ctx)
7830	req.ApplyOptions(opts...)
7831	return out, req.Send()
7832}
7833
7834// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation,
7835// calling the "fn" function with the response data for each page. To stop
7836// iterating, return false from the fn function.
7837//
7838// See ListCommandInvocations method for more information on how to use this operation.
7839//
7840// Note: This operation can generate multiple requests to a service.
7841//
7842//    // Example iterating over at most 3 pages of a ListCommandInvocations operation.
7843//    pageNum := 0
7844//    err := client.ListCommandInvocationsPages(params,
7845//        func(page *ssm.ListCommandInvocationsOutput, lastPage bool) bool {
7846//            pageNum++
7847//            fmt.Println(page)
7848//            return pageNum <= 3
7849//        })
7850//
7851func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool) error {
7852	return c.ListCommandInvocationsPagesWithContext(aws.BackgroundContext(), input, fn)
7853}
7854
7855// ListCommandInvocationsPagesWithContext same as ListCommandInvocationsPages except
7856// it takes a Context and allows setting request options on the pages.
7857//
7858// The context must be non-nil and will be used for request cancellation. If
7859// the context is nil a panic will occur. In the future the SDK may create
7860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7861// for more information on using Contexts.
7862func (c *SSM) ListCommandInvocationsPagesWithContext(ctx aws.Context, input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool, opts ...request.Option) error {
7863	p := request.Pagination{
7864		NewRequest: func() (*request.Request, error) {
7865			var inCpy *ListCommandInvocationsInput
7866			if input != nil {
7867				tmp := *input
7868				inCpy = &tmp
7869			}
7870			req, _ := c.ListCommandInvocationsRequest(inCpy)
7871			req.SetContext(ctx)
7872			req.ApplyOptions(opts...)
7873			return req, nil
7874		},
7875	}
7876
7877	cont := true
7878	for p.Next() && cont {
7879		cont = fn(p.Page().(*ListCommandInvocationsOutput), !p.HasNextPage())
7880	}
7881	return p.Err()
7882}
7883
7884const opListCommands = "ListCommands"
7885
7886// ListCommandsRequest generates a "aws/request.Request" representing the
7887// client's request for the ListCommands operation. The "output" return
7888// value will be populated with the request's response once the request completes
7889// successfully.
7890//
7891// Use "Send" method on the returned Request to send the API call to the service.
7892// the "output" return value is not valid until after Send returns without error.
7893//
7894// See ListCommands for more information on using the ListCommands
7895// API call, and error handling.
7896//
7897// This method is useful when you want to inject custom logic or configuration
7898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7899//
7900//
7901//    // Example sending a request using the ListCommandsRequest method.
7902//    req, resp := client.ListCommandsRequest(params)
7903//
7904//    err := req.Send()
7905//    if err == nil { // resp is now filled
7906//        fmt.Println(resp)
7907//    }
7908//
7909// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
7910func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) {
7911	op := &request.Operation{
7912		Name:       opListCommands,
7913		HTTPMethod: "POST",
7914		HTTPPath:   "/",
7915		Paginator: &request.Paginator{
7916			InputTokens:     []string{"NextToken"},
7917			OutputTokens:    []string{"NextToken"},
7918			LimitToken:      "MaxResults",
7919			TruncationToken: "",
7920		},
7921	}
7922
7923	if input == nil {
7924		input = &ListCommandsInput{}
7925	}
7926
7927	output = &ListCommandsOutput{}
7928	req = c.newRequest(op, input, output)
7929	return
7930}
7931
7932// ListCommands API operation for Amazon Simple Systems Manager (SSM).
7933//
7934// Lists the commands requested by users of the AWS account.
7935//
7936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7937// with awserr.Error's Code and Message methods to get detailed information about
7938// the error.
7939//
7940// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7941// API operation ListCommands for usage and error information.
7942//
7943// Returned Error Codes:
7944//   * ErrCodeInternalServerError "InternalServerError"
7945//   An error occurred on the server side.
7946//
7947//   * ErrCodeInvalidCommandId "InvalidCommandId"
7948//
7949//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
7950//   The following problems can cause this exception:
7951//
7952//   You do not have permission to access the instance.
7953//
7954//   SSM Agent is not running. Verify that SSM Agent is running.
7955//
7956//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
7957//
7958//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
7959//   Stopping. Invalid states are: Shutting-down and Terminated.
7960//
7961//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
7962//   The specified key is not valid.
7963//
7964//   * ErrCodeInvalidNextToken "InvalidNextToken"
7965//   The specified token is not valid.
7966//
7967// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
7968func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) {
7969	req, out := c.ListCommandsRequest(input)
7970	return out, req.Send()
7971}
7972
7973// ListCommandsWithContext is the same as ListCommands with the addition of
7974// the ability to pass a context and additional request options.
7975//
7976// See ListCommands for details on how to use this API operation.
7977//
7978// The context must be non-nil and will be used for request cancellation. If
7979// the context is nil a panic will occur. In the future the SDK may create
7980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7981// for more information on using Contexts.
7982func (c *SSM) ListCommandsWithContext(ctx aws.Context, input *ListCommandsInput, opts ...request.Option) (*ListCommandsOutput, error) {
7983	req, out := c.ListCommandsRequest(input)
7984	req.SetContext(ctx)
7985	req.ApplyOptions(opts...)
7986	return out, req.Send()
7987}
7988
7989// ListCommandsPages iterates over the pages of a ListCommands operation,
7990// calling the "fn" function with the response data for each page. To stop
7991// iterating, return false from the fn function.
7992//
7993// See ListCommands method for more information on how to use this operation.
7994//
7995// Note: This operation can generate multiple requests to a service.
7996//
7997//    // Example iterating over at most 3 pages of a ListCommands operation.
7998//    pageNum := 0
7999//    err := client.ListCommandsPages(params,
8000//        func(page *ssm.ListCommandsOutput, lastPage bool) bool {
8001//            pageNum++
8002//            fmt.Println(page)
8003//            return pageNum <= 3
8004//        })
8005//
8006func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool) error {
8007	return c.ListCommandsPagesWithContext(aws.BackgroundContext(), input, fn)
8008}
8009
8010// ListCommandsPagesWithContext same as ListCommandsPages except
8011// it takes a Context and allows setting request options on the pages.
8012//
8013// The context must be non-nil and will be used for request cancellation. If
8014// the context is nil a panic will occur. In the future the SDK may create
8015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8016// for more information on using Contexts.
8017func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool, opts ...request.Option) error {
8018	p := request.Pagination{
8019		NewRequest: func() (*request.Request, error) {
8020			var inCpy *ListCommandsInput
8021			if input != nil {
8022				tmp := *input
8023				inCpy = &tmp
8024			}
8025			req, _ := c.ListCommandsRequest(inCpy)
8026			req.SetContext(ctx)
8027			req.ApplyOptions(opts...)
8028			return req, nil
8029		},
8030	}
8031
8032	cont := true
8033	for p.Next() && cont {
8034		cont = fn(p.Page().(*ListCommandsOutput), !p.HasNextPage())
8035	}
8036	return p.Err()
8037}
8038
8039const opListComplianceItems = "ListComplianceItems"
8040
8041// ListComplianceItemsRequest generates a "aws/request.Request" representing the
8042// client's request for the ListComplianceItems operation. The "output" return
8043// value will be populated with the request's response once the request completes
8044// successfully.
8045//
8046// Use "Send" method on the returned Request to send the API call to the service.
8047// the "output" return value is not valid until after Send returns without error.
8048//
8049// See ListComplianceItems for more information on using the ListComplianceItems
8050// API call, and error handling.
8051//
8052// This method is useful when you want to inject custom logic or configuration
8053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8054//
8055//
8056//    // Example sending a request using the ListComplianceItemsRequest method.
8057//    req, resp := client.ListComplianceItemsRequest(params)
8058//
8059//    err := req.Send()
8060//    if err == nil { // resp is now filled
8061//        fmt.Println(resp)
8062//    }
8063//
8064// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
8065func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) {
8066	op := &request.Operation{
8067		Name:       opListComplianceItems,
8068		HTTPMethod: "POST",
8069		HTTPPath:   "/",
8070	}
8071
8072	if input == nil {
8073		input = &ListComplianceItemsInput{}
8074	}
8075
8076	output = &ListComplianceItemsOutput{}
8077	req = c.newRequest(op, input, output)
8078	return
8079}
8080
8081// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM).
8082//
8083// For a specified resource ID, this API action returns a list of compliance
8084// statuses for different resource types. Currently, you can only specify one
8085// resource ID per call. List results depend on the criteria specified in the
8086// filter.
8087//
8088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8089// with awserr.Error's Code and Message methods to get detailed information about
8090// the error.
8091//
8092// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8093// API operation ListComplianceItems for usage and error information.
8094//
8095// Returned Error Codes:
8096//   * ErrCodeInvalidResourceType "InvalidResourceType"
8097//   The resource type is not valid. For example, if you are attempting to tag
8098//   an instance, the instance must be a registered, managed instance.
8099//
8100//   * ErrCodeInvalidResourceId "InvalidResourceId"
8101//   The resource ID is not valid. Verify that you entered the correct ID and
8102//   try again.
8103//
8104//   * ErrCodeInternalServerError "InternalServerError"
8105//   An error occurred on the server side.
8106//
8107//   * ErrCodeInvalidFilter "InvalidFilter"
8108//   The filter name is not valid. Verify the you entered the correct name and
8109//   try again.
8110//
8111//   * ErrCodeInvalidNextToken "InvalidNextToken"
8112//   The specified token is not valid.
8113//
8114// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
8115func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) {
8116	req, out := c.ListComplianceItemsRequest(input)
8117	return out, req.Send()
8118}
8119
8120// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of
8121// the ability to pass a context and additional request options.
8122//
8123// See ListComplianceItems for details on how to use this API operation.
8124//
8125// The context must be non-nil and will be used for request cancellation. If
8126// the context is nil a panic will occur. In the future the SDK may create
8127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8128// for more information on using Contexts.
8129func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) {
8130	req, out := c.ListComplianceItemsRequest(input)
8131	req.SetContext(ctx)
8132	req.ApplyOptions(opts...)
8133	return out, req.Send()
8134}
8135
8136const opListComplianceSummaries = "ListComplianceSummaries"
8137
8138// ListComplianceSummariesRequest generates a "aws/request.Request" representing the
8139// client's request for the ListComplianceSummaries operation. The "output" return
8140// value will be populated with the request's response once the request completes
8141// successfully.
8142//
8143// Use "Send" method on the returned Request to send the API call to the service.
8144// the "output" return value is not valid until after Send returns without error.
8145//
8146// See ListComplianceSummaries for more information on using the ListComplianceSummaries
8147// API call, and error handling.
8148//
8149// This method is useful when you want to inject custom logic or configuration
8150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8151//
8152//
8153//    // Example sending a request using the ListComplianceSummariesRequest method.
8154//    req, resp := client.ListComplianceSummariesRequest(params)
8155//
8156//    err := req.Send()
8157//    if err == nil { // resp is now filled
8158//        fmt.Println(resp)
8159//    }
8160//
8161// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
8162func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) {
8163	op := &request.Operation{
8164		Name:       opListComplianceSummaries,
8165		HTTPMethod: "POST",
8166		HTTPPath:   "/",
8167	}
8168
8169	if input == nil {
8170		input = &ListComplianceSummariesInput{}
8171	}
8172
8173	output = &ListComplianceSummariesOutput{}
8174	req = c.newRequest(op, input, output)
8175	return
8176}
8177
8178// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
8179//
8180// Returns a summary count of compliant and non-compliant resources for a compliance
8181// type. For example, this call can return State Manager associations, patches,
8182// or custom compliance types according to the filter criteria that you specify.
8183//
8184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8185// with awserr.Error's Code and Message methods to get detailed information about
8186// the error.
8187//
8188// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8189// API operation ListComplianceSummaries for usage and error information.
8190//
8191// Returned Error Codes:
8192//   * ErrCodeInvalidFilter "InvalidFilter"
8193//   The filter name is not valid. Verify the you entered the correct name and
8194//   try again.
8195//
8196//   * ErrCodeInvalidNextToken "InvalidNextToken"
8197//   The specified token is not valid.
8198//
8199//   * ErrCodeInternalServerError "InternalServerError"
8200//   An error occurred on the server side.
8201//
8202// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
8203func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) {
8204	req, out := c.ListComplianceSummariesRequest(input)
8205	return out, req.Send()
8206}
8207
8208// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of
8209// the ability to pass a context and additional request options.
8210//
8211// See ListComplianceSummaries for details on how to use this API operation.
8212//
8213// The context must be non-nil and will be used for request cancellation. If
8214// the context is nil a panic will occur. In the future the SDK may create
8215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8216// for more information on using Contexts.
8217func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) {
8218	req, out := c.ListComplianceSummariesRequest(input)
8219	req.SetContext(ctx)
8220	req.ApplyOptions(opts...)
8221	return out, req.Send()
8222}
8223
8224const opListDocumentVersions = "ListDocumentVersions"
8225
8226// ListDocumentVersionsRequest generates a "aws/request.Request" representing the
8227// client's request for the ListDocumentVersions operation. The "output" return
8228// value will be populated with the request's response once the request completes
8229// successfully.
8230//
8231// Use "Send" method on the returned Request to send the API call to the service.
8232// the "output" return value is not valid until after Send returns without error.
8233//
8234// See ListDocumentVersions for more information on using the ListDocumentVersions
8235// API call, and error handling.
8236//
8237// This method is useful when you want to inject custom logic or configuration
8238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8239//
8240//
8241//    // Example sending a request using the ListDocumentVersionsRequest method.
8242//    req, resp := client.ListDocumentVersionsRequest(params)
8243//
8244//    err := req.Send()
8245//    if err == nil { // resp is now filled
8246//        fmt.Println(resp)
8247//    }
8248//
8249// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
8250func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) {
8251	op := &request.Operation{
8252		Name:       opListDocumentVersions,
8253		HTTPMethod: "POST",
8254		HTTPPath:   "/",
8255	}
8256
8257	if input == nil {
8258		input = &ListDocumentVersionsInput{}
8259	}
8260
8261	output = &ListDocumentVersionsOutput{}
8262	req = c.newRequest(op, input, output)
8263	return
8264}
8265
8266// ListDocumentVersions API operation for Amazon Simple Systems Manager (SSM).
8267//
8268// List all versions for a document.
8269//
8270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8271// with awserr.Error's Code and Message methods to get detailed information about
8272// the error.
8273//
8274// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8275// API operation ListDocumentVersions for usage and error information.
8276//
8277// Returned Error Codes:
8278//   * ErrCodeInternalServerError "InternalServerError"
8279//   An error occurred on the server side.
8280//
8281//   * ErrCodeInvalidNextToken "InvalidNextToken"
8282//   The specified token is not valid.
8283//
8284//   * ErrCodeInvalidDocument "InvalidDocument"
8285//   The specified document does not exist.
8286//
8287// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
8288func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) {
8289	req, out := c.ListDocumentVersionsRequest(input)
8290	return out, req.Send()
8291}
8292
8293// ListDocumentVersionsWithContext is the same as ListDocumentVersions with the addition of
8294// the ability to pass a context and additional request options.
8295//
8296// See ListDocumentVersions for details on how to use this API operation.
8297//
8298// The context must be non-nil and will be used for request cancellation. If
8299// the context is nil a panic will occur. In the future the SDK may create
8300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8301// for more information on using Contexts.
8302func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocumentVersionsInput, opts ...request.Option) (*ListDocumentVersionsOutput, error) {
8303	req, out := c.ListDocumentVersionsRequest(input)
8304	req.SetContext(ctx)
8305	req.ApplyOptions(opts...)
8306	return out, req.Send()
8307}
8308
8309const opListDocuments = "ListDocuments"
8310
8311// ListDocumentsRequest generates a "aws/request.Request" representing the
8312// client's request for the ListDocuments operation. The "output" return
8313// value will be populated with the request's response once the request completes
8314// successfully.
8315//
8316// Use "Send" method on the returned Request to send the API call to the service.
8317// the "output" return value is not valid until after Send returns without error.
8318//
8319// See ListDocuments for more information on using the ListDocuments
8320// API call, and error handling.
8321//
8322// This method is useful when you want to inject custom logic or configuration
8323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8324//
8325//
8326//    // Example sending a request using the ListDocumentsRequest method.
8327//    req, resp := client.ListDocumentsRequest(params)
8328//
8329//    err := req.Send()
8330//    if err == nil { // resp is now filled
8331//        fmt.Println(resp)
8332//    }
8333//
8334// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
8335func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) {
8336	op := &request.Operation{
8337		Name:       opListDocuments,
8338		HTTPMethod: "POST",
8339		HTTPPath:   "/",
8340		Paginator: &request.Paginator{
8341			InputTokens:     []string{"NextToken"},
8342			OutputTokens:    []string{"NextToken"},
8343			LimitToken:      "MaxResults",
8344			TruncationToken: "",
8345		},
8346	}
8347
8348	if input == nil {
8349		input = &ListDocumentsInput{}
8350	}
8351
8352	output = &ListDocumentsOutput{}
8353	req = c.newRequest(op, input, output)
8354	return
8355}
8356
8357// ListDocuments API operation for Amazon Simple Systems Manager (SSM).
8358//
8359// Describes one or more of your Systems Manager documents.
8360//
8361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8362// with awserr.Error's Code and Message methods to get detailed information about
8363// the error.
8364//
8365// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8366// API operation ListDocuments for usage and error information.
8367//
8368// Returned Error Codes:
8369//   * ErrCodeInternalServerError "InternalServerError"
8370//   An error occurred on the server side.
8371//
8372//   * ErrCodeInvalidNextToken "InvalidNextToken"
8373//   The specified token is not valid.
8374//
8375//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
8376//   The specified key is not valid.
8377//
8378// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
8379func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) {
8380	req, out := c.ListDocumentsRequest(input)
8381	return out, req.Send()
8382}
8383
8384// ListDocumentsWithContext is the same as ListDocuments with the addition of
8385// the ability to pass a context and additional request options.
8386//
8387// See ListDocuments for details on how to use this API operation.
8388//
8389// The context must be non-nil and will be used for request cancellation. If
8390// the context is nil a panic will occur. In the future the SDK may create
8391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8392// for more information on using Contexts.
8393func (c *SSM) ListDocumentsWithContext(ctx aws.Context, input *ListDocumentsInput, opts ...request.Option) (*ListDocumentsOutput, error) {
8394	req, out := c.ListDocumentsRequest(input)
8395	req.SetContext(ctx)
8396	req.ApplyOptions(opts...)
8397	return out, req.Send()
8398}
8399
8400// ListDocumentsPages iterates over the pages of a ListDocuments operation,
8401// calling the "fn" function with the response data for each page. To stop
8402// iterating, return false from the fn function.
8403//
8404// See ListDocuments method for more information on how to use this operation.
8405//
8406// Note: This operation can generate multiple requests to a service.
8407//
8408//    // Example iterating over at most 3 pages of a ListDocuments operation.
8409//    pageNum := 0
8410//    err := client.ListDocumentsPages(params,
8411//        func(page *ssm.ListDocumentsOutput, lastPage bool) bool {
8412//            pageNum++
8413//            fmt.Println(page)
8414//            return pageNum <= 3
8415//        })
8416//
8417func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool) error {
8418	return c.ListDocumentsPagesWithContext(aws.BackgroundContext(), input, fn)
8419}
8420
8421// ListDocumentsPagesWithContext same as ListDocumentsPages except
8422// it takes a Context and allows setting request options on the pages.
8423//
8424// The context must be non-nil and will be used for request cancellation. If
8425// the context is nil a panic will occur. In the future the SDK may create
8426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8427// for more information on using Contexts.
8428func (c *SSM) ListDocumentsPagesWithContext(ctx aws.Context, input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool, opts ...request.Option) error {
8429	p := request.Pagination{
8430		NewRequest: func() (*request.Request, error) {
8431			var inCpy *ListDocumentsInput
8432			if input != nil {
8433				tmp := *input
8434				inCpy = &tmp
8435			}
8436			req, _ := c.ListDocumentsRequest(inCpy)
8437			req.SetContext(ctx)
8438			req.ApplyOptions(opts...)
8439			return req, nil
8440		},
8441	}
8442
8443	cont := true
8444	for p.Next() && cont {
8445		cont = fn(p.Page().(*ListDocumentsOutput), !p.HasNextPage())
8446	}
8447	return p.Err()
8448}
8449
8450const opListInventoryEntries = "ListInventoryEntries"
8451
8452// ListInventoryEntriesRequest generates a "aws/request.Request" representing the
8453// client's request for the ListInventoryEntries operation. The "output" return
8454// value will be populated with the request's response once the request completes
8455// successfully.
8456//
8457// Use "Send" method on the returned Request to send the API call to the service.
8458// the "output" return value is not valid until after Send returns without error.
8459//
8460// See ListInventoryEntries for more information on using the ListInventoryEntries
8461// API call, and error handling.
8462//
8463// This method is useful when you want to inject custom logic or configuration
8464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8465//
8466//
8467//    // Example sending a request using the ListInventoryEntriesRequest method.
8468//    req, resp := client.ListInventoryEntriesRequest(params)
8469//
8470//    err := req.Send()
8471//    if err == nil { // resp is now filled
8472//        fmt.Println(resp)
8473//    }
8474//
8475// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
8476func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) {
8477	op := &request.Operation{
8478		Name:       opListInventoryEntries,
8479		HTTPMethod: "POST",
8480		HTTPPath:   "/",
8481	}
8482
8483	if input == nil {
8484		input = &ListInventoryEntriesInput{}
8485	}
8486
8487	output = &ListInventoryEntriesOutput{}
8488	req = c.newRequest(op, input, output)
8489	return
8490}
8491
8492// ListInventoryEntries API operation for Amazon Simple Systems Manager (SSM).
8493//
8494// A list of inventory items returned by the request.
8495//
8496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8497// with awserr.Error's Code and Message methods to get detailed information about
8498// the error.
8499//
8500// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8501// API operation ListInventoryEntries for usage and error information.
8502//
8503// Returned Error Codes:
8504//   * ErrCodeInternalServerError "InternalServerError"
8505//   An error occurred on the server side.
8506//
8507//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
8508//   The following problems can cause this exception:
8509//
8510//   You do not have permission to access the instance.
8511//
8512//   SSM Agent is not running. Verify that SSM Agent is running.
8513//
8514//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
8515//
8516//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
8517//   Stopping. Invalid states are: Shutting-down and Terminated.
8518//
8519//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
8520//   The parameter type name is not valid.
8521//
8522//   * ErrCodeInvalidFilter "InvalidFilter"
8523//   The filter name is not valid. Verify the you entered the correct name and
8524//   try again.
8525//
8526//   * ErrCodeInvalidNextToken "InvalidNextToken"
8527//   The specified token is not valid.
8528//
8529// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
8530func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) {
8531	req, out := c.ListInventoryEntriesRequest(input)
8532	return out, req.Send()
8533}
8534
8535// ListInventoryEntriesWithContext is the same as ListInventoryEntries with the addition of
8536// the ability to pass a context and additional request options.
8537//
8538// See ListInventoryEntries for details on how to use this API operation.
8539//
8540// The context must be non-nil and will be used for request cancellation. If
8541// the context is nil a panic will occur. In the future the SDK may create
8542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8543// for more information on using Contexts.
8544func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInventoryEntriesInput, opts ...request.Option) (*ListInventoryEntriesOutput, error) {
8545	req, out := c.ListInventoryEntriesRequest(input)
8546	req.SetContext(ctx)
8547	req.ApplyOptions(opts...)
8548	return out, req.Send()
8549}
8550
8551const opListResourceComplianceSummaries = "ListResourceComplianceSummaries"
8552
8553// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the
8554// client's request for the ListResourceComplianceSummaries operation. The "output" return
8555// value will be populated with the request's response once the request completes
8556// successfully.
8557//
8558// Use "Send" method on the returned Request to send the API call to the service.
8559// the "output" return value is not valid until after Send returns without error.
8560//
8561// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries
8562// API call, and error handling.
8563//
8564// This method is useful when you want to inject custom logic or configuration
8565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8566//
8567//
8568//    // Example sending a request using the ListResourceComplianceSummariesRequest method.
8569//    req, resp := client.ListResourceComplianceSummariesRequest(params)
8570//
8571//    err := req.Send()
8572//    if err == nil { // resp is now filled
8573//        fmt.Println(resp)
8574//    }
8575//
8576// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
8577func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) {
8578	op := &request.Operation{
8579		Name:       opListResourceComplianceSummaries,
8580		HTTPMethod: "POST",
8581		HTTPPath:   "/",
8582	}
8583
8584	if input == nil {
8585		input = &ListResourceComplianceSummariesInput{}
8586	}
8587
8588	output = &ListResourceComplianceSummariesOutput{}
8589	req = c.newRequest(op, input, output)
8590	return
8591}
8592
8593// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
8594//
8595// Returns a resource-level summary count. The summary includes information
8596// about compliant and non-compliant statuses and detailed compliance-item severity
8597// counts, according to the filter criteria you specify.
8598//
8599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8600// with awserr.Error's Code and Message methods to get detailed information about
8601// the error.
8602//
8603// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8604// API operation ListResourceComplianceSummaries for usage and error information.
8605//
8606// Returned Error Codes:
8607//   * ErrCodeInvalidFilter "InvalidFilter"
8608//   The filter name is not valid. Verify the you entered the correct name and
8609//   try again.
8610//
8611//   * ErrCodeInvalidNextToken "InvalidNextToken"
8612//   The specified token is not valid.
8613//
8614//   * ErrCodeInternalServerError "InternalServerError"
8615//   An error occurred on the server side.
8616//
8617// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
8618func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) {
8619	req, out := c.ListResourceComplianceSummariesRequest(input)
8620	return out, req.Send()
8621}
8622
8623// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of
8624// the ability to pass a context and additional request options.
8625//
8626// See ListResourceComplianceSummaries for details on how to use this API operation.
8627//
8628// The context must be non-nil and will be used for request cancellation. If
8629// the context is nil a panic will occur. In the future the SDK may create
8630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8631// for more information on using Contexts.
8632func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) {
8633	req, out := c.ListResourceComplianceSummariesRequest(input)
8634	req.SetContext(ctx)
8635	req.ApplyOptions(opts...)
8636	return out, req.Send()
8637}
8638
8639const opListResourceDataSync = "ListResourceDataSync"
8640
8641// ListResourceDataSyncRequest generates a "aws/request.Request" representing the
8642// client's request for the ListResourceDataSync operation. The "output" return
8643// value will be populated with the request's response once the request completes
8644// successfully.
8645//
8646// Use "Send" method on the returned Request to send the API call to the service.
8647// the "output" return value is not valid until after Send returns without error.
8648//
8649// See ListResourceDataSync for more information on using the ListResourceDataSync
8650// API call, and error handling.
8651//
8652// This method is useful when you want to inject custom logic or configuration
8653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8654//
8655//
8656//    // Example sending a request using the ListResourceDataSyncRequest method.
8657//    req, resp := client.ListResourceDataSyncRequest(params)
8658//
8659//    err := req.Send()
8660//    if err == nil { // resp is now filled
8661//        fmt.Println(resp)
8662//    }
8663//
8664// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
8665func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req *request.Request, output *ListResourceDataSyncOutput) {
8666	op := &request.Operation{
8667		Name:       opListResourceDataSync,
8668		HTTPMethod: "POST",
8669		HTTPPath:   "/",
8670	}
8671
8672	if input == nil {
8673		input = &ListResourceDataSyncInput{}
8674	}
8675
8676	output = &ListResourceDataSyncOutput{}
8677	req = c.newRequest(op, input, output)
8678	return
8679}
8680
8681// ListResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
8682//
8683// Lists your resource data sync configurations. Includes information about
8684// the last time a sync attempted to start, the last sync status, and the last
8685// time a sync successfully completed.
8686//
8687// The number of sync configurations might be too large to return using a single
8688// call to ListResourceDataSync. You can limit the number of sync configurations
8689// returned by using the MaxResults parameter. To determine whether there are
8690// more sync configurations to list, check the value of NextToken in the output.
8691// If there are more sync configurations to list, you can request them by specifying
8692// the NextToken returned in the call to the parameter of a subsequent call.
8693//
8694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8695// with awserr.Error's Code and Message methods to get detailed information about
8696// the error.
8697//
8698// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8699// API operation ListResourceDataSync for usage and error information.
8700//
8701// Returned Error Codes:
8702//   * ErrCodeInternalServerError "InternalServerError"
8703//   An error occurred on the server side.
8704//
8705//   * ErrCodeInvalidNextToken "InvalidNextToken"
8706//   The specified token is not valid.
8707//
8708// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
8709func (c *SSM) ListResourceDataSync(input *ListResourceDataSyncInput) (*ListResourceDataSyncOutput, error) {
8710	req, out := c.ListResourceDataSyncRequest(input)
8711	return out, req.Send()
8712}
8713
8714// ListResourceDataSyncWithContext is the same as ListResourceDataSync with the addition of
8715// the ability to pass a context and additional request options.
8716//
8717// See ListResourceDataSync for details on how to use this API operation.
8718//
8719// The context must be non-nil and will be used for request cancellation. If
8720// the context is nil a panic will occur. In the future the SDK may create
8721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8722// for more information on using Contexts.
8723func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResourceDataSyncInput, opts ...request.Option) (*ListResourceDataSyncOutput, error) {
8724	req, out := c.ListResourceDataSyncRequest(input)
8725	req.SetContext(ctx)
8726	req.ApplyOptions(opts...)
8727	return out, req.Send()
8728}
8729
8730const opListTagsForResource = "ListTagsForResource"
8731
8732// ListTagsForResourceRequest generates a "aws/request.Request" representing the
8733// client's request for the ListTagsForResource operation. The "output" return
8734// value will be populated with the request's response once the request completes
8735// successfully.
8736//
8737// Use "Send" method on the returned Request to send the API call to the service.
8738// the "output" return value is not valid until after Send returns without error.
8739//
8740// See ListTagsForResource for more information on using the ListTagsForResource
8741// API call, and error handling.
8742//
8743// This method is useful when you want to inject custom logic or configuration
8744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8745//
8746//
8747//    // Example sending a request using the ListTagsForResourceRequest method.
8748//    req, resp := client.ListTagsForResourceRequest(params)
8749//
8750//    err := req.Send()
8751//    if err == nil { // resp is now filled
8752//        fmt.Println(resp)
8753//    }
8754//
8755// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
8756func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
8757	op := &request.Operation{
8758		Name:       opListTagsForResource,
8759		HTTPMethod: "POST",
8760		HTTPPath:   "/",
8761	}
8762
8763	if input == nil {
8764		input = &ListTagsForResourceInput{}
8765	}
8766
8767	output = &ListTagsForResourceOutput{}
8768	req = c.newRequest(op, input, output)
8769	return
8770}
8771
8772// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM).
8773//
8774// Returns a list of the tags assigned to the specified resource.
8775//
8776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8777// with awserr.Error's Code and Message methods to get detailed information about
8778// the error.
8779//
8780// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8781// API operation ListTagsForResource for usage and error information.
8782//
8783// Returned Error Codes:
8784//   * ErrCodeInvalidResourceType "InvalidResourceType"
8785//   The resource type is not valid. For example, if you are attempting to tag
8786//   an instance, the instance must be a registered, managed instance.
8787//
8788//   * ErrCodeInvalidResourceId "InvalidResourceId"
8789//   The resource ID is not valid. Verify that you entered the correct ID and
8790//   try again.
8791//
8792//   * ErrCodeInternalServerError "InternalServerError"
8793//   An error occurred on the server side.
8794//
8795// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
8796func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
8797	req, out := c.ListTagsForResourceRequest(input)
8798	return out, req.Send()
8799}
8800
8801// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
8802// the ability to pass a context and additional request options.
8803//
8804// See ListTagsForResource for details on how to use this API operation.
8805//
8806// The context must be non-nil and will be used for request cancellation. If
8807// the context is nil a panic will occur. In the future the SDK may create
8808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8809// for more information on using Contexts.
8810func (c *SSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
8811	req, out := c.ListTagsForResourceRequest(input)
8812	req.SetContext(ctx)
8813	req.ApplyOptions(opts...)
8814	return out, req.Send()
8815}
8816
8817const opModifyDocumentPermission = "ModifyDocumentPermission"
8818
8819// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the
8820// client's request for the ModifyDocumentPermission operation. The "output" return
8821// value will be populated with the request's response once the request completes
8822// successfully.
8823//
8824// Use "Send" method on the returned Request to send the API call to the service.
8825// the "output" return value is not valid until after Send returns without error.
8826//
8827// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission
8828// API call, and error handling.
8829//
8830// This method is useful when you want to inject custom logic or configuration
8831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8832//
8833//
8834//    // Example sending a request using the ModifyDocumentPermissionRequest method.
8835//    req, resp := client.ModifyDocumentPermissionRequest(params)
8836//
8837//    err := req.Send()
8838//    if err == nil { // resp is now filled
8839//        fmt.Println(resp)
8840//    }
8841//
8842// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
8843func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) {
8844	op := &request.Operation{
8845		Name:       opModifyDocumentPermission,
8846		HTTPMethod: "POST",
8847		HTTPPath:   "/",
8848	}
8849
8850	if input == nil {
8851		input = &ModifyDocumentPermissionInput{}
8852	}
8853
8854	output = &ModifyDocumentPermissionOutput{}
8855	req = c.newRequest(op, input, output)
8856	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8857	return
8858}
8859
8860// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
8861//
8862// Shares a Systems Manager document publicly or privately. If you share a document
8863// privately, you must specify the AWS user account IDs for those people who
8864// can use the document. If you share a document publicly, you must specify
8865// All as the account ID.
8866//
8867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8868// with awserr.Error's Code and Message methods to get detailed information about
8869// the error.
8870//
8871// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8872// API operation ModifyDocumentPermission for usage and error information.
8873//
8874// Returned Error Codes:
8875//   * ErrCodeInternalServerError "InternalServerError"
8876//   An error occurred on the server side.
8877//
8878//   * ErrCodeInvalidDocument "InvalidDocument"
8879//   The specified document does not exist.
8880//
8881//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
8882//   The permission type is not supported. Share is the only supported permission
8883//   type.
8884//
8885//   * ErrCodeDocumentPermissionLimit "DocumentPermissionLimit"
8886//   The document cannot be shared with more AWS user accounts. You can share
8887//   a document with a maximum of 20 accounts. You can publicly share up to five
8888//   documents. If you need to increase this limit, contact AWS Support.
8889//
8890//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
8891//   You can have at most 500 active Systems Manager documents.
8892//
8893// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
8894func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) {
8895	req, out := c.ModifyDocumentPermissionRequest(input)
8896	return out, req.Send()
8897}
8898
8899// ModifyDocumentPermissionWithContext is the same as ModifyDocumentPermission with the addition of
8900// the ability to pass a context and additional request options.
8901//
8902// See ModifyDocumentPermission for details on how to use this API operation.
8903//
8904// The context must be non-nil and will be used for request cancellation. If
8905// the context is nil a panic will occur. In the future the SDK may create
8906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8907// for more information on using Contexts.
8908func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *ModifyDocumentPermissionInput, opts ...request.Option) (*ModifyDocumentPermissionOutput, error) {
8909	req, out := c.ModifyDocumentPermissionRequest(input)
8910	req.SetContext(ctx)
8911	req.ApplyOptions(opts...)
8912	return out, req.Send()
8913}
8914
8915const opPutComplianceItems = "PutComplianceItems"
8916
8917// PutComplianceItemsRequest generates a "aws/request.Request" representing the
8918// client's request for the PutComplianceItems operation. The "output" return
8919// value will be populated with the request's response once the request completes
8920// successfully.
8921//
8922// Use "Send" method on the returned Request to send the API call to the service.
8923// the "output" return value is not valid until after Send returns without error.
8924//
8925// See PutComplianceItems for more information on using the PutComplianceItems
8926// API call, and error handling.
8927//
8928// This method is useful when you want to inject custom logic or configuration
8929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8930//
8931//
8932//    // Example sending a request using the PutComplianceItemsRequest method.
8933//    req, resp := client.PutComplianceItemsRequest(params)
8934//
8935//    err := req.Send()
8936//    if err == nil { // resp is now filled
8937//        fmt.Println(resp)
8938//    }
8939//
8940// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
8941func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) {
8942	op := &request.Operation{
8943		Name:       opPutComplianceItems,
8944		HTTPMethod: "POST",
8945		HTTPPath:   "/",
8946	}
8947
8948	if input == nil {
8949		input = &PutComplianceItemsInput{}
8950	}
8951
8952	output = &PutComplianceItemsOutput{}
8953	req = c.newRequest(op, input, output)
8954	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8955	return
8956}
8957
8958// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM).
8959//
8960// Registers a compliance type and other compliance details on a designated
8961// resource. This action lets you register custom compliance details with a
8962// resource. This call overwrites existing compliance information on the resource,
8963// so you must provide a full list of compliance items each time that you send
8964// the request.
8965//
8966// ComplianceType can be one of the following:
8967//
8968//    * ExecutionId: The execution ID when the patch, association, or custom
8969//    compliance item was applied.
8970//
8971//    * ExecutionType: Specify patch, association, or Custom:string.
8972//
8973//    * ExecutionTime. The time the patch, association, or custom compliance
8974//    item was applied to the instance.
8975//
8976//    * Id: The patch, association, or custom compliance ID.
8977//
8978//    * Title: A title.
8979//
8980//    * Status: The status of the compliance item. For example, approved for
8981//    patches, or Failed for associations.
8982//
8983//    * Severity: A patch severity. For example, critical.
8984//
8985//    * DocumentName: A SSM document name. For example, AWS-RunPatchBaseline.
8986//
8987//    * DocumentVersion: An SSM document version number. For example, 4.
8988//
8989//    * Classification: A patch classification. For example, security updates.
8990//
8991//    * PatchBaselineId: A patch baseline ID.
8992//
8993//    * PatchSeverity: A patch severity. For example, Critical.
8994//
8995//    * PatchState: A patch state. For example, InstancesWithFailedPatches.
8996//
8997//    * PatchGroup: The name of a patch group.
8998//
8999//    * InstalledTime: The time the association, patch, or custom compliance
9000//    item was applied to the resource. Specify the time by using the following
9001//    format: yyyy-MM-dd'T'HH:mm:ss'Z'
9002//
9003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9004// with awserr.Error's Code and Message methods to get detailed information about
9005// the error.
9006//
9007// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9008// API operation PutComplianceItems for usage and error information.
9009//
9010// Returned Error Codes:
9011//   * ErrCodeInternalServerError "InternalServerError"
9012//   An error occurred on the server side.
9013//
9014//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
9015//   One or more content items is not valid.
9016//
9017//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
9018//   The size of inventory data has exceeded the total size limit for the resource.
9019//
9020//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
9021//   The inventory item size has exceeded the size limit.
9022//
9023//   * ErrCodeComplianceTypeCountLimitExceededException "ComplianceTypeCountLimitExceededException"
9024//   You specified too many custom compliance types. You can specify a maximum
9025//   of 10 different types.
9026//
9027//   * ErrCodeInvalidResourceType "InvalidResourceType"
9028//   The resource type is not valid. For example, if you are attempting to tag
9029//   an instance, the instance must be a registered, managed instance.
9030//
9031//   * ErrCodeInvalidResourceId "InvalidResourceId"
9032//   The resource ID is not valid. Verify that you entered the correct ID and
9033//   try again.
9034//
9035// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
9036func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) {
9037	req, out := c.PutComplianceItemsRequest(input)
9038	return out, req.Send()
9039}
9040
9041// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of
9042// the ability to pass a context and additional request options.
9043//
9044// See PutComplianceItems for details on how to use this API operation.
9045//
9046// The context must be non-nil and will be used for request cancellation. If
9047// the context is nil a panic will occur. In the future the SDK may create
9048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9049// for more information on using Contexts.
9050func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) {
9051	req, out := c.PutComplianceItemsRequest(input)
9052	req.SetContext(ctx)
9053	req.ApplyOptions(opts...)
9054	return out, req.Send()
9055}
9056
9057const opPutInventory = "PutInventory"
9058
9059// PutInventoryRequest generates a "aws/request.Request" representing the
9060// client's request for the PutInventory operation. The "output" return
9061// value will be populated with the request's response once the request completes
9062// successfully.
9063//
9064// Use "Send" method on the returned Request to send the API call to the service.
9065// the "output" return value is not valid until after Send returns without error.
9066//
9067// See PutInventory for more information on using the PutInventory
9068// API call, and error handling.
9069//
9070// This method is useful when you want to inject custom logic or configuration
9071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9072//
9073//
9074//    // Example sending a request using the PutInventoryRequest method.
9075//    req, resp := client.PutInventoryRequest(params)
9076//
9077//    err := req.Send()
9078//    if err == nil { // resp is now filled
9079//        fmt.Println(resp)
9080//    }
9081//
9082// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
9083func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) {
9084	op := &request.Operation{
9085		Name:       opPutInventory,
9086		HTTPMethod: "POST",
9087		HTTPPath:   "/",
9088	}
9089
9090	if input == nil {
9091		input = &PutInventoryInput{}
9092	}
9093
9094	output = &PutInventoryOutput{}
9095	req = c.newRequest(op, input, output)
9096	return
9097}
9098
9099// PutInventory API operation for Amazon Simple Systems Manager (SSM).
9100//
9101// Bulk update custom inventory items on one more instance. The request adds
9102// an inventory item, if it doesn't already exist, or updates an inventory item,
9103// if it does exist.
9104//
9105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9106// with awserr.Error's Code and Message methods to get detailed information about
9107// the error.
9108//
9109// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9110// API operation PutInventory for usage and error information.
9111//
9112// Returned Error Codes:
9113//   * ErrCodeInternalServerError "InternalServerError"
9114//   An error occurred on the server side.
9115//
9116//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
9117//   The following problems can cause this exception:
9118//
9119//   You do not have permission to access the instance.
9120//
9121//   SSM Agent is not running. Verify that SSM Agent is running.
9122//
9123//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
9124//
9125//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
9126//   Stopping. Invalid states are: Shutting-down and Terminated.
9127//
9128//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
9129//   The parameter type name is not valid.
9130//
9131//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
9132//   One or more content items is not valid.
9133//
9134//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
9135//   The size of inventory data has exceeded the total size limit for the resource.
9136//
9137//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
9138//   The inventory item size has exceeded the size limit.
9139//
9140//   * ErrCodeItemContentMismatchException "ItemContentMismatchException"
9141//   The inventory item has invalid content.
9142//
9143//   * ErrCodeCustomSchemaCountLimitExceededException "CustomSchemaCountLimitExceededException"
9144//   You have exceeded the limit for custom schemas. Delete one or more custom
9145//   schemas and try again.
9146//
9147//   * ErrCodeUnsupportedInventorySchemaVersionException "UnsupportedInventorySchemaVersionException"
9148//   Inventory item type schema version has to match supported versions in the
9149//   service. Check output of GetInventorySchema to see the available schema version
9150//   for each type.
9151//
9152//   * ErrCodeUnsupportedInventoryItemContextException "UnsupportedInventoryItemContextException"
9153//   The Context attribute that you specified for the InventoryItem is not allowed
9154//   for this inventory type. You can only use the Context attribute with inventory
9155//   types like AWS:ComplianceItem.
9156//
9157//   * ErrCodeInvalidInventoryItemContextException "InvalidInventoryItemContextException"
9158//   You specified invalid keys or values in the Context attribute for InventoryItem.
9159//   Verify the keys and values, and try again.
9160//
9161//   * ErrCodeSubTypeCountLimitExceededException "SubTypeCountLimitExceededException"
9162//   The sub-type count exceeded the limit for the inventory type.
9163//
9164// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
9165func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) {
9166	req, out := c.PutInventoryRequest(input)
9167	return out, req.Send()
9168}
9169
9170// PutInventoryWithContext is the same as PutInventory with the addition of
9171// the ability to pass a context and additional request options.
9172//
9173// See PutInventory for details on how to use this API operation.
9174//
9175// The context must be non-nil and will be used for request cancellation. If
9176// the context is nil a panic will occur. In the future the SDK may create
9177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9178// for more information on using Contexts.
9179func (c *SSM) PutInventoryWithContext(ctx aws.Context, input *PutInventoryInput, opts ...request.Option) (*PutInventoryOutput, error) {
9180	req, out := c.PutInventoryRequest(input)
9181	req.SetContext(ctx)
9182	req.ApplyOptions(opts...)
9183	return out, req.Send()
9184}
9185
9186const opPutParameter = "PutParameter"
9187
9188// PutParameterRequest generates a "aws/request.Request" representing the
9189// client's request for the PutParameter operation. The "output" return
9190// value will be populated with the request's response once the request completes
9191// successfully.
9192//
9193// Use "Send" method on the returned Request to send the API call to the service.
9194// the "output" return value is not valid until after Send returns without error.
9195//
9196// See PutParameter for more information on using the PutParameter
9197// API call, and error handling.
9198//
9199// This method is useful when you want to inject custom logic or configuration
9200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9201//
9202//
9203//    // Example sending a request using the PutParameterRequest method.
9204//    req, resp := client.PutParameterRequest(params)
9205//
9206//    err := req.Send()
9207//    if err == nil { // resp is now filled
9208//        fmt.Println(resp)
9209//    }
9210//
9211// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
9212func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) {
9213	op := &request.Operation{
9214		Name:       opPutParameter,
9215		HTTPMethod: "POST",
9216		HTTPPath:   "/",
9217	}
9218
9219	if input == nil {
9220		input = &PutParameterInput{}
9221	}
9222
9223	output = &PutParameterOutput{}
9224	req = c.newRequest(op, input, output)
9225	return
9226}
9227
9228// PutParameter API operation for Amazon Simple Systems Manager (SSM).
9229//
9230// Add a parameter to the system.
9231//
9232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9233// with awserr.Error's Code and Message methods to get detailed information about
9234// the error.
9235//
9236// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9237// API operation PutParameter for usage and error information.
9238//
9239// Returned Error Codes:
9240//   * ErrCodeInternalServerError "InternalServerError"
9241//   An error occurred on the server side.
9242//
9243//   * ErrCodeInvalidKeyId "InvalidKeyId"
9244//   The query key ID is not valid.
9245//
9246//   * ErrCodeParameterLimitExceeded "ParameterLimitExceeded"
9247//   You have exceeded the number of parameters for this AWS account. Delete one
9248//   or more parameters and try again.
9249//
9250//   * ErrCodeTooManyUpdates "TooManyUpdates"
9251//   There are concurrent updates for a resource that supports one update at a
9252//   time.
9253//
9254//   * ErrCodeParameterAlreadyExists "ParameterAlreadyExists"
9255//   The parameter already exists. You can't create duplicate parameters.
9256//
9257//   * ErrCodeHierarchyLevelLimitExceededException "HierarchyLevelLimitExceededException"
9258//   A hierarchy can have a maximum of 15 levels. For more information, see Requirements
9259//   and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
9260//   in the AWS Systems Manager User Guide.
9261//
9262//   * ErrCodeHierarchyTypeMismatchException "HierarchyTypeMismatchException"
9263//   Parameter Store does not support changing a parameter type in a hierarchy.
9264//   For example, you can't change a parameter from a String type to a SecureString
9265//   type. You must create a new, unique parameter.
9266//
9267//   * ErrCodeInvalidAllowedPatternException "InvalidAllowedPatternException"
9268//   The request does not meet the regular expression requirement.
9269//
9270//   * ErrCodeParameterMaxVersionLimitExceeded "ParameterMaxVersionLimitExceeded"
9271//   The parameter exceeded the maximum number of allowed versions.
9272//
9273//   * ErrCodeParameterPatternMismatchException "ParameterPatternMismatchException"
9274//   The parameter name is not valid.
9275//
9276//   * ErrCodeUnsupportedParameterType "UnsupportedParameterType"
9277//   The parameter type is not supported.
9278//
9279//   * ErrCodePoliciesLimitExceededException "PoliciesLimitExceededException"
9280//   You specified more than the maximum number of allowed policies for the parameter.
9281//   The maximum is 10.
9282//
9283//   * ErrCodeInvalidPolicyTypeException "InvalidPolicyTypeException"
9284//   The policy type is not supported. Parameter Store supports the following
9285//   policy types: Expiration, ExpirationNotification, and NoChangeNotification.
9286//
9287//   * ErrCodeInvalidPolicyAttributeException "InvalidPolicyAttributeException"
9288//   A policy attribute or its value is invalid.
9289//
9290//   * ErrCodeIncompatiblePolicyException "IncompatiblePolicyException"
9291//   There is a conflict in the policies specified for this parameter. You can't,
9292//   for example, specify two Expiration policies for a parameter. Review your
9293//   policies, and try again.
9294//
9295// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
9296func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) {
9297	req, out := c.PutParameterRequest(input)
9298	return out, req.Send()
9299}
9300
9301// PutParameterWithContext is the same as PutParameter with the addition of
9302// the ability to pass a context and additional request options.
9303//
9304// See PutParameter for details on how to use this API operation.
9305//
9306// The context must be non-nil and will be used for request cancellation. If
9307// the context is nil a panic will occur. In the future the SDK may create
9308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9309// for more information on using Contexts.
9310func (c *SSM) PutParameterWithContext(ctx aws.Context, input *PutParameterInput, opts ...request.Option) (*PutParameterOutput, error) {
9311	req, out := c.PutParameterRequest(input)
9312	req.SetContext(ctx)
9313	req.ApplyOptions(opts...)
9314	return out, req.Send()
9315}
9316
9317const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline"
9318
9319// RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
9320// client's request for the RegisterDefaultPatchBaseline operation. The "output" return
9321// value will be populated with the request's response once the request completes
9322// successfully.
9323//
9324// Use "Send" method on the returned Request to send the API call to the service.
9325// the "output" return value is not valid until after Send returns without error.
9326//
9327// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline
9328// API call, and error handling.
9329//
9330// This method is useful when you want to inject custom logic or configuration
9331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9332//
9333//
9334//    // Example sending a request using the RegisterDefaultPatchBaselineRequest method.
9335//    req, resp := client.RegisterDefaultPatchBaselineRequest(params)
9336//
9337//    err := req.Send()
9338//    if err == nil { // resp is now filled
9339//        fmt.Println(resp)
9340//    }
9341//
9342// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
9343func (c *SSM) RegisterDefaultPatchBaselineRequest(input *RegisterDefaultPatchBaselineInput) (req *request.Request, output *RegisterDefaultPatchBaselineOutput) {
9344	op := &request.Operation{
9345		Name:       opRegisterDefaultPatchBaseline,
9346		HTTPMethod: "POST",
9347		HTTPPath:   "/",
9348	}
9349
9350	if input == nil {
9351		input = &RegisterDefaultPatchBaselineInput{}
9352	}
9353
9354	output = &RegisterDefaultPatchBaselineOutput{}
9355	req = c.newRequest(op, input, output)
9356	return
9357}
9358
9359// RegisterDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
9360//
9361// Defines the default patch baseline for the relevant operating system.
9362//
9363// To reset the AWS predefined patch baseline as the default, specify the full
9364// patch baseline ARN as the baseline ID value. For example, for CentOS, specify
9365// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead
9366// of pb-0574b43a65ea646ed.
9367//
9368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9369// with awserr.Error's Code and Message methods to get detailed information about
9370// the error.
9371//
9372// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9373// API operation RegisterDefaultPatchBaseline for usage and error information.
9374//
9375// Returned Error Codes:
9376//   * ErrCodeInvalidResourceId "InvalidResourceId"
9377//   The resource ID is not valid. Verify that you entered the correct ID and
9378//   try again.
9379//
9380//   * ErrCodeDoesNotExistException "DoesNotExistException"
9381//   Error returned when the ID specified for a resource, such as a maintenance
9382//   window or Patch baseline, doesn't exist.
9383//
9384//   For information about resource limits in Systems Manager, see AWS Systems
9385//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9386//
9387//   * ErrCodeInternalServerError "InternalServerError"
9388//   An error occurred on the server side.
9389//
9390// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
9391func (c *SSM) RegisterDefaultPatchBaseline(input *RegisterDefaultPatchBaselineInput) (*RegisterDefaultPatchBaselineOutput, error) {
9392	req, out := c.RegisterDefaultPatchBaselineRequest(input)
9393	return out, req.Send()
9394}
9395
9396// RegisterDefaultPatchBaselineWithContext is the same as RegisterDefaultPatchBaseline with the addition of
9397// the ability to pass a context and additional request options.
9398//
9399// See RegisterDefaultPatchBaseline for details on how to use this API operation.
9400//
9401// The context must be non-nil and will be used for request cancellation. If
9402// the context is nil a panic will occur. In the future the SDK may create
9403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9404// for more information on using Contexts.
9405func (c *SSM) RegisterDefaultPatchBaselineWithContext(ctx aws.Context, input *RegisterDefaultPatchBaselineInput, opts ...request.Option) (*RegisterDefaultPatchBaselineOutput, error) {
9406	req, out := c.RegisterDefaultPatchBaselineRequest(input)
9407	req.SetContext(ctx)
9408	req.ApplyOptions(opts...)
9409	return out, req.Send()
9410}
9411
9412const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup"
9413
9414// RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
9415// client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return
9416// value will be populated with the request's response once the request completes
9417// successfully.
9418//
9419// Use "Send" method on the returned Request to send the API call to the service.
9420// the "output" return value is not valid until after Send returns without error.
9421//
9422// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup
9423// API call, and error handling.
9424//
9425// This method is useful when you want to inject custom logic or configuration
9426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9427//
9428//
9429//    // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method.
9430//    req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params)
9431//
9432//    err := req.Send()
9433//    if err == nil { // resp is now filled
9434//        fmt.Println(resp)
9435//    }
9436//
9437// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
9438func (c *SSM) RegisterPatchBaselineForPatchGroupRequest(input *RegisterPatchBaselineForPatchGroupInput) (req *request.Request, output *RegisterPatchBaselineForPatchGroupOutput) {
9439	op := &request.Operation{
9440		Name:       opRegisterPatchBaselineForPatchGroup,
9441		HTTPMethod: "POST",
9442		HTTPPath:   "/",
9443	}
9444
9445	if input == nil {
9446		input = &RegisterPatchBaselineForPatchGroupInput{}
9447	}
9448
9449	output = &RegisterPatchBaselineForPatchGroupOutput{}
9450	req = c.newRequest(op, input, output)
9451	return
9452}
9453
9454// RegisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
9455//
9456// Registers a patch baseline for a patch group.
9457//
9458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9459// with awserr.Error's Code and Message methods to get detailed information about
9460// the error.
9461//
9462// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9463// API operation RegisterPatchBaselineForPatchGroup for usage and error information.
9464//
9465// Returned Error Codes:
9466//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
9467//   Error returned if an attempt is made to register a patch group with a patch
9468//   baseline that is already registered with a different patch baseline.
9469//
9470//   * ErrCodeDoesNotExistException "DoesNotExistException"
9471//   Error returned when the ID specified for a resource, such as a maintenance
9472//   window or Patch baseline, doesn't exist.
9473//
9474//   For information about resource limits in Systems Manager, see AWS Systems
9475//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9476//
9477//   * ErrCodeInvalidResourceId "InvalidResourceId"
9478//   The resource ID is not valid. Verify that you entered the correct ID and
9479//   try again.
9480//
9481//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9482//   Error returned when the caller has exceeded the default resource limits.
9483//   For example, too many maintenance windows or patch baselines have been created.
9484//
9485//   For information about resource limits in Systems Manager, see AWS Systems
9486//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9487//
9488//   * ErrCodeInternalServerError "InternalServerError"
9489//   An error occurred on the server side.
9490//
9491// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
9492func (c *SSM) RegisterPatchBaselineForPatchGroup(input *RegisterPatchBaselineForPatchGroupInput) (*RegisterPatchBaselineForPatchGroupOutput, error) {
9493	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
9494	return out, req.Send()
9495}
9496
9497// RegisterPatchBaselineForPatchGroupWithContext is the same as RegisterPatchBaselineForPatchGroup with the addition of
9498// the ability to pass a context and additional request options.
9499//
9500// See RegisterPatchBaselineForPatchGroup for details on how to use this API operation.
9501//
9502// The context must be non-nil and will be used for request cancellation. If
9503// the context is nil a panic will occur. In the future the SDK may create
9504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9505// for more information on using Contexts.
9506func (c *SSM) RegisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *RegisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*RegisterPatchBaselineForPatchGroupOutput, error) {
9507	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
9508	req.SetContext(ctx)
9509	req.ApplyOptions(opts...)
9510	return out, req.Send()
9511}
9512
9513const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow"
9514
9515// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
9516// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return
9517// value will be populated with the request's response once the request completes
9518// successfully.
9519//
9520// Use "Send" method on the returned Request to send the API call to the service.
9521// the "output" return value is not valid until after Send returns without error.
9522//
9523// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow
9524// API call, and error handling.
9525//
9526// This method is useful when you want to inject custom logic or configuration
9527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9528//
9529//
9530//    // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method.
9531//    req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params)
9532//
9533//    err := req.Send()
9534//    if err == nil { // resp is now filled
9535//        fmt.Println(resp)
9536//    }
9537//
9538// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
9539func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) {
9540	op := &request.Operation{
9541		Name:       opRegisterTargetWithMaintenanceWindow,
9542		HTTPMethod: "POST",
9543		HTTPPath:   "/",
9544	}
9545
9546	if input == nil {
9547		input = &RegisterTargetWithMaintenanceWindowInput{}
9548	}
9549
9550	output = &RegisterTargetWithMaintenanceWindowOutput{}
9551	req = c.newRequest(op, input, output)
9552	return
9553}
9554
9555// RegisterTargetWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
9556//
9557// Registers a target with a maintenance window.
9558//
9559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9560// with awserr.Error's Code and Message methods to get detailed information about
9561// the error.
9562//
9563// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9564// API operation RegisterTargetWithMaintenanceWindow for usage and error information.
9565//
9566// Returned Error Codes:
9567//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
9568//   Error returned when an idempotent operation is retried and the parameters
9569//   don't match the original call to the API with the same idempotency token.
9570//
9571//   * ErrCodeDoesNotExistException "DoesNotExistException"
9572//   Error returned when the ID specified for a resource, such as a maintenance
9573//   window or Patch baseline, doesn't exist.
9574//
9575//   For information about resource limits in Systems Manager, see AWS Systems
9576//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9577//
9578//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9579//   Error returned when the caller has exceeded the default resource limits.
9580//   For example, too many maintenance windows or patch baselines have been created.
9581//
9582//   For information about resource limits in Systems Manager, see AWS Systems
9583//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9584//
9585//   * ErrCodeInternalServerError "InternalServerError"
9586//   An error occurred on the server side.
9587//
9588// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
9589func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) {
9590	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
9591	return out, req.Send()
9592}
9593
9594// RegisterTargetWithMaintenanceWindowWithContext is the same as RegisterTargetWithMaintenanceWindow with the addition of
9595// the ability to pass a context and additional request options.
9596//
9597// See RegisterTargetWithMaintenanceWindow for details on how to use this API operation.
9598//
9599// The context must be non-nil and will be used for request cancellation. If
9600// the context is nil a panic will occur. In the future the SDK may create
9601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9602// for more information on using Contexts.
9603func (c *SSM) RegisterTargetWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTargetWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTargetWithMaintenanceWindowOutput, error) {
9604	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
9605	req.SetContext(ctx)
9606	req.ApplyOptions(opts...)
9607	return out, req.Send()
9608}
9609
9610const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow"
9611
9612// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
9613// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return
9614// value will be populated with the request's response once the request completes
9615// successfully.
9616//
9617// Use "Send" method on the returned Request to send the API call to the service.
9618// the "output" return value is not valid until after Send returns without error.
9619//
9620// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow
9621// API call, and error handling.
9622//
9623// This method is useful when you want to inject custom logic or configuration
9624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9625//
9626//
9627//    // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method.
9628//    req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params)
9629//
9630//    err := req.Send()
9631//    if err == nil { // resp is now filled
9632//        fmt.Println(resp)
9633//    }
9634//
9635// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
9636func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) {
9637	op := &request.Operation{
9638		Name:       opRegisterTaskWithMaintenanceWindow,
9639		HTTPMethod: "POST",
9640		HTTPPath:   "/",
9641	}
9642
9643	if input == nil {
9644		input = &RegisterTaskWithMaintenanceWindowInput{}
9645	}
9646
9647	output = &RegisterTaskWithMaintenanceWindowOutput{}
9648	req = c.newRequest(op, input, output)
9649	return
9650}
9651
9652// RegisterTaskWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
9653//
9654// Adds a new task to a maintenance window.
9655//
9656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9657// with awserr.Error's Code and Message methods to get detailed information about
9658// the error.
9659//
9660// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9661// API operation RegisterTaskWithMaintenanceWindow for usage and error information.
9662//
9663// Returned Error Codes:
9664//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
9665//   Error returned when an idempotent operation is retried and the parameters
9666//   don't match the original call to the API with the same idempotency token.
9667//
9668//   * ErrCodeDoesNotExistException "DoesNotExistException"
9669//   Error returned when the ID specified for a resource, such as a maintenance
9670//   window or Patch baseline, doesn't exist.
9671//
9672//   For information about resource limits in Systems Manager, see AWS Systems
9673//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9674//
9675//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9676//   Error returned when the caller has exceeded the default resource limits.
9677//   For example, too many maintenance windows or patch baselines have been created.
9678//
9679//   For information about resource limits in Systems Manager, see AWS Systems
9680//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9681//
9682//   * ErrCodeFeatureNotAvailableException "FeatureNotAvailableException"
9683//   You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where
9684//   the corresponding service is not available.
9685//
9686//   * ErrCodeInternalServerError "InternalServerError"
9687//   An error occurred on the server side.
9688//
9689// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
9690func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) {
9691	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
9692	return out, req.Send()
9693}
9694
9695// RegisterTaskWithMaintenanceWindowWithContext is the same as RegisterTaskWithMaintenanceWindow with the addition of
9696// the ability to pass a context and additional request options.
9697//
9698// See RegisterTaskWithMaintenanceWindow for details on how to use this API operation.
9699//
9700// The context must be non-nil and will be used for request cancellation. If
9701// the context is nil a panic will occur. In the future the SDK may create
9702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9703// for more information on using Contexts.
9704func (c *SSM) RegisterTaskWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTaskWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTaskWithMaintenanceWindowOutput, error) {
9705	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
9706	req.SetContext(ctx)
9707	req.ApplyOptions(opts...)
9708	return out, req.Send()
9709}
9710
9711const opRemoveTagsFromResource = "RemoveTagsFromResource"
9712
9713// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
9714// client's request for the RemoveTagsFromResource operation. The "output" return
9715// value will be populated with the request's response once the request completes
9716// successfully.
9717//
9718// Use "Send" method on the returned Request to send the API call to the service.
9719// the "output" return value is not valid until after Send returns without error.
9720//
9721// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
9722// API call, and error handling.
9723//
9724// This method is useful when you want to inject custom logic or configuration
9725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9726//
9727//
9728//    // Example sending a request using the RemoveTagsFromResourceRequest method.
9729//    req, resp := client.RemoveTagsFromResourceRequest(params)
9730//
9731//    err := req.Send()
9732//    if err == nil { // resp is now filled
9733//        fmt.Println(resp)
9734//    }
9735//
9736// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
9737func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
9738	op := &request.Operation{
9739		Name:       opRemoveTagsFromResource,
9740		HTTPMethod: "POST",
9741		HTTPPath:   "/",
9742	}
9743
9744	if input == nil {
9745		input = &RemoveTagsFromResourceInput{}
9746	}
9747
9748	output = &RemoveTagsFromResourceOutput{}
9749	req = c.newRequest(op, input, output)
9750	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9751	return
9752}
9753
9754// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM).
9755//
9756// Removes tag keys from the specified resource.
9757//
9758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9759// with awserr.Error's Code and Message methods to get detailed information about
9760// the error.
9761//
9762// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9763// API operation RemoveTagsFromResource for usage and error information.
9764//
9765// Returned Error Codes:
9766//   * ErrCodeInvalidResourceType "InvalidResourceType"
9767//   The resource type is not valid. For example, if you are attempting to tag
9768//   an instance, the instance must be a registered, managed instance.
9769//
9770//   * ErrCodeInvalidResourceId "InvalidResourceId"
9771//   The resource ID is not valid. Verify that you entered the correct ID and
9772//   try again.
9773//
9774//   * ErrCodeInternalServerError "InternalServerError"
9775//   An error occurred on the server side.
9776//
9777//   * ErrCodeTooManyUpdates "TooManyUpdates"
9778//   There are concurrent updates for a resource that supports one update at a
9779//   time.
9780//
9781// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
9782func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
9783	req, out := c.RemoveTagsFromResourceRequest(input)
9784	return out, req.Send()
9785}
9786
9787// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
9788// the ability to pass a context and additional request options.
9789//
9790// See RemoveTagsFromResource for details on how to use this API operation.
9791//
9792// The context must be non-nil and will be used for request cancellation. If
9793// the context is nil a panic will occur. In the future the SDK may create
9794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9795// for more information on using Contexts.
9796func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
9797	req, out := c.RemoveTagsFromResourceRequest(input)
9798	req.SetContext(ctx)
9799	req.ApplyOptions(opts...)
9800	return out, req.Send()
9801}
9802
9803const opResetServiceSetting = "ResetServiceSetting"
9804
9805// ResetServiceSettingRequest generates a "aws/request.Request" representing the
9806// client's request for the ResetServiceSetting operation. The "output" return
9807// value will be populated with the request's response once the request completes
9808// successfully.
9809//
9810// Use "Send" method on the returned Request to send the API call to the service.
9811// the "output" return value is not valid until after Send returns without error.
9812//
9813// See ResetServiceSetting for more information on using the ResetServiceSetting
9814// API call, and error handling.
9815//
9816// This method is useful when you want to inject custom logic or configuration
9817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9818//
9819//
9820//    // Example sending a request using the ResetServiceSettingRequest method.
9821//    req, resp := client.ResetServiceSettingRequest(params)
9822//
9823//    err := req.Send()
9824//    if err == nil { // resp is now filled
9825//        fmt.Println(resp)
9826//    }
9827//
9828// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
9829func (c *SSM) ResetServiceSettingRequest(input *ResetServiceSettingInput) (req *request.Request, output *ResetServiceSettingOutput) {
9830	op := &request.Operation{
9831		Name:       opResetServiceSetting,
9832		HTTPMethod: "POST",
9833		HTTPPath:   "/",
9834	}
9835
9836	if input == nil {
9837		input = &ResetServiceSettingInput{}
9838	}
9839
9840	output = &ResetServiceSettingOutput{}
9841	req = c.newRequest(op, input, output)
9842	return
9843}
9844
9845// ResetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
9846//
9847// ServiceSetting is an account-level setting for an AWS service. This setting
9848// defines how a user interacts with or uses a service or a feature of a service.
9849// For example, if an AWS service charges money to the account based on feature
9850// or service usage, then the AWS service team might create a default setting
9851// of "false". This means the user can't use this feature unless they change
9852// the setting to "true" and intentionally opt in for a paid feature.
9853//
9854// Services map a SettingId object to a setting value. AWS services teams define
9855// the default value for a SettingId. You can't create a new SettingId, but
9856// you can overwrite the default value if you have the ssm:UpdateServiceSetting
9857// permission for the setting. Use the GetServiceSetting API action to view
9858// the current value. Use the UpdateServiceSetting API action to change the
9859// default setting.
9860//
9861// Reset the service setting for the account to the default value as provisioned
9862// by the AWS service team.
9863//
9864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9865// with awserr.Error's Code and Message methods to get detailed information about
9866// the error.
9867//
9868// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9869// API operation ResetServiceSetting for usage and error information.
9870//
9871// Returned Error Codes:
9872//   * ErrCodeInternalServerError "InternalServerError"
9873//   An error occurred on the server side.
9874//
9875//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
9876//   The specified service setting was not found. Either the service name or the
9877//   setting has not been provisioned by the AWS service team.
9878//
9879//   * ErrCodeTooManyUpdates "TooManyUpdates"
9880//   There are concurrent updates for a resource that supports one update at a
9881//   time.
9882//
9883// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
9884func (c *SSM) ResetServiceSetting(input *ResetServiceSettingInput) (*ResetServiceSettingOutput, error) {
9885	req, out := c.ResetServiceSettingRequest(input)
9886	return out, req.Send()
9887}
9888
9889// ResetServiceSettingWithContext is the same as ResetServiceSetting with the addition of
9890// the ability to pass a context and additional request options.
9891//
9892// See ResetServiceSetting for details on how to use this API operation.
9893//
9894// The context must be non-nil and will be used for request cancellation. If
9895// the context is nil a panic will occur. In the future the SDK may create
9896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9897// for more information on using Contexts.
9898func (c *SSM) ResetServiceSettingWithContext(ctx aws.Context, input *ResetServiceSettingInput, opts ...request.Option) (*ResetServiceSettingOutput, error) {
9899	req, out := c.ResetServiceSettingRequest(input)
9900	req.SetContext(ctx)
9901	req.ApplyOptions(opts...)
9902	return out, req.Send()
9903}
9904
9905const opResumeSession = "ResumeSession"
9906
9907// ResumeSessionRequest generates a "aws/request.Request" representing the
9908// client's request for the ResumeSession operation. The "output" return
9909// value will be populated with the request's response once the request completes
9910// successfully.
9911//
9912// Use "Send" method on the returned Request to send the API call to the service.
9913// the "output" return value is not valid until after Send returns without error.
9914//
9915// See ResumeSession for more information on using the ResumeSession
9916// API call, and error handling.
9917//
9918// This method is useful when you want to inject custom logic or configuration
9919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9920//
9921//
9922//    // Example sending a request using the ResumeSessionRequest method.
9923//    req, resp := client.ResumeSessionRequest(params)
9924//
9925//    err := req.Send()
9926//    if err == nil { // resp is now filled
9927//        fmt.Println(resp)
9928//    }
9929//
9930// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
9931func (c *SSM) ResumeSessionRequest(input *ResumeSessionInput) (req *request.Request, output *ResumeSessionOutput) {
9932	op := &request.Operation{
9933		Name:       opResumeSession,
9934		HTTPMethod: "POST",
9935		HTTPPath:   "/",
9936	}
9937
9938	if input == nil {
9939		input = &ResumeSessionInput{}
9940	}
9941
9942	output = &ResumeSessionOutput{}
9943	req = c.newRequest(op, input, output)
9944	return
9945}
9946
9947// ResumeSession API operation for Amazon Simple Systems Manager (SSM).
9948//
9949// Reconnects a session to an instance after it has been disconnected. Connections
9950// can be resumed for disconnected sessions, but not terminated sessions.
9951//
9952// This command is primarily for use by client machines to automatically reconnect
9953// during intermittent network issues. It is not intended for any other use.
9954//
9955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9956// with awserr.Error's Code and Message methods to get detailed information about
9957// the error.
9958//
9959// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9960// API operation ResumeSession for usage and error information.
9961//
9962// Returned Error Codes:
9963//   * ErrCodeDoesNotExistException "DoesNotExistException"
9964//   Error returned when the ID specified for a resource, such as a maintenance
9965//   window or Patch baseline, doesn't exist.
9966//
9967//   For information about resource limits in Systems Manager, see AWS Systems
9968//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9969//
9970//   * ErrCodeInternalServerError "InternalServerError"
9971//   An error occurred on the server side.
9972//
9973// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
9974func (c *SSM) ResumeSession(input *ResumeSessionInput) (*ResumeSessionOutput, error) {
9975	req, out := c.ResumeSessionRequest(input)
9976	return out, req.Send()
9977}
9978
9979// ResumeSessionWithContext is the same as ResumeSession with the addition of
9980// the ability to pass a context and additional request options.
9981//
9982// See ResumeSession for details on how to use this API operation.
9983//
9984// The context must be non-nil and will be used for request cancellation. If
9985// the context is nil a panic will occur. In the future the SDK may create
9986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9987// for more information on using Contexts.
9988func (c *SSM) ResumeSessionWithContext(ctx aws.Context, input *ResumeSessionInput, opts ...request.Option) (*ResumeSessionOutput, error) {
9989	req, out := c.ResumeSessionRequest(input)
9990	req.SetContext(ctx)
9991	req.ApplyOptions(opts...)
9992	return out, req.Send()
9993}
9994
9995const opSendAutomationSignal = "SendAutomationSignal"
9996
9997// SendAutomationSignalRequest generates a "aws/request.Request" representing the
9998// client's request for the SendAutomationSignal operation. The "output" return
9999// value will be populated with the request's response once the request completes
10000// successfully.
10001//
10002// Use "Send" method on the returned Request to send the API call to the service.
10003// the "output" return value is not valid until after Send returns without error.
10004//
10005// See SendAutomationSignal for more information on using the SendAutomationSignal
10006// API call, and error handling.
10007//
10008// This method is useful when you want to inject custom logic or configuration
10009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10010//
10011//
10012//    // Example sending a request using the SendAutomationSignalRequest method.
10013//    req, resp := client.SendAutomationSignalRequest(params)
10014//
10015//    err := req.Send()
10016//    if err == nil { // resp is now filled
10017//        fmt.Println(resp)
10018//    }
10019//
10020// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
10021func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) {
10022	op := &request.Operation{
10023		Name:       opSendAutomationSignal,
10024		HTTPMethod: "POST",
10025		HTTPPath:   "/",
10026	}
10027
10028	if input == nil {
10029		input = &SendAutomationSignalInput{}
10030	}
10031
10032	output = &SendAutomationSignalOutput{}
10033	req = c.newRequest(op, input, output)
10034	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10035	return
10036}
10037
10038// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM).
10039//
10040// Sends a signal to an Automation execution to change the current behavior
10041// or status of the execution.
10042//
10043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10044// with awserr.Error's Code and Message methods to get detailed information about
10045// the error.
10046//
10047// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10048// API operation SendAutomationSignal for usage and error information.
10049//
10050// Returned Error Codes:
10051//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
10052//   There is no automation execution information for the requested automation
10053//   execution ID.
10054//
10055//   * ErrCodeAutomationStepNotFoundException "AutomationStepNotFoundException"
10056//   The specified step name and execution ID don't exist. Verify the information
10057//   and try again.
10058//
10059//   * ErrCodeInvalidAutomationSignalException "InvalidAutomationSignalException"
10060//   The signal is not valid for the current Automation execution.
10061//
10062//   * ErrCodeInternalServerError "InternalServerError"
10063//   An error occurred on the server side.
10064//
10065// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
10066func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) {
10067	req, out := c.SendAutomationSignalRequest(input)
10068	return out, req.Send()
10069}
10070
10071// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of
10072// the ability to pass a context and additional request options.
10073//
10074// See SendAutomationSignal for details on how to use this API operation.
10075//
10076// The context must be non-nil and will be used for request cancellation. If
10077// the context is nil a panic will occur. In the future the SDK may create
10078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10079// for more information on using Contexts.
10080func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) {
10081	req, out := c.SendAutomationSignalRequest(input)
10082	req.SetContext(ctx)
10083	req.ApplyOptions(opts...)
10084	return out, req.Send()
10085}
10086
10087const opSendCommand = "SendCommand"
10088
10089// SendCommandRequest generates a "aws/request.Request" representing the
10090// client's request for the SendCommand operation. The "output" return
10091// value will be populated with the request's response once the request completes
10092// successfully.
10093//
10094// Use "Send" method on the returned Request to send the API call to the service.
10095// the "output" return value is not valid until after Send returns without error.
10096//
10097// See SendCommand for more information on using the SendCommand
10098// API call, and error handling.
10099//
10100// This method is useful when you want to inject custom logic or configuration
10101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10102//
10103//
10104//    // Example sending a request using the SendCommandRequest method.
10105//    req, resp := client.SendCommandRequest(params)
10106//
10107//    err := req.Send()
10108//    if err == nil { // resp is now filled
10109//        fmt.Println(resp)
10110//    }
10111//
10112// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
10113func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) {
10114	op := &request.Operation{
10115		Name:       opSendCommand,
10116		HTTPMethod: "POST",
10117		HTTPPath:   "/",
10118	}
10119
10120	if input == nil {
10121		input = &SendCommandInput{}
10122	}
10123
10124	output = &SendCommandOutput{}
10125	req = c.newRequest(op, input, output)
10126	return
10127}
10128
10129// SendCommand API operation for Amazon Simple Systems Manager (SSM).
10130//
10131// Runs commands on one or more managed instances.
10132//
10133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10134// with awserr.Error's Code and Message methods to get detailed information about
10135// the error.
10136//
10137// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10138// API operation SendCommand for usage and error information.
10139//
10140// Returned Error Codes:
10141//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
10142//   You cannot specify an instance ID in more than one association.
10143//
10144//   * ErrCodeInternalServerError "InternalServerError"
10145//   An error occurred on the server side.
10146//
10147//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
10148//   The following problems can cause this exception:
10149//
10150//   You do not have permission to access the instance.
10151//
10152//   SSM Agent is not running. Verify that SSM Agent is running.
10153//
10154//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
10155//
10156//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
10157//   Stopping. Invalid states are: Shutting-down and Terminated.
10158//
10159//   * ErrCodeInvalidDocument "InvalidDocument"
10160//   The specified document does not exist.
10161//
10162//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
10163//   The document version is not valid or does not exist.
10164//
10165//   * ErrCodeInvalidOutputFolder "InvalidOutputFolder"
10166//   The S3 bucket does not exist.
10167//
10168//   * ErrCodeInvalidParameters "InvalidParameters"
10169//   You must specify values for all required parameters in the Systems Manager
10170//   document. You can only supply values to parameters defined in the Systems
10171//   Manager document.
10172//
10173//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
10174//   The document does not support the platform type of the given instance ID(s).
10175//   For example, you sent an document for a Windows instance to a Linux instance.
10176//
10177//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
10178//   The size limit of a document is 64 KB.
10179//
10180//   * ErrCodeInvalidRole "InvalidRole"
10181//   The role name can't contain invalid characters. Also verify that you specified
10182//   an IAM role for notifications that includes the required trust policy. For
10183//   information about configuring the IAM role for Run Command notifications,
10184//   see Configuring Amazon SNS Notifications for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html)
10185//   in the AWS Systems Manager User Guide.
10186//
10187//   * ErrCodeInvalidNotificationConfig "InvalidNotificationConfig"
10188//   One or more configuration items is not valid. Verify that a valid Amazon
10189//   Resource Name (ARN) was provided for an Amazon SNS topic.
10190//
10191// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
10192func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) {
10193	req, out := c.SendCommandRequest(input)
10194	return out, req.Send()
10195}
10196
10197// SendCommandWithContext is the same as SendCommand with the addition of
10198// the ability to pass a context and additional request options.
10199//
10200// See SendCommand for details on how to use this API operation.
10201//
10202// The context must be non-nil and will be used for request cancellation. If
10203// the context is nil a panic will occur. In the future the SDK may create
10204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10205// for more information on using Contexts.
10206func (c *SSM) SendCommandWithContext(ctx aws.Context, input *SendCommandInput, opts ...request.Option) (*SendCommandOutput, error) {
10207	req, out := c.SendCommandRequest(input)
10208	req.SetContext(ctx)
10209	req.ApplyOptions(opts...)
10210	return out, req.Send()
10211}
10212
10213const opStartAssociationsOnce = "StartAssociationsOnce"
10214
10215// StartAssociationsOnceRequest generates a "aws/request.Request" representing the
10216// client's request for the StartAssociationsOnce operation. The "output" return
10217// value will be populated with the request's response once the request completes
10218// successfully.
10219//
10220// Use "Send" method on the returned Request to send the API call to the service.
10221// the "output" return value is not valid until after Send returns without error.
10222//
10223// See StartAssociationsOnce for more information on using the StartAssociationsOnce
10224// API call, and error handling.
10225//
10226// This method is useful when you want to inject custom logic or configuration
10227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10228//
10229//
10230//    // Example sending a request using the StartAssociationsOnceRequest method.
10231//    req, resp := client.StartAssociationsOnceRequest(params)
10232//
10233//    err := req.Send()
10234//    if err == nil { // resp is now filled
10235//        fmt.Println(resp)
10236//    }
10237//
10238// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
10239func (c *SSM) StartAssociationsOnceRequest(input *StartAssociationsOnceInput) (req *request.Request, output *StartAssociationsOnceOutput) {
10240	op := &request.Operation{
10241		Name:       opStartAssociationsOnce,
10242		HTTPMethod: "POST",
10243		HTTPPath:   "/",
10244	}
10245
10246	if input == nil {
10247		input = &StartAssociationsOnceInput{}
10248	}
10249
10250	output = &StartAssociationsOnceOutput{}
10251	req = c.newRequest(op, input, output)
10252	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10253	return
10254}
10255
10256// StartAssociationsOnce API operation for Amazon Simple Systems Manager (SSM).
10257//
10258// Use this API action to run an association immediately and only one time.
10259// This action can be helpful when troubleshooting associations.
10260//
10261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10262// with awserr.Error's Code and Message methods to get detailed information about
10263// the error.
10264//
10265// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10266// API operation StartAssociationsOnce for usage and error information.
10267//
10268// Returned Error Codes:
10269//   * ErrCodeInvalidAssociation "InvalidAssociation"
10270//   The association is not valid or does not exist.
10271//
10272//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10273//   The specified association does not exist.
10274//
10275// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
10276func (c *SSM) StartAssociationsOnce(input *StartAssociationsOnceInput) (*StartAssociationsOnceOutput, error) {
10277	req, out := c.StartAssociationsOnceRequest(input)
10278	return out, req.Send()
10279}
10280
10281// StartAssociationsOnceWithContext is the same as StartAssociationsOnce with the addition of
10282// the ability to pass a context and additional request options.
10283//
10284// See StartAssociationsOnce for details on how to use this API operation.
10285//
10286// The context must be non-nil and will be used for request cancellation. If
10287// the context is nil a panic will occur. In the future the SDK may create
10288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10289// for more information on using Contexts.
10290func (c *SSM) StartAssociationsOnceWithContext(ctx aws.Context, input *StartAssociationsOnceInput, opts ...request.Option) (*StartAssociationsOnceOutput, error) {
10291	req, out := c.StartAssociationsOnceRequest(input)
10292	req.SetContext(ctx)
10293	req.ApplyOptions(opts...)
10294	return out, req.Send()
10295}
10296
10297const opStartAutomationExecution = "StartAutomationExecution"
10298
10299// StartAutomationExecutionRequest generates a "aws/request.Request" representing the
10300// client's request for the StartAutomationExecution operation. The "output" return
10301// value will be populated with the request's response once the request completes
10302// successfully.
10303//
10304// Use "Send" method on the returned Request to send the API call to the service.
10305// the "output" return value is not valid until after Send returns without error.
10306//
10307// See StartAutomationExecution for more information on using the StartAutomationExecution
10308// API call, and error handling.
10309//
10310// This method is useful when you want to inject custom logic or configuration
10311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10312//
10313//
10314//    // Example sending a request using the StartAutomationExecutionRequest method.
10315//    req, resp := client.StartAutomationExecutionRequest(params)
10316//
10317//    err := req.Send()
10318//    if err == nil { // resp is now filled
10319//        fmt.Println(resp)
10320//    }
10321//
10322// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
10323func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) {
10324	op := &request.Operation{
10325		Name:       opStartAutomationExecution,
10326		HTTPMethod: "POST",
10327		HTTPPath:   "/",
10328	}
10329
10330	if input == nil {
10331		input = &StartAutomationExecutionInput{}
10332	}
10333
10334	output = &StartAutomationExecutionOutput{}
10335	req = c.newRequest(op, input, output)
10336	return
10337}
10338
10339// StartAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
10340//
10341// Initiates execution of an Automation document.
10342//
10343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10344// with awserr.Error's Code and Message methods to get detailed information about
10345// the error.
10346//
10347// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10348// API operation StartAutomationExecution for usage and error information.
10349//
10350// Returned Error Codes:
10351//   * ErrCodeAutomationDefinitionNotFoundException "AutomationDefinitionNotFoundException"
10352//   An Automation document with the specified name could not be found.
10353//
10354//   * ErrCodeInvalidAutomationExecutionParametersException "InvalidAutomationExecutionParametersException"
10355//   The supplied parameters for invoking the specified Automation document are
10356//   incorrect. For example, they may not match the set of parameters permitted
10357//   for the specified Automation document.
10358//
10359//   * ErrCodeAutomationExecutionLimitExceededException "AutomationExecutionLimitExceededException"
10360//   The number of simultaneously running Automation executions exceeded the allowable
10361//   limit.
10362//
10363//   * ErrCodeAutomationDefinitionVersionNotFoundException "AutomationDefinitionVersionNotFoundException"
10364//   An Automation document with the specified name and version could not be found.
10365//
10366//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
10367//   Error returned when an idempotent operation is retried and the parameters
10368//   don't match the original call to the API with the same idempotency token.
10369//
10370//   * ErrCodeInvalidTarget "InvalidTarget"
10371//   The target is not valid or does not exist. It might not be configured for
10372//   EC2 Systems Manager or you might not have permission to perform the operation.
10373//
10374//   * ErrCodeInternalServerError "InternalServerError"
10375//   An error occurred on the server side.
10376//
10377// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
10378func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) {
10379	req, out := c.StartAutomationExecutionRequest(input)
10380	return out, req.Send()
10381}
10382
10383// StartAutomationExecutionWithContext is the same as StartAutomationExecution with the addition of
10384// the ability to pass a context and additional request options.
10385//
10386// See StartAutomationExecution for details on how to use this API operation.
10387//
10388// The context must be non-nil and will be used for request cancellation. If
10389// the context is nil a panic will occur. In the future the SDK may create
10390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10391// for more information on using Contexts.
10392func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartAutomationExecutionInput, opts ...request.Option) (*StartAutomationExecutionOutput, error) {
10393	req, out := c.StartAutomationExecutionRequest(input)
10394	req.SetContext(ctx)
10395	req.ApplyOptions(opts...)
10396	return out, req.Send()
10397}
10398
10399const opStartSession = "StartSession"
10400
10401// StartSessionRequest generates a "aws/request.Request" representing the
10402// client's request for the StartSession operation. The "output" return
10403// value will be populated with the request's response once the request completes
10404// successfully.
10405//
10406// Use "Send" method on the returned Request to send the API call to the service.
10407// the "output" return value is not valid until after Send returns without error.
10408//
10409// See StartSession for more information on using the StartSession
10410// API call, and error handling.
10411//
10412// This method is useful when you want to inject custom logic or configuration
10413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10414//
10415//
10416//    // Example sending a request using the StartSessionRequest method.
10417//    req, resp := client.StartSessionRequest(params)
10418//
10419//    err := req.Send()
10420//    if err == nil { // resp is now filled
10421//        fmt.Println(resp)
10422//    }
10423//
10424// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
10425func (c *SSM) StartSessionRequest(input *StartSessionInput) (req *request.Request, output *StartSessionOutput) {
10426	op := &request.Operation{
10427		Name:       opStartSession,
10428		HTTPMethod: "POST",
10429		HTTPPath:   "/",
10430	}
10431
10432	if input == nil {
10433		input = &StartSessionInput{}
10434	}
10435
10436	output = &StartSessionOutput{}
10437	req = c.newRequest(op, input, output)
10438	return
10439}
10440
10441// StartSession API operation for Amazon Simple Systems Manager (SSM).
10442//
10443// Initiates a connection to a target (for example, an instance) for a Session
10444// Manager session. Returns a URL and token that can be used to open a WebSocket
10445// connection for sending input and receiving outputs.
10446//
10447// AWS CLI usage: start-session is an interactive command that requires the
10448// Session Manager plugin to be installed on the client machine making the call.
10449// For information, see Install the Session Manager Plugin for the AWS CLI (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
10450// in the AWS Systems Manager User Guide.
10451//
10452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10453// with awserr.Error's Code and Message methods to get detailed information about
10454// the error.
10455//
10456// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10457// API operation StartSession for usage and error information.
10458//
10459// Returned Error Codes:
10460//   * ErrCodeInvalidDocument "InvalidDocument"
10461//   The specified document does not exist.
10462//
10463//   * ErrCodeTargetNotConnected "TargetNotConnected"
10464//   The specified target instance for the session is not fully configured for
10465//   use with Session Manager. For more information, see Getting Started with
10466//   Session Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)
10467//   in the AWS Systems Manager User Guide.
10468//
10469//   * ErrCodeInternalServerError "InternalServerError"
10470//   An error occurred on the server side.
10471//
10472// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
10473func (c *SSM) StartSession(input *StartSessionInput) (*StartSessionOutput, error) {
10474	req, out := c.StartSessionRequest(input)
10475	return out, req.Send()
10476}
10477
10478// StartSessionWithContext is the same as StartSession with the addition of
10479// the ability to pass a context and additional request options.
10480//
10481// See StartSession for details on how to use this API operation.
10482//
10483// The context must be non-nil and will be used for request cancellation. If
10484// the context is nil a panic will occur. In the future the SDK may create
10485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10486// for more information on using Contexts.
10487func (c *SSM) StartSessionWithContext(ctx aws.Context, input *StartSessionInput, opts ...request.Option) (*StartSessionOutput, error) {
10488	req, out := c.StartSessionRequest(input)
10489	req.SetContext(ctx)
10490	req.ApplyOptions(opts...)
10491	return out, req.Send()
10492}
10493
10494const opStopAutomationExecution = "StopAutomationExecution"
10495
10496// StopAutomationExecutionRequest generates a "aws/request.Request" representing the
10497// client's request for the StopAutomationExecution operation. The "output" return
10498// value will be populated with the request's response once the request completes
10499// successfully.
10500//
10501// Use "Send" method on the returned Request to send the API call to the service.
10502// the "output" return value is not valid until after Send returns without error.
10503//
10504// See StopAutomationExecution for more information on using the StopAutomationExecution
10505// API call, and error handling.
10506//
10507// This method is useful when you want to inject custom logic or configuration
10508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10509//
10510//
10511//    // Example sending a request using the StopAutomationExecutionRequest method.
10512//    req, resp := client.StopAutomationExecutionRequest(params)
10513//
10514//    err := req.Send()
10515//    if err == nil { // resp is now filled
10516//        fmt.Println(resp)
10517//    }
10518//
10519// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
10520func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) {
10521	op := &request.Operation{
10522		Name:       opStopAutomationExecution,
10523		HTTPMethod: "POST",
10524		HTTPPath:   "/",
10525	}
10526
10527	if input == nil {
10528		input = &StopAutomationExecutionInput{}
10529	}
10530
10531	output = &StopAutomationExecutionOutput{}
10532	req = c.newRequest(op, input, output)
10533	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10534	return
10535}
10536
10537// StopAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
10538//
10539// Stop an Automation that is currently running.
10540//
10541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10542// with awserr.Error's Code and Message methods to get detailed information about
10543// the error.
10544//
10545// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10546// API operation StopAutomationExecution for usage and error information.
10547//
10548// Returned Error Codes:
10549//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
10550//   There is no automation execution information for the requested automation
10551//   execution ID.
10552//
10553//   * ErrCodeInvalidAutomationStatusUpdateException "InvalidAutomationStatusUpdateException"
10554//   The specified update status operation is not valid.
10555//
10556//   * ErrCodeInternalServerError "InternalServerError"
10557//   An error occurred on the server side.
10558//
10559// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
10560func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) {
10561	req, out := c.StopAutomationExecutionRequest(input)
10562	return out, req.Send()
10563}
10564
10565// StopAutomationExecutionWithContext is the same as StopAutomationExecution with the addition of
10566// the ability to pass a context and additional request options.
10567//
10568// See StopAutomationExecution for details on how to use this API operation.
10569//
10570// The context must be non-nil and will be used for request cancellation. If
10571// the context is nil a panic will occur. In the future the SDK may create
10572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10573// for more information on using Contexts.
10574func (c *SSM) StopAutomationExecutionWithContext(ctx aws.Context, input *StopAutomationExecutionInput, opts ...request.Option) (*StopAutomationExecutionOutput, error) {
10575	req, out := c.StopAutomationExecutionRequest(input)
10576	req.SetContext(ctx)
10577	req.ApplyOptions(opts...)
10578	return out, req.Send()
10579}
10580
10581const opTerminateSession = "TerminateSession"
10582
10583// TerminateSessionRequest generates a "aws/request.Request" representing the
10584// client's request for the TerminateSession operation. The "output" return
10585// value will be populated with the request's response once the request completes
10586// successfully.
10587//
10588// Use "Send" method on the returned Request to send the API call to the service.
10589// the "output" return value is not valid until after Send returns without error.
10590//
10591// See TerminateSession for more information on using the TerminateSession
10592// API call, and error handling.
10593//
10594// This method is useful when you want to inject custom logic or configuration
10595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10596//
10597//
10598//    // Example sending a request using the TerminateSessionRequest method.
10599//    req, resp := client.TerminateSessionRequest(params)
10600//
10601//    err := req.Send()
10602//    if err == nil { // resp is now filled
10603//        fmt.Println(resp)
10604//    }
10605//
10606// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
10607func (c *SSM) TerminateSessionRequest(input *TerminateSessionInput) (req *request.Request, output *TerminateSessionOutput) {
10608	op := &request.Operation{
10609		Name:       opTerminateSession,
10610		HTTPMethod: "POST",
10611		HTTPPath:   "/",
10612	}
10613
10614	if input == nil {
10615		input = &TerminateSessionInput{}
10616	}
10617
10618	output = &TerminateSessionOutput{}
10619	req = c.newRequest(op, input, output)
10620	return
10621}
10622
10623// TerminateSession API operation for Amazon Simple Systems Manager (SSM).
10624//
10625// Permanently ends a session and closes the data connection between the Session
10626// Manager client and SSM Agent on the instance. A terminated session cannot
10627// be resumed.
10628//
10629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10630// with awserr.Error's Code and Message methods to get detailed information about
10631// the error.
10632//
10633// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10634// API operation TerminateSession for usage and error information.
10635//
10636// Returned Error Codes:
10637//   * ErrCodeDoesNotExistException "DoesNotExistException"
10638//   Error returned when the ID specified for a resource, such as a maintenance
10639//   window or Patch baseline, doesn't exist.
10640//
10641//   For information about resource limits in Systems Manager, see AWS Systems
10642//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
10643//
10644//   * ErrCodeInternalServerError "InternalServerError"
10645//   An error occurred on the server side.
10646//
10647// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
10648func (c *SSM) TerminateSession(input *TerminateSessionInput) (*TerminateSessionOutput, error) {
10649	req, out := c.TerminateSessionRequest(input)
10650	return out, req.Send()
10651}
10652
10653// TerminateSessionWithContext is the same as TerminateSession with the addition of
10654// the ability to pass a context and additional request options.
10655//
10656// See TerminateSession for details on how to use this API operation.
10657//
10658// The context must be non-nil and will be used for request cancellation. If
10659// the context is nil a panic will occur. In the future the SDK may create
10660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10661// for more information on using Contexts.
10662func (c *SSM) TerminateSessionWithContext(ctx aws.Context, input *TerminateSessionInput, opts ...request.Option) (*TerminateSessionOutput, error) {
10663	req, out := c.TerminateSessionRequest(input)
10664	req.SetContext(ctx)
10665	req.ApplyOptions(opts...)
10666	return out, req.Send()
10667}
10668
10669const opUpdateAssociation = "UpdateAssociation"
10670
10671// UpdateAssociationRequest generates a "aws/request.Request" representing the
10672// client's request for the UpdateAssociation operation. The "output" return
10673// value will be populated with the request's response once the request completes
10674// successfully.
10675//
10676// Use "Send" method on the returned Request to send the API call to the service.
10677// the "output" return value is not valid until after Send returns without error.
10678//
10679// See UpdateAssociation for more information on using the UpdateAssociation
10680// API call, and error handling.
10681//
10682// This method is useful when you want to inject custom logic or configuration
10683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10684//
10685//
10686//    // Example sending a request using the UpdateAssociationRequest method.
10687//    req, resp := client.UpdateAssociationRequest(params)
10688//
10689//    err := req.Send()
10690//    if err == nil { // resp is now filled
10691//        fmt.Println(resp)
10692//    }
10693//
10694// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
10695func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) {
10696	op := &request.Operation{
10697		Name:       opUpdateAssociation,
10698		HTTPMethod: "POST",
10699		HTTPPath:   "/",
10700	}
10701
10702	if input == nil {
10703		input = &UpdateAssociationInput{}
10704	}
10705
10706	output = &UpdateAssociationOutput{}
10707	req = c.newRequest(op, input, output)
10708	return
10709}
10710
10711// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM).
10712//
10713// Updates an association. You can update the association name and version,
10714// the document version, schedule, parameters, and Amazon S3 output.
10715//
10716// When you update an association, the association immediately runs against
10717// the specified targets.
10718//
10719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10720// with awserr.Error's Code and Message methods to get detailed information about
10721// the error.
10722//
10723// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10724// API operation UpdateAssociation for usage and error information.
10725//
10726// Returned Error Codes:
10727//   * ErrCodeInternalServerError "InternalServerError"
10728//   An error occurred on the server side.
10729//
10730//   * ErrCodeInvalidSchedule "InvalidSchedule"
10731//   The schedule is invalid. Verify your cron or rate expression and try again.
10732//
10733//   * ErrCodeInvalidParameters "InvalidParameters"
10734//   You must specify values for all required parameters in the Systems Manager
10735//   document. You can only supply values to parameters defined in the Systems
10736//   Manager document.
10737//
10738//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
10739//   The output location is not valid or does not exist.
10740//
10741//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
10742//   The document version is not valid or does not exist.
10743//
10744//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10745//   The specified association does not exist.
10746//
10747//   * ErrCodeInvalidUpdate "InvalidUpdate"
10748//   The update is not valid.
10749//
10750//   * ErrCodeTooManyUpdates "TooManyUpdates"
10751//   There are concurrent updates for a resource that supports one update at a
10752//   time.
10753//
10754//   * ErrCodeInvalidDocument "InvalidDocument"
10755//   The specified document does not exist.
10756//
10757//   * ErrCodeInvalidTarget "InvalidTarget"
10758//   The target is not valid or does not exist. It might not be configured for
10759//   EC2 Systems Manager or you might not have permission to perform the operation.
10760//
10761//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
10762//   The version you specified is not valid. Use ListAssociationVersions to view
10763//   all versions of an association according to the association ID. Or, use the
10764//   $LATEST parameter to view the latest version of the association.
10765//
10766//   * ErrCodeAssociationVersionLimitExceeded "AssociationVersionLimitExceeded"
10767//   You have reached the maximum number versions allowed for an association.
10768//   Each association has a limit of 1,000 versions.
10769//
10770// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
10771func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) {
10772	req, out := c.UpdateAssociationRequest(input)
10773	return out, req.Send()
10774}
10775
10776// UpdateAssociationWithContext is the same as UpdateAssociation with the addition of
10777// the ability to pass a context and additional request options.
10778//
10779// See UpdateAssociation for details on how to use this API operation.
10780//
10781// The context must be non-nil and will be used for request cancellation. If
10782// the context is nil a panic will occur. In the future the SDK may create
10783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10784// for more information on using Contexts.
10785func (c *SSM) UpdateAssociationWithContext(ctx aws.Context, input *UpdateAssociationInput, opts ...request.Option) (*UpdateAssociationOutput, error) {
10786	req, out := c.UpdateAssociationRequest(input)
10787	req.SetContext(ctx)
10788	req.ApplyOptions(opts...)
10789	return out, req.Send()
10790}
10791
10792const opUpdateAssociationStatus = "UpdateAssociationStatus"
10793
10794// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the
10795// client's request for the UpdateAssociationStatus operation. The "output" return
10796// value will be populated with the request's response once the request completes
10797// successfully.
10798//
10799// Use "Send" method on the returned Request to send the API call to the service.
10800// the "output" return value is not valid until after Send returns without error.
10801//
10802// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus
10803// API call, and error handling.
10804//
10805// This method is useful when you want to inject custom logic or configuration
10806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10807//
10808//
10809//    // Example sending a request using the UpdateAssociationStatusRequest method.
10810//    req, resp := client.UpdateAssociationStatusRequest(params)
10811//
10812//    err := req.Send()
10813//    if err == nil { // resp is now filled
10814//        fmt.Println(resp)
10815//    }
10816//
10817// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
10818func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) {
10819	op := &request.Operation{
10820		Name:       opUpdateAssociationStatus,
10821		HTTPMethod: "POST",
10822		HTTPPath:   "/",
10823	}
10824
10825	if input == nil {
10826		input = &UpdateAssociationStatusInput{}
10827	}
10828
10829	output = &UpdateAssociationStatusOutput{}
10830	req = c.newRequest(op, input, output)
10831	return
10832}
10833
10834// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM).
10835//
10836// Updates the status of the Systems Manager document associated with the specified
10837// instance.
10838//
10839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10840// with awserr.Error's Code and Message methods to get detailed information about
10841// the error.
10842//
10843// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10844// API operation UpdateAssociationStatus for usage and error information.
10845//
10846// Returned Error Codes:
10847//   * ErrCodeInternalServerError "InternalServerError"
10848//   An error occurred on the server side.
10849//
10850//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
10851//   The following problems can cause this exception:
10852//
10853//   You do not have permission to access the instance.
10854//
10855//   SSM Agent is not running. Verify that SSM Agent is running.
10856//
10857//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
10858//
10859//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
10860//   Stopping. Invalid states are: Shutting-down and Terminated.
10861//
10862//   * ErrCodeInvalidDocument "InvalidDocument"
10863//   The specified document does not exist.
10864//
10865//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10866//   The specified association does not exist.
10867//
10868//   * ErrCodeStatusUnchanged "StatusUnchanged"
10869//   The updated status is the same as the current status.
10870//
10871//   * ErrCodeTooManyUpdates "TooManyUpdates"
10872//   There are concurrent updates for a resource that supports one update at a
10873//   time.
10874//
10875// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
10876func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) {
10877	req, out := c.UpdateAssociationStatusRequest(input)
10878	return out, req.Send()
10879}
10880
10881// UpdateAssociationStatusWithContext is the same as UpdateAssociationStatus with the addition of
10882// the ability to pass a context and additional request options.
10883//
10884// See UpdateAssociationStatus for details on how to use this API operation.
10885//
10886// The context must be non-nil and will be used for request cancellation. If
10887// the context is nil a panic will occur. In the future the SDK may create
10888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10889// for more information on using Contexts.
10890func (c *SSM) UpdateAssociationStatusWithContext(ctx aws.Context, input *UpdateAssociationStatusInput, opts ...request.Option) (*UpdateAssociationStatusOutput, error) {
10891	req, out := c.UpdateAssociationStatusRequest(input)
10892	req.SetContext(ctx)
10893	req.ApplyOptions(opts...)
10894	return out, req.Send()
10895}
10896
10897const opUpdateDocument = "UpdateDocument"
10898
10899// UpdateDocumentRequest generates a "aws/request.Request" representing the
10900// client's request for the UpdateDocument operation. The "output" return
10901// value will be populated with the request's response once the request completes
10902// successfully.
10903//
10904// Use "Send" method on the returned Request to send the API call to the service.
10905// the "output" return value is not valid until after Send returns without error.
10906//
10907// See UpdateDocument for more information on using the UpdateDocument
10908// API call, and error handling.
10909//
10910// This method is useful when you want to inject custom logic or configuration
10911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10912//
10913//
10914//    // Example sending a request using the UpdateDocumentRequest method.
10915//    req, resp := client.UpdateDocumentRequest(params)
10916//
10917//    err := req.Send()
10918//    if err == nil { // resp is now filled
10919//        fmt.Println(resp)
10920//    }
10921//
10922// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
10923func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
10924	op := &request.Operation{
10925		Name:       opUpdateDocument,
10926		HTTPMethod: "POST",
10927		HTTPPath:   "/",
10928	}
10929
10930	if input == nil {
10931		input = &UpdateDocumentInput{}
10932	}
10933
10934	output = &UpdateDocumentOutput{}
10935	req = c.newRequest(op, input, output)
10936	return
10937}
10938
10939// UpdateDocument API operation for Amazon Simple Systems Manager (SSM).
10940//
10941// Updates one or more values for an SSM document.
10942//
10943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10944// with awserr.Error's Code and Message methods to get detailed information about
10945// the error.
10946//
10947// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10948// API operation UpdateDocument for usage and error information.
10949//
10950// Returned Error Codes:
10951//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
10952//   The size limit of a document is 64 KB.
10953//
10954//   * ErrCodeDocumentVersionLimitExceeded "DocumentVersionLimitExceeded"
10955//   The document has too many versions. Delete one or more document versions
10956//   and try again.
10957//
10958//   * ErrCodeInternalServerError "InternalServerError"
10959//   An error occurred on the server side.
10960//
10961//   * ErrCodeDuplicateDocumentContent "DuplicateDocumentContent"
10962//   The content of the association document matches another document. Change
10963//   the content of the document and try again.
10964//
10965//   * ErrCodeDuplicateDocumentVersionName "DuplicateDocumentVersionName"
10966//   The version name has already been used in this document. Specify a different
10967//   version name, and then try again.
10968//
10969//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
10970//   The content for the document is not valid.
10971//
10972//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
10973//   The document version is not valid or does not exist.
10974//
10975//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
10976//   The version of the document schema is not supported.
10977//
10978//   * ErrCodeInvalidDocument "InvalidDocument"
10979//   The specified document does not exist.
10980//
10981//   * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation"
10982//   You attempted to delete a document while it is still shared. You must stop
10983//   sharing the document before you can delete it.
10984//
10985// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
10986func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
10987	req, out := c.UpdateDocumentRequest(input)
10988	return out, req.Send()
10989}
10990
10991// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
10992// the ability to pass a context and additional request options.
10993//
10994// See UpdateDocument for details on how to use this API operation.
10995//
10996// The context must be non-nil and will be used for request cancellation. If
10997// the context is nil a panic will occur. In the future the SDK may create
10998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10999// for more information on using Contexts.
11000func (c *SSM) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
11001	req, out := c.UpdateDocumentRequest(input)
11002	req.SetContext(ctx)
11003	req.ApplyOptions(opts...)
11004	return out, req.Send()
11005}
11006
11007const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion"
11008
11009// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the
11010// client's request for the UpdateDocumentDefaultVersion operation. The "output" return
11011// value will be populated with the request's response once the request completes
11012// successfully.
11013//
11014// Use "Send" method on the returned Request to send the API call to the service.
11015// the "output" return value is not valid until after Send returns without error.
11016//
11017// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion
11018// API call, and error handling.
11019//
11020// This method is useful when you want to inject custom logic or configuration
11021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11022//
11023//
11024//    // Example sending a request using the UpdateDocumentDefaultVersionRequest method.
11025//    req, resp := client.UpdateDocumentDefaultVersionRequest(params)
11026//
11027//    err := req.Send()
11028//    if err == nil { // resp is now filled
11029//        fmt.Println(resp)
11030//    }
11031//
11032// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
11033func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) {
11034	op := &request.Operation{
11035		Name:       opUpdateDocumentDefaultVersion,
11036		HTTPMethod: "POST",
11037		HTTPPath:   "/",
11038	}
11039
11040	if input == nil {
11041		input = &UpdateDocumentDefaultVersionInput{}
11042	}
11043
11044	output = &UpdateDocumentDefaultVersionOutput{}
11045	req = c.newRequest(op, input, output)
11046	return
11047}
11048
11049// UpdateDocumentDefaultVersion API operation for Amazon Simple Systems Manager (SSM).
11050//
11051// Set the default version of a document.
11052//
11053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11054// with awserr.Error's Code and Message methods to get detailed information about
11055// the error.
11056//
11057// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11058// API operation UpdateDocumentDefaultVersion for usage and error information.
11059//
11060// Returned Error Codes:
11061//   * ErrCodeInternalServerError "InternalServerError"
11062//   An error occurred on the server side.
11063//
11064//   * ErrCodeInvalidDocument "InvalidDocument"
11065//   The specified document does not exist.
11066//
11067//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
11068//   The document version is not valid or does not exist.
11069//
11070//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
11071//   The version of the document schema is not supported.
11072//
11073// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
11074func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) {
11075	req, out := c.UpdateDocumentDefaultVersionRequest(input)
11076	return out, req.Send()
11077}
11078
11079// UpdateDocumentDefaultVersionWithContext is the same as UpdateDocumentDefaultVersion with the addition of
11080// the ability to pass a context and additional request options.
11081//
11082// See UpdateDocumentDefaultVersion for details on how to use this API operation.
11083//
11084// The context must be non-nil and will be used for request cancellation. If
11085// the context is nil a panic will occur. In the future the SDK may create
11086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11087// for more information on using Contexts.
11088func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *UpdateDocumentDefaultVersionInput, opts ...request.Option) (*UpdateDocumentDefaultVersionOutput, error) {
11089	req, out := c.UpdateDocumentDefaultVersionRequest(input)
11090	req.SetContext(ctx)
11091	req.ApplyOptions(opts...)
11092	return out, req.Send()
11093}
11094
11095const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow"
11096
11097// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the
11098// client's request for the UpdateMaintenanceWindow operation. The "output" return
11099// value will be populated with the request's response once the request completes
11100// successfully.
11101//
11102// Use "Send" method on the returned Request to send the API call to the service.
11103// the "output" return value is not valid until after Send returns without error.
11104//
11105// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow
11106// API call, and error handling.
11107//
11108// This method is useful when you want to inject custom logic or configuration
11109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11110//
11111//
11112//    // Example sending a request using the UpdateMaintenanceWindowRequest method.
11113//    req, resp := client.UpdateMaintenanceWindowRequest(params)
11114//
11115//    err := req.Send()
11116//    if err == nil { // resp is now filled
11117//        fmt.Println(resp)
11118//    }
11119//
11120// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
11121func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) {
11122	op := &request.Operation{
11123		Name:       opUpdateMaintenanceWindow,
11124		HTTPMethod: "POST",
11125		HTTPPath:   "/",
11126	}
11127
11128	if input == nil {
11129		input = &UpdateMaintenanceWindowInput{}
11130	}
11131
11132	output = &UpdateMaintenanceWindowOutput{}
11133	req = c.newRequest(op, input, output)
11134	return
11135}
11136
11137// UpdateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
11138//
11139// Updates an existing maintenance window. Only specified parameters are modified.
11140//
11141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11142// with awserr.Error's Code and Message methods to get detailed information about
11143// the error.
11144//
11145// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11146// API operation UpdateMaintenanceWindow for usage and error information.
11147//
11148// Returned Error Codes:
11149//   * ErrCodeDoesNotExistException "DoesNotExistException"
11150//   Error returned when the ID specified for a resource, such as a maintenance
11151//   window or Patch baseline, doesn't exist.
11152//
11153//   For information about resource limits in Systems Manager, see AWS Systems
11154//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11155//
11156//   * ErrCodeInternalServerError "InternalServerError"
11157//   An error occurred on the server side.
11158//
11159// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
11160func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) {
11161	req, out := c.UpdateMaintenanceWindowRequest(input)
11162	return out, req.Send()
11163}
11164
11165// UpdateMaintenanceWindowWithContext is the same as UpdateMaintenanceWindow with the addition of
11166// the ability to pass a context and additional request options.
11167//
11168// See UpdateMaintenanceWindow for details on how to use this API operation.
11169//
11170// The context must be non-nil and will be used for request cancellation. If
11171// the context is nil a panic will occur. In the future the SDK may create
11172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11173// for more information on using Contexts.
11174func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateMaintenanceWindowInput, opts ...request.Option) (*UpdateMaintenanceWindowOutput, error) {
11175	req, out := c.UpdateMaintenanceWindowRequest(input)
11176	req.SetContext(ctx)
11177	req.ApplyOptions(opts...)
11178	return out, req.Send()
11179}
11180
11181const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget"
11182
11183// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the
11184// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return
11185// value will be populated with the request's response once the request completes
11186// successfully.
11187//
11188// Use "Send" method on the returned Request to send the API call to the service.
11189// the "output" return value is not valid until after Send returns without error.
11190//
11191// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget
11192// API call, and error handling.
11193//
11194// This method is useful when you want to inject custom logic or configuration
11195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11196//
11197//
11198//    // Example sending a request using the UpdateMaintenanceWindowTargetRequest method.
11199//    req, resp := client.UpdateMaintenanceWindowTargetRequest(params)
11200//
11201//    err := req.Send()
11202//    if err == nil { // resp is now filled
11203//        fmt.Println(resp)
11204//    }
11205//
11206// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
11207func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) {
11208	op := &request.Operation{
11209		Name:       opUpdateMaintenanceWindowTarget,
11210		HTTPMethod: "POST",
11211		HTTPPath:   "/",
11212	}
11213
11214	if input == nil {
11215		input = &UpdateMaintenanceWindowTargetInput{}
11216	}
11217
11218	output = &UpdateMaintenanceWindowTargetOutput{}
11219	req = c.newRequest(op, input, output)
11220	return
11221}
11222
11223// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM).
11224//
11225// Modifies the target of an existing maintenance window. You can change the
11226// following:
11227//
11228//    * Name
11229//
11230//    * Description
11231//
11232//    * Owner
11233//
11234//    * IDs for an ID target
11235//
11236//    * Tags for a Tag target
11237//
11238//    * From any supported tag type to another. The three supported tag types
11239//    are ID target, Tag target, and resource group. For more information, see
11240//    Target.
11241//
11242// If a parameter is null, then the corresponding field is not modified.
11243//
11244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11245// with awserr.Error's Code and Message methods to get detailed information about
11246// the error.
11247//
11248// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11249// API operation UpdateMaintenanceWindowTarget for usage and error information.
11250//
11251// Returned Error Codes:
11252//   * ErrCodeDoesNotExistException "DoesNotExistException"
11253//   Error returned when the ID specified for a resource, such as a maintenance
11254//   window or Patch baseline, doesn't exist.
11255//
11256//   For information about resource limits in Systems Manager, see AWS Systems
11257//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11258//
11259//   * ErrCodeInternalServerError "InternalServerError"
11260//   An error occurred on the server side.
11261//
11262// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
11263func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) {
11264	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
11265	return out, req.Send()
11266}
11267
11268// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of
11269// the ability to pass a context and additional request options.
11270//
11271// See UpdateMaintenanceWindowTarget for details on how to use this API operation.
11272//
11273// The context must be non-nil and will be used for request cancellation. If
11274// the context is nil a panic will occur. In the future the SDK may create
11275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11276// for more information on using Contexts.
11277func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) {
11278	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
11279	req.SetContext(ctx)
11280	req.ApplyOptions(opts...)
11281	return out, req.Send()
11282}
11283
11284const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask"
11285
11286// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
11287// client's request for the UpdateMaintenanceWindowTask operation. The "output" return
11288// value will be populated with the request's response once the request completes
11289// successfully.
11290//
11291// Use "Send" method on the returned Request to send the API call to the service.
11292// the "output" return value is not valid until after Send returns without error.
11293//
11294// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask
11295// API call, and error handling.
11296//
11297// This method is useful when you want to inject custom logic or configuration
11298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11299//
11300//
11301//    // Example sending a request using the UpdateMaintenanceWindowTaskRequest method.
11302//    req, resp := client.UpdateMaintenanceWindowTaskRequest(params)
11303//
11304//    err := req.Send()
11305//    if err == nil { // resp is now filled
11306//        fmt.Println(resp)
11307//    }
11308//
11309// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
11310func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) {
11311	op := &request.Operation{
11312		Name:       opUpdateMaintenanceWindowTask,
11313		HTTPMethod: "POST",
11314		HTTPPath:   "/",
11315	}
11316
11317	if input == nil {
11318		input = &UpdateMaintenanceWindowTaskInput{}
11319	}
11320
11321	output = &UpdateMaintenanceWindowTaskOutput{}
11322	req = c.newRequest(op, input, output)
11323	return
11324}
11325
11326// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
11327//
11328// Modifies a task assigned to a maintenance window. You can't change the task
11329// type, but you can change the following values:
11330//
11331//    * TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript
11332//    to AWS-RunShellScript.
11333//
11334//    * ServiceRoleArn
11335//
11336//    * TaskInvocationParameters
11337//
11338//    * Priority
11339//
11340//    * MaxConcurrency
11341//
11342//    * MaxErrors
11343//
11344// If a parameter is null, then the corresponding field is not modified. Also,
11345// if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow
11346// action are required for this request. Optional fields that aren't specified
11347// are set to null.
11348//
11349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11350// with awserr.Error's Code and Message methods to get detailed information about
11351// the error.
11352//
11353// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11354// API operation UpdateMaintenanceWindowTask for usage and error information.
11355//
11356// Returned Error Codes:
11357//   * ErrCodeDoesNotExistException "DoesNotExistException"
11358//   Error returned when the ID specified for a resource, such as a maintenance
11359//   window or Patch baseline, doesn't exist.
11360//
11361//   For information about resource limits in Systems Manager, see AWS Systems
11362//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11363//
11364//   * ErrCodeInternalServerError "InternalServerError"
11365//   An error occurred on the server side.
11366//
11367// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
11368func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) {
11369	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
11370	return out, req.Send()
11371}
11372
11373// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of
11374// the ability to pass a context and additional request options.
11375//
11376// See UpdateMaintenanceWindowTask for details on how to use this API operation.
11377//
11378// The context must be non-nil and will be used for request cancellation. If
11379// the context is nil a panic will occur. In the future the SDK may create
11380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11381// for more information on using Contexts.
11382func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) {
11383	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
11384	req.SetContext(ctx)
11385	req.ApplyOptions(opts...)
11386	return out, req.Send()
11387}
11388
11389const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole"
11390
11391// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the
11392// client's request for the UpdateManagedInstanceRole operation. The "output" return
11393// value will be populated with the request's response once the request completes
11394// successfully.
11395//
11396// Use "Send" method on the returned Request to send the API call to the service.
11397// the "output" return value is not valid until after Send returns without error.
11398//
11399// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole
11400// API call, and error handling.
11401//
11402// This method is useful when you want to inject custom logic or configuration
11403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11404//
11405//
11406//    // Example sending a request using the UpdateManagedInstanceRoleRequest method.
11407//    req, resp := client.UpdateManagedInstanceRoleRequest(params)
11408//
11409//    err := req.Send()
11410//    if err == nil { // resp is now filled
11411//        fmt.Println(resp)
11412//    }
11413//
11414// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
11415func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) {
11416	op := &request.Operation{
11417		Name:       opUpdateManagedInstanceRole,
11418		HTTPMethod: "POST",
11419		HTTPPath:   "/",
11420	}
11421
11422	if input == nil {
11423		input = &UpdateManagedInstanceRoleInput{}
11424	}
11425
11426	output = &UpdateManagedInstanceRoleOutput{}
11427	req = c.newRequest(op, input, output)
11428	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11429	return
11430}
11431
11432// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM).
11433//
11434// Assigns or changes an Amazon Identity and Access Management (IAM) role for
11435// the managed instance.
11436//
11437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11438// with awserr.Error's Code and Message methods to get detailed information about
11439// the error.
11440//
11441// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11442// API operation UpdateManagedInstanceRole for usage and error information.
11443//
11444// Returned Error Codes:
11445//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
11446//   The following problems can cause this exception:
11447//
11448//   You do not have permission to access the instance.
11449//
11450//   SSM Agent is not running. Verify that SSM Agent is running.
11451//
11452//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
11453//
11454//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
11455//   Stopping. Invalid states are: Shutting-down and Terminated.
11456//
11457//   * ErrCodeInternalServerError "InternalServerError"
11458//   An error occurred on the server side.
11459//
11460// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
11461func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) {
11462	req, out := c.UpdateManagedInstanceRoleRequest(input)
11463	return out, req.Send()
11464}
11465
11466// UpdateManagedInstanceRoleWithContext is the same as UpdateManagedInstanceRole with the addition of
11467// the ability to pass a context and additional request options.
11468//
11469// See UpdateManagedInstanceRole for details on how to use this API operation.
11470//
11471// The context must be non-nil and will be used for request cancellation. If
11472// the context is nil a panic will occur. In the future the SDK may create
11473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11474// for more information on using Contexts.
11475func (c *SSM) UpdateManagedInstanceRoleWithContext(ctx aws.Context, input *UpdateManagedInstanceRoleInput, opts ...request.Option) (*UpdateManagedInstanceRoleOutput, error) {
11476	req, out := c.UpdateManagedInstanceRoleRequest(input)
11477	req.SetContext(ctx)
11478	req.ApplyOptions(opts...)
11479	return out, req.Send()
11480}
11481
11482const opUpdateOpsItem = "UpdateOpsItem"
11483
11484// UpdateOpsItemRequest generates a "aws/request.Request" representing the
11485// client's request for the UpdateOpsItem operation. The "output" return
11486// value will be populated with the request's response once the request completes
11487// successfully.
11488//
11489// Use "Send" method on the returned Request to send the API call to the service.
11490// the "output" return value is not valid until after Send returns without error.
11491//
11492// See UpdateOpsItem for more information on using the UpdateOpsItem
11493// API call, and error handling.
11494//
11495// This method is useful when you want to inject custom logic or configuration
11496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11497//
11498//
11499//    // Example sending a request using the UpdateOpsItemRequest method.
11500//    req, resp := client.UpdateOpsItemRequest(params)
11501//
11502//    err := req.Send()
11503//    if err == nil { // resp is now filled
11504//        fmt.Println(resp)
11505//    }
11506//
11507// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
11508func (c *SSM) UpdateOpsItemRequest(input *UpdateOpsItemInput) (req *request.Request, output *UpdateOpsItemOutput) {
11509	op := &request.Operation{
11510		Name:       opUpdateOpsItem,
11511		HTTPMethod: "POST",
11512		HTTPPath:   "/",
11513	}
11514
11515	if input == nil {
11516		input = &UpdateOpsItemInput{}
11517	}
11518
11519	output = &UpdateOpsItemOutput{}
11520	req = c.newRequest(op, input, output)
11521	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11522	return
11523}
11524
11525// UpdateOpsItem API operation for Amazon Simple Systems Manager (SSM).
11526//
11527// Edit or change an OpsItem. You must have permission in AWS Identity and Access
11528// Management (IAM) to update an OpsItem. For more information, see Getting
11529// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
11530// in the AWS Systems Manager User Guide.
11531//
11532// Operations engineers and IT professionals use OpsCenter to view, investigate,
11533// and remediate operational issues impacting the performance and health of
11534// their AWS resources. For more information, see AWS Systems Manager OpsCenter
11535// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
11536// in the AWS Systems Manager User Guide.
11537//
11538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11539// with awserr.Error's Code and Message methods to get detailed information about
11540// the error.
11541//
11542// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11543// API operation UpdateOpsItem for usage and error information.
11544//
11545// Returned Error Codes:
11546//   * ErrCodeInternalServerError "InternalServerError"
11547//   An error occurred on the server side.
11548//
11549//   * ErrCodeOpsItemNotFoundException "OpsItemNotFoundException"
11550//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
11551//
11552//   * ErrCodeOpsItemAlreadyExistsException "OpsItemAlreadyExistsException"
11553//   The OpsItem already exists.
11554//
11555//   * ErrCodeOpsItemLimitExceededException "OpsItemLimitExceededException"
11556//   The request caused OpsItems to exceed one or more limits. For information
11557//   about OpsItem limits, see What are the resource limits for OpsCenter? (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
11558//
11559//   * ErrCodeOpsItemInvalidParameterException "OpsItemInvalidParameterException"
11560//   A specified parameter argument isn't valid. Verify the available arguments
11561//   and try again.
11562//
11563// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
11564func (c *SSM) UpdateOpsItem(input *UpdateOpsItemInput) (*UpdateOpsItemOutput, error) {
11565	req, out := c.UpdateOpsItemRequest(input)
11566	return out, req.Send()
11567}
11568
11569// UpdateOpsItemWithContext is the same as UpdateOpsItem with the addition of
11570// the ability to pass a context and additional request options.
11571//
11572// See UpdateOpsItem for details on how to use this API operation.
11573//
11574// The context must be non-nil and will be used for request cancellation. If
11575// the context is nil a panic will occur. In the future the SDK may create
11576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11577// for more information on using Contexts.
11578func (c *SSM) UpdateOpsItemWithContext(ctx aws.Context, input *UpdateOpsItemInput, opts ...request.Option) (*UpdateOpsItemOutput, error) {
11579	req, out := c.UpdateOpsItemRequest(input)
11580	req.SetContext(ctx)
11581	req.ApplyOptions(opts...)
11582	return out, req.Send()
11583}
11584
11585const opUpdatePatchBaseline = "UpdatePatchBaseline"
11586
11587// UpdatePatchBaselineRequest generates a "aws/request.Request" representing the
11588// client's request for the UpdatePatchBaseline operation. The "output" return
11589// value will be populated with the request's response once the request completes
11590// successfully.
11591//
11592// Use "Send" method on the returned Request to send the API call to the service.
11593// the "output" return value is not valid until after Send returns without error.
11594//
11595// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline
11596// API call, and error handling.
11597//
11598// This method is useful when you want to inject custom logic or configuration
11599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11600//
11601//
11602//    // Example sending a request using the UpdatePatchBaselineRequest method.
11603//    req, resp := client.UpdatePatchBaselineRequest(params)
11604//
11605//    err := req.Send()
11606//    if err == nil { // resp is now filled
11607//        fmt.Println(resp)
11608//    }
11609//
11610// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
11611func (c *SSM) UpdatePatchBaselineRequest(input *UpdatePatchBaselineInput) (req *request.Request, output *UpdatePatchBaselineOutput) {
11612	op := &request.Operation{
11613		Name:       opUpdatePatchBaseline,
11614		HTTPMethod: "POST",
11615		HTTPPath:   "/",
11616	}
11617
11618	if input == nil {
11619		input = &UpdatePatchBaselineInput{}
11620	}
11621
11622	output = &UpdatePatchBaselineOutput{}
11623	req = c.newRequest(op, input, output)
11624	return
11625}
11626
11627// UpdatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
11628//
11629// Modifies an existing patch baseline. Fields not specified in the request
11630// are left unchanged.
11631//
11632// For information about valid key and value pairs in PatchFilters for each
11633// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html).
11634//
11635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11636// with awserr.Error's Code and Message methods to get detailed information about
11637// the error.
11638//
11639// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11640// API operation UpdatePatchBaseline for usage and error information.
11641//
11642// Returned Error Codes:
11643//   * ErrCodeDoesNotExistException "DoesNotExistException"
11644//   Error returned when the ID specified for a resource, such as a maintenance
11645//   window or Patch baseline, doesn't exist.
11646//
11647//   For information about resource limits in Systems Manager, see AWS Systems
11648//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11649//
11650//   * ErrCodeInternalServerError "InternalServerError"
11651//   An error occurred on the server side.
11652//
11653// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
11654func (c *SSM) UpdatePatchBaseline(input *UpdatePatchBaselineInput) (*UpdatePatchBaselineOutput, error) {
11655	req, out := c.UpdatePatchBaselineRequest(input)
11656	return out, req.Send()
11657}
11658
11659// UpdatePatchBaselineWithContext is the same as UpdatePatchBaseline with the addition of
11660// the ability to pass a context and additional request options.
11661//
11662// See UpdatePatchBaseline for details on how to use this API operation.
11663//
11664// The context must be non-nil and will be used for request cancellation. If
11665// the context is nil a panic will occur. In the future the SDK may create
11666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11667// for more information on using Contexts.
11668func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatchBaselineInput, opts ...request.Option) (*UpdatePatchBaselineOutput, error) {
11669	req, out := c.UpdatePatchBaselineRequest(input)
11670	req.SetContext(ctx)
11671	req.ApplyOptions(opts...)
11672	return out, req.Send()
11673}
11674
11675const opUpdateServiceSetting = "UpdateServiceSetting"
11676
11677// UpdateServiceSettingRequest generates a "aws/request.Request" representing the
11678// client's request for the UpdateServiceSetting operation. The "output" return
11679// value will be populated with the request's response once the request completes
11680// successfully.
11681//
11682// Use "Send" method on the returned Request to send the API call to the service.
11683// the "output" return value is not valid until after Send returns without error.
11684//
11685// See UpdateServiceSetting for more information on using the UpdateServiceSetting
11686// API call, and error handling.
11687//
11688// This method is useful when you want to inject custom logic or configuration
11689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11690//
11691//
11692//    // Example sending a request using the UpdateServiceSettingRequest method.
11693//    req, resp := client.UpdateServiceSettingRequest(params)
11694//
11695//    err := req.Send()
11696//    if err == nil { // resp is now filled
11697//        fmt.Println(resp)
11698//    }
11699//
11700// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
11701func (c *SSM) UpdateServiceSettingRequest(input *UpdateServiceSettingInput) (req *request.Request, output *UpdateServiceSettingOutput) {
11702	op := &request.Operation{
11703		Name:       opUpdateServiceSetting,
11704		HTTPMethod: "POST",
11705		HTTPPath:   "/",
11706	}
11707
11708	if input == nil {
11709		input = &UpdateServiceSettingInput{}
11710	}
11711
11712	output = &UpdateServiceSettingOutput{}
11713	req = c.newRequest(op, input, output)
11714	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11715	return
11716}
11717
11718// UpdateServiceSetting API operation for Amazon Simple Systems Manager (SSM).
11719//
11720// ServiceSetting is an account-level setting for an AWS service. This setting
11721// defines how a user interacts with or uses a service or a feature of a service.
11722// For example, if an AWS service charges money to the account based on feature
11723// or service usage, then the AWS service team might create a default setting
11724// of "false". This means the user can't use this feature unless they change
11725// the setting to "true" and intentionally opt in for a paid feature.
11726//
11727// Services map a SettingId object to a setting value. AWS services teams define
11728// the default value for a SettingId. You can't create a new SettingId, but
11729// you can overwrite the default value if you have the ssm:UpdateServiceSetting
11730// permission for the setting. Use the GetServiceSetting API action to view
11731// the current value. Or, use the ResetServiceSetting to change the value back
11732// to the original value defined by the AWS service team.
11733//
11734// Update the service setting for the account.
11735//
11736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11737// with awserr.Error's Code and Message methods to get detailed information about
11738// the error.
11739//
11740// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11741// API operation UpdateServiceSetting for usage and error information.
11742//
11743// Returned Error Codes:
11744//   * ErrCodeInternalServerError "InternalServerError"
11745//   An error occurred on the server side.
11746//
11747//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
11748//   The specified service setting was not found. Either the service name or the
11749//   setting has not been provisioned by the AWS service team.
11750//
11751//   * ErrCodeTooManyUpdates "TooManyUpdates"
11752//   There are concurrent updates for a resource that supports one update at a
11753//   time.
11754//
11755// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
11756func (c *SSM) UpdateServiceSetting(input *UpdateServiceSettingInput) (*UpdateServiceSettingOutput, error) {
11757	req, out := c.UpdateServiceSettingRequest(input)
11758	return out, req.Send()
11759}
11760
11761// UpdateServiceSettingWithContext is the same as UpdateServiceSetting with the addition of
11762// the ability to pass a context and additional request options.
11763//
11764// See UpdateServiceSetting for details on how to use this API operation.
11765//
11766// The context must be non-nil and will be used for request cancellation. If
11767// the context is nil a panic will occur. In the future the SDK may create
11768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11769// for more information on using Contexts.
11770func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServiceSettingInput, opts ...request.Option) (*UpdateServiceSettingOutput, error) {
11771	req, out := c.UpdateServiceSettingRequest(input)
11772	req.SetContext(ctx)
11773	req.ApplyOptions(opts...)
11774	return out, req.Send()
11775}
11776
11777// An activation registers one or more on-premises servers or virtual machines
11778// (VMs) with AWS so that you can configure those servers or VMs using Run Command.
11779// A server or VM that has been registered with AWS is called a managed instance.
11780type Activation struct {
11781	_ struct{} `type:"structure"`
11782
11783	// The ID created by Systems Manager when you submitted the activation.
11784	ActivationId *string `type:"string"`
11785
11786	// The date the activation was created.
11787	CreatedDate *time.Time `type:"timestamp"`
11788
11789	// A name for the managed instance when it is created.
11790	DefaultInstanceName *string `type:"string"`
11791
11792	// A user defined description of the activation.
11793	Description *string `type:"string"`
11794
11795	// The date when this activation can no longer be used to register managed instances.
11796	ExpirationDate *time.Time `type:"timestamp"`
11797
11798	// Whether or not the activation is expired.
11799	Expired *bool `type:"boolean"`
11800
11801	// The Amazon Identity and Access Management (IAM) role to assign to the managed
11802	// instance.
11803	IamRole *string `type:"string"`
11804
11805	// The maximum number of managed instances that can be registered using this
11806	// activation.
11807	RegistrationLimit *int64 `min:"1" type:"integer"`
11808
11809	// The number of managed instances already registered with this activation.
11810	RegistrationsCount *int64 `min:"1" type:"integer"`
11811
11812	// Tags assigned to the activation.
11813	Tags []*Tag `type:"list"`
11814}
11815
11816// String returns the string representation
11817func (s Activation) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation
11822func (s Activation) GoString() string {
11823	return s.String()
11824}
11825
11826// SetActivationId sets the ActivationId field's value.
11827func (s *Activation) SetActivationId(v string) *Activation {
11828	s.ActivationId = &v
11829	return s
11830}
11831
11832// SetCreatedDate sets the CreatedDate field's value.
11833func (s *Activation) SetCreatedDate(v time.Time) *Activation {
11834	s.CreatedDate = &v
11835	return s
11836}
11837
11838// SetDefaultInstanceName sets the DefaultInstanceName field's value.
11839func (s *Activation) SetDefaultInstanceName(v string) *Activation {
11840	s.DefaultInstanceName = &v
11841	return s
11842}
11843
11844// SetDescription sets the Description field's value.
11845func (s *Activation) SetDescription(v string) *Activation {
11846	s.Description = &v
11847	return s
11848}
11849
11850// SetExpirationDate sets the ExpirationDate field's value.
11851func (s *Activation) SetExpirationDate(v time.Time) *Activation {
11852	s.ExpirationDate = &v
11853	return s
11854}
11855
11856// SetExpired sets the Expired field's value.
11857func (s *Activation) SetExpired(v bool) *Activation {
11858	s.Expired = &v
11859	return s
11860}
11861
11862// SetIamRole sets the IamRole field's value.
11863func (s *Activation) SetIamRole(v string) *Activation {
11864	s.IamRole = &v
11865	return s
11866}
11867
11868// SetRegistrationLimit sets the RegistrationLimit field's value.
11869func (s *Activation) SetRegistrationLimit(v int64) *Activation {
11870	s.RegistrationLimit = &v
11871	return s
11872}
11873
11874// SetRegistrationsCount sets the RegistrationsCount field's value.
11875func (s *Activation) SetRegistrationsCount(v int64) *Activation {
11876	s.RegistrationsCount = &v
11877	return s
11878}
11879
11880// SetTags sets the Tags field's value.
11881func (s *Activation) SetTags(v []*Tag) *Activation {
11882	s.Tags = v
11883	return s
11884}
11885
11886type AddTagsToResourceInput struct {
11887	_ struct{} `type:"structure"`
11888
11889	// The resource ID you want to tag.
11890	//
11891	// Use the ID of the resource. Here are some examples:
11892	//
11893	// ManagedInstance: mi-012345abcde
11894	//
11895	// MaintenanceWindow: mw-012345abcde
11896	//
11897	// PatchBaseline: pb-012345abcde
11898	//
11899	// For the Document and Parameter values, use the name of the resource.
11900	//
11901	// The ManagedInstance type for this API action is only for on-premises managed
11902	// instances. You must specify the name of the managed instance in the following
11903	// format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
11904	//
11905	// ResourceId is a required field
11906	ResourceId *string `type:"string" required:"true"`
11907
11908	// Specifies the type of resource you are tagging.
11909	//
11910	// The ManagedInstance type for this API action is for on-premises managed instances.
11911	// You must specify the name of the managed instance in the following format:
11912	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
11913	//
11914	// ResourceType is a required field
11915	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
11916
11917	// One or more tags. The value parameter is required, but if you don't want
11918	// the tag to have a value, specify the parameter with no value, and we set
11919	// the value to an empty string.
11920	//
11921	// Do not enter personally identifiable information in this field.
11922	//
11923	// Tags is a required field
11924	Tags []*Tag `type:"list" required:"true"`
11925}
11926
11927// String returns the string representation
11928func (s AddTagsToResourceInput) String() string {
11929	return awsutil.Prettify(s)
11930}
11931
11932// GoString returns the string representation
11933func (s AddTagsToResourceInput) GoString() string {
11934	return s.String()
11935}
11936
11937// Validate inspects the fields of the type to determine if they are valid.
11938func (s *AddTagsToResourceInput) Validate() error {
11939	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
11940	if s.ResourceId == nil {
11941		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
11942	}
11943	if s.ResourceType == nil {
11944		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
11945	}
11946	if s.Tags == nil {
11947		invalidParams.Add(request.NewErrParamRequired("Tags"))
11948	}
11949	if s.Tags != nil {
11950		for i, v := range s.Tags {
11951			if v == nil {
11952				continue
11953			}
11954			if err := v.Validate(); err != nil {
11955				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11956			}
11957		}
11958	}
11959
11960	if invalidParams.Len() > 0 {
11961		return invalidParams
11962	}
11963	return nil
11964}
11965
11966// SetResourceId sets the ResourceId field's value.
11967func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
11968	s.ResourceId = &v
11969	return s
11970}
11971
11972// SetResourceType sets the ResourceType field's value.
11973func (s *AddTagsToResourceInput) SetResourceType(v string) *AddTagsToResourceInput {
11974	s.ResourceType = &v
11975	return s
11976}
11977
11978// SetTags sets the Tags field's value.
11979func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
11980	s.Tags = v
11981	return s
11982}
11983
11984type AddTagsToResourceOutput struct {
11985	_ struct{} `type:"structure"`
11986}
11987
11988// String returns the string representation
11989func (s AddTagsToResourceOutput) String() string {
11990	return awsutil.Prettify(s)
11991}
11992
11993// GoString returns the string representation
11994func (s AddTagsToResourceOutput) GoString() string {
11995	return s.String()
11996}
11997
11998// Describes an association of a Systems Manager document and an instance.
11999type Association struct {
12000	_ struct{} `type:"structure"`
12001
12002	// The ID created by the system when you create an association. An association
12003	// is a binding between a document and a set of targets with a schedule.
12004	AssociationId *string `type:"string"`
12005
12006	// The association name.
12007	AssociationName *string `type:"string"`
12008
12009	// The association version.
12010	AssociationVersion *string `type:"string"`
12011
12012	// The version of the document used in the association.
12013	DocumentVersion *string `type:"string"`
12014
12015	// The ID of the instance.
12016	InstanceId *string `type:"string"`
12017
12018	// The date on which the association was last run.
12019	LastExecutionDate *time.Time `type:"timestamp"`
12020
12021	// The name of the Systems Manager document.
12022	Name *string `type:"string"`
12023
12024	// Information about the association.
12025	Overview *AssociationOverview `type:"structure"`
12026
12027	// A cron expression that specifies a schedule when the association runs.
12028	ScheduleExpression *string `min:"1" type:"string"`
12029
12030	// The instances targeted by the request to create an association.
12031	Targets []*Target `type:"list"`
12032}
12033
12034// String returns the string representation
12035func (s Association) String() string {
12036	return awsutil.Prettify(s)
12037}
12038
12039// GoString returns the string representation
12040func (s Association) GoString() string {
12041	return s.String()
12042}
12043
12044// SetAssociationId sets the AssociationId field's value.
12045func (s *Association) SetAssociationId(v string) *Association {
12046	s.AssociationId = &v
12047	return s
12048}
12049
12050// SetAssociationName sets the AssociationName field's value.
12051func (s *Association) SetAssociationName(v string) *Association {
12052	s.AssociationName = &v
12053	return s
12054}
12055
12056// SetAssociationVersion sets the AssociationVersion field's value.
12057func (s *Association) SetAssociationVersion(v string) *Association {
12058	s.AssociationVersion = &v
12059	return s
12060}
12061
12062// SetDocumentVersion sets the DocumentVersion field's value.
12063func (s *Association) SetDocumentVersion(v string) *Association {
12064	s.DocumentVersion = &v
12065	return s
12066}
12067
12068// SetInstanceId sets the InstanceId field's value.
12069func (s *Association) SetInstanceId(v string) *Association {
12070	s.InstanceId = &v
12071	return s
12072}
12073
12074// SetLastExecutionDate sets the LastExecutionDate field's value.
12075func (s *Association) SetLastExecutionDate(v time.Time) *Association {
12076	s.LastExecutionDate = &v
12077	return s
12078}
12079
12080// SetName sets the Name field's value.
12081func (s *Association) SetName(v string) *Association {
12082	s.Name = &v
12083	return s
12084}
12085
12086// SetOverview sets the Overview field's value.
12087func (s *Association) SetOverview(v *AssociationOverview) *Association {
12088	s.Overview = v
12089	return s
12090}
12091
12092// SetScheduleExpression sets the ScheduleExpression field's value.
12093func (s *Association) SetScheduleExpression(v string) *Association {
12094	s.ScheduleExpression = &v
12095	return s
12096}
12097
12098// SetTargets sets the Targets field's value.
12099func (s *Association) SetTargets(v []*Target) *Association {
12100	s.Targets = v
12101	return s
12102}
12103
12104// Describes the parameters for a document.
12105type AssociationDescription struct {
12106	_ struct{} `type:"structure"`
12107
12108	// The association ID.
12109	AssociationId *string `type:"string"`
12110
12111	// The association name.
12112	AssociationName *string `type:"string"`
12113
12114	// The association version.
12115	AssociationVersion *string `type:"string"`
12116
12117	// Specify the target for the association. This target is required for associations
12118	// that use an Automation document and target resources by using rate controls.
12119	AutomationTargetParameterName *string `min:"1" type:"string"`
12120
12121	// The severity level that is assigned to the association.
12122	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
12123
12124	// The date when the association was made.
12125	Date *time.Time `type:"timestamp"`
12126
12127	// The document version.
12128	DocumentVersion *string `type:"string"`
12129
12130	// The ID of the instance.
12131	InstanceId *string `type:"string"`
12132
12133	// The date on which the association was last run.
12134	LastExecutionDate *time.Time `type:"timestamp"`
12135
12136	// The last date on which the association was successfully run.
12137	LastSuccessfulExecutionDate *time.Time `type:"timestamp"`
12138
12139	// The date when the association was last updated.
12140	LastUpdateAssociationDate *time.Time `type:"timestamp"`
12141
12142	// The maximum number of targets allowed to run the association at the same
12143	// time. You can specify a number, for example 10, or a percentage of the target
12144	// set, for example 10%. The default value is 100%, which means all targets
12145	// run the association at the same time.
12146	//
12147	// If a new instance starts and attempts to run an association while Systems
12148	// Manager is running MaxConcurrency associations, the association is allowed
12149	// to run. During the next association interval, the new instance will process
12150	// its association within the limit specified for MaxConcurrency.
12151	MaxConcurrency *string `min:"1" type:"string"`
12152
12153	// The number of errors that are allowed before the system stops sending requests
12154	// to run the association on additional targets. You can specify either an absolute
12155	// number of errors, for example 10, or a percentage of the target set, for
12156	// example 10%. If you specify 3, for example, the system stops sending requests
12157	// when the fourth error is received. If you specify 0, then the system stops
12158	// sending requests after the first error is returned. If you run an association
12159	// on 50 instances and set MaxError to 10%, then the system stops sending the
12160	// request when the sixth error is received.
12161	//
12162	// Executions that are already running an association when MaxErrors is reached
12163	// are allowed to complete, but some of these executions may fail as well. If
12164	// you need to ensure that there won't be more than max-errors failed executions,
12165	// set MaxConcurrency to 1 so that executions proceed one at a time.
12166	MaxErrors *string `min:"1" type:"string"`
12167
12168	// The name of the Systems Manager document.
12169	Name *string `type:"string"`
12170
12171	// An Amazon S3 bucket where you want to store the output details of the request.
12172	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
12173
12174	// Information about the association.
12175	Overview *AssociationOverview `type:"structure"`
12176
12177	// A description of the parameters for a document.
12178	Parameters map[string][]*string `type:"map"`
12179
12180	// A cron expression that specifies a schedule when the association runs.
12181	ScheduleExpression *string `min:"1" type:"string"`
12182
12183	// The association status.
12184	Status *AssociationStatus `type:"structure"`
12185
12186	// The instances targeted by the request.
12187	Targets []*Target `type:"list"`
12188}
12189
12190// String returns the string representation
12191func (s AssociationDescription) String() string {
12192	return awsutil.Prettify(s)
12193}
12194
12195// GoString returns the string representation
12196func (s AssociationDescription) GoString() string {
12197	return s.String()
12198}
12199
12200// SetAssociationId sets the AssociationId field's value.
12201func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription {
12202	s.AssociationId = &v
12203	return s
12204}
12205
12206// SetAssociationName sets the AssociationName field's value.
12207func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription {
12208	s.AssociationName = &v
12209	return s
12210}
12211
12212// SetAssociationVersion sets the AssociationVersion field's value.
12213func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription {
12214	s.AssociationVersion = &v
12215	return s
12216}
12217
12218// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
12219func (s *AssociationDescription) SetAutomationTargetParameterName(v string) *AssociationDescription {
12220	s.AutomationTargetParameterName = &v
12221	return s
12222}
12223
12224// SetComplianceSeverity sets the ComplianceSeverity field's value.
12225func (s *AssociationDescription) SetComplianceSeverity(v string) *AssociationDescription {
12226	s.ComplianceSeverity = &v
12227	return s
12228}
12229
12230// SetDate sets the Date field's value.
12231func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription {
12232	s.Date = &v
12233	return s
12234}
12235
12236// SetDocumentVersion sets the DocumentVersion field's value.
12237func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescription {
12238	s.DocumentVersion = &v
12239	return s
12240}
12241
12242// SetInstanceId sets the InstanceId field's value.
12243func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription {
12244	s.InstanceId = &v
12245	return s
12246}
12247
12248// SetLastExecutionDate sets the LastExecutionDate field's value.
12249func (s *AssociationDescription) SetLastExecutionDate(v time.Time) *AssociationDescription {
12250	s.LastExecutionDate = &v
12251	return s
12252}
12253
12254// SetLastSuccessfulExecutionDate sets the LastSuccessfulExecutionDate field's value.
12255func (s *AssociationDescription) SetLastSuccessfulExecutionDate(v time.Time) *AssociationDescription {
12256	s.LastSuccessfulExecutionDate = &v
12257	return s
12258}
12259
12260// SetLastUpdateAssociationDate sets the LastUpdateAssociationDate field's value.
12261func (s *AssociationDescription) SetLastUpdateAssociationDate(v time.Time) *AssociationDescription {
12262	s.LastUpdateAssociationDate = &v
12263	return s
12264}
12265
12266// SetMaxConcurrency sets the MaxConcurrency field's value.
12267func (s *AssociationDescription) SetMaxConcurrency(v string) *AssociationDescription {
12268	s.MaxConcurrency = &v
12269	return s
12270}
12271
12272// SetMaxErrors sets the MaxErrors field's value.
12273func (s *AssociationDescription) SetMaxErrors(v string) *AssociationDescription {
12274	s.MaxErrors = &v
12275	return s
12276}
12277
12278// SetName sets the Name field's value.
12279func (s *AssociationDescription) SetName(v string) *AssociationDescription {
12280	s.Name = &v
12281	return s
12282}
12283
12284// SetOutputLocation sets the OutputLocation field's value.
12285func (s *AssociationDescription) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationDescription {
12286	s.OutputLocation = v
12287	return s
12288}
12289
12290// SetOverview sets the Overview field's value.
12291func (s *AssociationDescription) SetOverview(v *AssociationOverview) *AssociationDescription {
12292	s.Overview = v
12293	return s
12294}
12295
12296// SetParameters sets the Parameters field's value.
12297func (s *AssociationDescription) SetParameters(v map[string][]*string) *AssociationDescription {
12298	s.Parameters = v
12299	return s
12300}
12301
12302// SetScheduleExpression sets the ScheduleExpression field's value.
12303func (s *AssociationDescription) SetScheduleExpression(v string) *AssociationDescription {
12304	s.ScheduleExpression = &v
12305	return s
12306}
12307
12308// SetStatus sets the Status field's value.
12309func (s *AssociationDescription) SetStatus(v *AssociationStatus) *AssociationDescription {
12310	s.Status = v
12311	return s
12312}
12313
12314// SetTargets sets the Targets field's value.
12315func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription {
12316	s.Targets = v
12317	return s
12318}
12319
12320// Includes information about the specified association.
12321type AssociationExecution struct {
12322	_ struct{} `type:"structure"`
12323
12324	// The association ID.
12325	AssociationId *string `type:"string"`
12326
12327	// The association version.
12328	AssociationVersion *string `type:"string"`
12329
12330	// The time the execution started.
12331	CreatedTime *time.Time `type:"timestamp"`
12332
12333	// Detailed status information about the execution.
12334	DetailedStatus *string `type:"string"`
12335
12336	// The execution ID for the association.
12337	ExecutionId *string `type:"string"`
12338
12339	// The date of the last execution.
12340	LastExecutionDate *time.Time `type:"timestamp"`
12341
12342	// An aggregate status of the resources in the execution based on the status
12343	// type.
12344	ResourceCountByStatus *string `type:"string"`
12345
12346	// The status of the association execution.
12347	Status *string `type:"string"`
12348}
12349
12350// String returns the string representation
12351func (s AssociationExecution) String() string {
12352	return awsutil.Prettify(s)
12353}
12354
12355// GoString returns the string representation
12356func (s AssociationExecution) GoString() string {
12357	return s.String()
12358}
12359
12360// SetAssociationId sets the AssociationId field's value.
12361func (s *AssociationExecution) SetAssociationId(v string) *AssociationExecution {
12362	s.AssociationId = &v
12363	return s
12364}
12365
12366// SetAssociationVersion sets the AssociationVersion field's value.
12367func (s *AssociationExecution) SetAssociationVersion(v string) *AssociationExecution {
12368	s.AssociationVersion = &v
12369	return s
12370}
12371
12372// SetCreatedTime sets the CreatedTime field's value.
12373func (s *AssociationExecution) SetCreatedTime(v time.Time) *AssociationExecution {
12374	s.CreatedTime = &v
12375	return s
12376}
12377
12378// SetDetailedStatus sets the DetailedStatus field's value.
12379func (s *AssociationExecution) SetDetailedStatus(v string) *AssociationExecution {
12380	s.DetailedStatus = &v
12381	return s
12382}
12383
12384// SetExecutionId sets the ExecutionId field's value.
12385func (s *AssociationExecution) SetExecutionId(v string) *AssociationExecution {
12386	s.ExecutionId = &v
12387	return s
12388}
12389
12390// SetLastExecutionDate sets the LastExecutionDate field's value.
12391func (s *AssociationExecution) SetLastExecutionDate(v time.Time) *AssociationExecution {
12392	s.LastExecutionDate = &v
12393	return s
12394}
12395
12396// SetResourceCountByStatus sets the ResourceCountByStatus field's value.
12397func (s *AssociationExecution) SetResourceCountByStatus(v string) *AssociationExecution {
12398	s.ResourceCountByStatus = &v
12399	return s
12400}
12401
12402// SetStatus sets the Status field's value.
12403func (s *AssociationExecution) SetStatus(v string) *AssociationExecution {
12404	s.Status = &v
12405	return s
12406}
12407
12408// Filters used in the request.
12409type AssociationExecutionFilter struct {
12410	_ struct{} `type:"structure"`
12411
12412	// The key value used in the request.
12413	//
12414	// Key is a required field
12415	Key *string `type:"string" required:"true" enum:"AssociationExecutionFilterKey"`
12416
12417	// The filter type specified in the request.
12418	//
12419	// Type is a required field
12420	Type *string `type:"string" required:"true" enum:"AssociationFilterOperatorType"`
12421
12422	// The value specified for the key.
12423	//
12424	// Value is a required field
12425	Value *string `min:"1" type:"string" required:"true"`
12426}
12427
12428// String returns the string representation
12429func (s AssociationExecutionFilter) String() string {
12430	return awsutil.Prettify(s)
12431}
12432
12433// GoString returns the string representation
12434func (s AssociationExecutionFilter) GoString() string {
12435	return s.String()
12436}
12437
12438// Validate inspects the fields of the type to determine if they are valid.
12439func (s *AssociationExecutionFilter) Validate() error {
12440	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionFilter"}
12441	if s.Key == nil {
12442		invalidParams.Add(request.NewErrParamRequired("Key"))
12443	}
12444	if s.Type == nil {
12445		invalidParams.Add(request.NewErrParamRequired("Type"))
12446	}
12447	if s.Value == nil {
12448		invalidParams.Add(request.NewErrParamRequired("Value"))
12449	}
12450	if s.Value != nil && len(*s.Value) < 1 {
12451		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12452	}
12453
12454	if invalidParams.Len() > 0 {
12455		return invalidParams
12456	}
12457	return nil
12458}
12459
12460// SetKey sets the Key field's value.
12461func (s *AssociationExecutionFilter) SetKey(v string) *AssociationExecutionFilter {
12462	s.Key = &v
12463	return s
12464}
12465
12466// SetType sets the Type field's value.
12467func (s *AssociationExecutionFilter) SetType(v string) *AssociationExecutionFilter {
12468	s.Type = &v
12469	return s
12470}
12471
12472// SetValue sets the Value field's value.
12473func (s *AssociationExecutionFilter) SetValue(v string) *AssociationExecutionFilter {
12474	s.Value = &v
12475	return s
12476}
12477
12478// Includes information about the specified association execution.
12479type AssociationExecutionTarget struct {
12480	_ struct{} `type:"structure"`
12481
12482	// The association ID.
12483	AssociationId *string `type:"string"`
12484
12485	// The association version.
12486	AssociationVersion *string `type:"string"`
12487
12488	// Detailed information about the execution status.
12489	DetailedStatus *string `type:"string"`
12490
12491	// The execution ID.
12492	ExecutionId *string `type:"string"`
12493
12494	// The date of the last execution.
12495	LastExecutionDate *time.Time `type:"timestamp"`
12496
12497	// The location where the association details are saved.
12498	OutputSource *OutputSource `type:"structure"`
12499
12500	// The resource ID, for example, the instance ID where the association ran.
12501	ResourceId *string `min:"1" type:"string"`
12502
12503	// The resource type, for example, instance.
12504	ResourceType *string `min:"1" type:"string"`
12505
12506	// The association execution status.
12507	Status *string `type:"string"`
12508}
12509
12510// String returns the string representation
12511func (s AssociationExecutionTarget) String() string {
12512	return awsutil.Prettify(s)
12513}
12514
12515// GoString returns the string representation
12516func (s AssociationExecutionTarget) GoString() string {
12517	return s.String()
12518}
12519
12520// SetAssociationId sets the AssociationId field's value.
12521func (s *AssociationExecutionTarget) SetAssociationId(v string) *AssociationExecutionTarget {
12522	s.AssociationId = &v
12523	return s
12524}
12525
12526// SetAssociationVersion sets the AssociationVersion field's value.
12527func (s *AssociationExecutionTarget) SetAssociationVersion(v string) *AssociationExecutionTarget {
12528	s.AssociationVersion = &v
12529	return s
12530}
12531
12532// SetDetailedStatus sets the DetailedStatus field's value.
12533func (s *AssociationExecutionTarget) SetDetailedStatus(v string) *AssociationExecutionTarget {
12534	s.DetailedStatus = &v
12535	return s
12536}
12537
12538// SetExecutionId sets the ExecutionId field's value.
12539func (s *AssociationExecutionTarget) SetExecutionId(v string) *AssociationExecutionTarget {
12540	s.ExecutionId = &v
12541	return s
12542}
12543
12544// SetLastExecutionDate sets the LastExecutionDate field's value.
12545func (s *AssociationExecutionTarget) SetLastExecutionDate(v time.Time) *AssociationExecutionTarget {
12546	s.LastExecutionDate = &v
12547	return s
12548}
12549
12550// SetOutputSource sets the OutputSource field's value.
12551func (s *AssociationExecutionTarget) SetOutputSource(v *OutputSource) *AssociationExecutionTarget {
12552	s.OutputSource = v
12553	return s
12554}
12555
12556// SetResourceId sets the ResourceId field's value.
12557func (s *AssociationExecutionTarget) SetResourceId(v string) *AssociationExecutionTarget {
12558	s.ResourceId = &v
12559	return s
12560}
12561
12562// SetResourceType sets the ResourceType field's value.
12563func (s *AssociationExecutionTarget) SetResourceType(v string) *AssociationExecutionTarget {
12564	s.ResourceType = &v
12565	return s
12566}
12567
12568// SetStatus sets the Status field's value.
12569func (s *AssociationExecutionTarget) SetStatus(v string) *AssociationExecutionTarget {
12570	s.Status = &v
12571	return s
12572}
12573
12574// Filters for the association execution.
12575type AssociationExecutionTargetsFilter struct {
12576	_ struct{} `type:"structure"`
12577
12578	// The key value used in the request.
12579	//
12580	// Key is a required field
12581	Key *string `type:"string" required:"true" enum:"AssociationExecutionTargetsFilterKey"`
12582
12583	// The value specified for the key.
12584	//
12585	// Value is a required field
12586	Value *string `min:"1" type:"string" required:"true"`
12587}
12588
12589// String returns the string representation
12590func (s AssociationExecutionTargetsFilter) String() string {
12591	return awsutil.Prettify(s)
12592}
12593
12594// GoString returns the string representation
12595func (s AssociationExecutionTargetsFilter) GoString() string {
12596	return s.String()
12597}
12598
12599// Validate inspects the fields of the type to determine if they are valid.
12600func (s *AssociationExecutionTargetsFilter) Validate() error {
12601	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionTargetsFilter"}
12602	if s.Key == nil {
12603		invalidParams.Add(request.NewErrParamRequired("Key"))
12604	}
12605	if s.Value == nil {
12606		invalidParams.Add(request.NewErrParamRequired("Value"))
12607	}
12608	if s.Value != nil && len(*s.Value) < 1 {
12609		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12610	}
12611
12612	if invalidParams.Len() > 0 {
12613		return invalidParams
12614	}
12615	return nil
12616}
12617
12618// SetKey sets the Key field's value.
12619func (s *AssociationExecutionTargetsFilter) SetKey(v string) *AssociationExecutionTargetsFilter {
12620	s.Key = &v
12621	return s
12622}
12623
12624// SetValue sets the Value field's value.
12625func (s *AssociationExecutionTargetsFilter) SetValue(v string) *AssociationExecutionTargetsFilter {
12626	s.Value = &v
12627	return s
12628}
12629
12630// Describes a filter.
12631type AssociationFilter struct {
12632	_ struct{} `type:"structure"`
12633
12634	// The name of the filter.
12635	//
12636	// Key is a required field
12637	Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"`
12638
12639	// The filter value.
12640	//
12641	// Value is a required field
12642	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
12643}
12644
12645// String returns the string representation
12646func (s AssociationFilter) String() string {
12647	return awsutil.Prettify(s)
12648}
12649
12650// GoString returns the string representation
12651func (s AssociationFilter) GoString() string {
12652	return s.String()
12653}
12654
12655// Validate inspects the fields of the type to determine if they are valid.
12656func (s *AssociationFilter) Validate() error {
12657	invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"}
12658	if s.Key == nil {
12659		invalidParams.Add(request.NewErrParamRequired("Key"))
12660	}
12661	if s.Value == nil {
12662		invalidParams.Add(request.NewErrParamRequired("Value"))
12663	}
12664	if s.Value != nil && len(*s.Value) < 1 {
12665		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12666	}
12667
12668	if invalidParams.Len() > 0 {
12669		return invalidParams
12670	}
12671	return nil
12672}
12673
12674// SetKey sets the Key field's value.
12675func (s *AssociationFilter) SetKey(v string) *AssociationFilter {
12676	s.Key = &v
12677	return s
12678}
12679
12680// SetValue sets the Value field's value.
12681func (s *AssociationFilter) SetValue(v string) *AssociationFilter {
12682	s.Value = &v
12683	return s
12684}
12685
12686// Information about the association.
12687type AssociationOverview struct {
12688	_ struct{} `type:"structure"`
12689
12690	// Returns the number of targets for the association status. For example, if
12691	// you created an association with two instances, and one of them was successful,
12692	// this would return the count of instances by status.
12693	AssociationStatusAggregatedCount map[string]*int64 `type:"map"`
12694
12695	// A detailed status of the association.
12696	DetailedStatus *string `type:"string"`
12697
12698	// The status of the association. Status can be: Pending, Success, or Failed.
12699	Status *string `type:"string"`
12700}
12701
12702// String returns the string representation
12703func (s AssociationOverview) String() string {
12704	return awsutil.Prettify(s)
12705}
12706
12707// GoString returns the string representation
12708func (s AssociationOverview) GoString() string {
12709	return s.String()
12710}
12711
12712// SetAssociationStatusAggregatedCount sets the AssociationStatusAggregatedCount field's value.
12713func (s *AssociationOverview) SetAssociationStatusAggregatedCount(v map[string]*int64) *AssociationOverview {
12714	s.AssociationStatusAggregatedCount = v
12715	return s
12716}
12717
12718// SetDetailedStatus sets the DetailedStatus field's value.
12719func (s *AssociationOverview) SetDetailedStatus(v string) *AssociationOverview {
12720	s.DetailedStatus = &v
12721	return s
12722}
12723
12724// SetStatus sets the Status field's value.
12725func (s *AssociationOverview) SetStatus(v string) *AssociationOverview {
12726	s.Status = &v
12727	return s
12728}
12729
12730// Describes an association status.
12731type AssociationStatus struct {
12732	_ struct{} `type:"structure"`
12733
12734	// A user-defined string.
12735	AdditionalInfo *string `type:"string"`
12736
12737	// The date when the status changed.
12738	//
12739	// Date is a required field
12740	Date *time.Time `type:"timestamp" required:"true"`
12741
12742	// The reason for the status.
12743	//
12744	// Message is a required field
12745	Message *string `min:"1" type:"string" required:"true"`
12746
12747	// The status.
12748	//
12749	// Name is a required field
12750	Name *string `type:"string" required:"true" enum:"AssociationStatusName"`
12751}
12752
12753// String returns the string representation
12754func (s AssociationStatus) String() string {
12755	return awsutil.Prettify(s)
12756}
12757
12758// GoString returns the string representation
12759func (s AssociationStatus) GoString() string {
12760	return s.String()
12761}
12762
12763// Validate inspects the fields of the type to determine if they are valid.
12764func (s *AssociationStatus) Validate() error {
12765	invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"}
12766	if s.Date == nil {
12767		invalidParams.Add(request.NewErrParamRequired("Date"))
12768	}
12769	if s.Message == nil {
12770		invalidParams.Add(request.NewErrParamRequired("Message"))
12771	}
12772	if s.Message != nil && len(*s.Message) < 1 {
12773		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
12774	}
12775	if s.Name == nil {
12776		invalidParams.Add(request.NewErrParamRequired("Name"))
12777	}
12778
12779	if invalidParams.Len() > 0 {
12780		return invalidParams
12781	}
12782	return nil
12783}
12784
12785// SetAdditionalInfo sets the AdditionalInfo field's value.
12786func (s *AssociationStatus) SetAdditionalInfo(v string) *AssociationStatus {
12787	s.AdditionalInfo = &v
12788	return s
12789}
12790
12791// SetDate sets the Date field's value.
12792func (s *AssociationStatus) SetDate(v time.Time) *AssociationStatus {
12793	s.Date = &v
12794	return s
12795}
12796
12797// SetMessage sets the Message field's value.
12798func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
12799	s.Message = &v
12800	return s
12801}
12802
12803// SetName sets the Name field's value.
12804func (s *AssociationStatus) SetName(v string) *AssociationStatus {
12805	s.Name = &v
12806	return s
12807}
12808
12809// Information about the association version.
12810type AssociationVersionInfo struct {
12811	_ struct{} `type:"structure"`
12812
12813	// The ID created by the system when the association was created.
12814	AssociationId *string `type:"string"`
12815
12816	// The name specified for the association version when the association version
12817	// was created.
12818	AssociationName *string `type:"string"`
12819
12820	// The association version.
12821	AssociationVersion *string `type:"string"`
12822
12823	// The severity level that is assigned to the association.
12824	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
12825
12826	// The date the association version was created.
12827	CreatedDate *time.Time `type:"timestamp"`
12828
12829	// The version of a Systems Manager document used when the association version
12830	// was created.
12831	DocumentVersion *string `type:"string"`
12832
12833	// The maximum number of targets allowed to run the association at the same
12834	// time. You can specify a number, for example 10, or a percentage of the target
12835	// set, for example 10%. The default value is 100%, which means all targets
12836	// run the association at the same time.
12837	//
12838	// If a new instance starts and attempts to run an association while Systems
12839	// Manager is running MaxConcurrency associations, the association is allowed
12840	// to run. During the next association interval, the new instance will process
12841	// its association within the limit specified for MaxConcurrency.
12842	MaxConcurrency *string `min:"1" type:"string"`
12843
12844	// The number of errors that are allowed before the system stops sending requests
12845	// to run the association on additional targets. You can specify either an absolute
12846	// number of errors, for example 10, or a percentage of the target set, for
12847	// example 10%. If you specify 3, for example, the system stops sending requests
12848	// when the fourth error is received. If you specify 0, then the system stops
12849	// sending requests after the first error is returned. If you run an association
12850	// on 50 instances and set MaxError to 10%, then the system stops sending the
12851	// request when the sixth error is received.
12852	//
12853	// Executions that are already running an association when MaxErrors is reached
12854	// are allowed to complete, but some of these executions may fail as well. If
12855	// you need to ensure that there won't be more than max-errors failed executions,
12856	// set MaxConcurrency to 1 so that executions proceed one at a time.
12857	MaxErrors *string `min:"1" type:"string"`
12858
12859	// The name specified when the association was created.
12860	Name *string `type:"string"`
12861
12862	// The location in Amazon S3 specified for the association when the association
12863	// version was created.
12864	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
12865
12866	// Parameters specified when the association version was created.
12867	Parameters map[string][]*string `type:"map"`
12868
12869	// The cron or rate schedule specified for the association when the association
12870	// version was created.
12871	ScheduleExpression *string `min:"1" type:"string"`
12872
12873	// The targets specified for the association when the association version was
12874	// created.
12875	Targets []*Target `type:"list"`
12876}
12877
12878// String returns the string representation
12879func (s AssociationVersionInfo) String() string {
12880	return awsutil.Prettify(s)
12881}
12882
12883// GoString returns the string representation
12884func (s AssociationVersionInfo) GoString() string {
12885	return s.String()
12886}
12887
12888// SetAssociationId sets the AssociationId field's value.
12889func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo {
12890	s.AssociationId = &v
12891	return s
12892}
12893
12894// SetAssociationName sets the AssociationName field's value.
12895func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo {
12896	s.AssociationName = &v
12897	return s
12898}
12899
12900// SetAssociationVersion sets the AssociationVersion field's value.
12901func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo {
12902	s.AssociationVersion = &v
12903	return s
12904}
12905
12906// SetComplianceSeverity sets the ComplianceSeverity field's value.
12907func (s *AssociationVersionInfo) SetComplianceSeverity(v string) *AssociationVersionInfo {
12908	s.ComplianceSeverity = &v
12909	return s
12910}
12911
12912// SetCreatedDate sets the CreatedDate field's value.
12913func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo {
12914	s.CreatedDate = &v
12915	return s
12916}
12917
12918// SetDocumentVersion sets the DocumentVersion field's value.
12919func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo {
12920	s.DocumentVersion = &v
12921	return s
12922}
12923
12924// SetMaxConcurrency sets the MaxConcurrency field's value.
12925func (s *AssociationVersionInfo) SetMaxConcurrency(v string) *AssociationVersionInfo {
12926	s.MaxConcurrency = &v
12927	return s
12928}
12929
12930// SetMaxErrors sets the MaxErrors field's value.
12931func (s *AssociationVersionInfo) SetMaxErrors(v string) *AssociationVersionInfo {
12932	s.MaxErrors = &v
12933	return s
12934}
12935
12936// SetName sets the Name field's value.
12937func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo {
12938	s.Name = &v
12939	return s
12940}
12941
12942// SetOutputLocation sets the OutputLocation field's value.
12943func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo {
12944	s.OutputLocation = v
12945	return s
12946}
12947
12948// SetParameters sets the Parameters field's value.
12949func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo {
12950	s.Parameters = v
12951	return s
12952}
12953
12954// SetScheduleExpression sets the ScheduleExpression field's value.
12955func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo {
12956	s.ScheduleExpression = &v
12957	return s
12958}
12959
12960// SetTargets sets the Targets field's value.
12961func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo {
12962	s.Targets = v
12963	return s
12964}
12965
12966// A structure that includes attributes that describe a document attachment.
12967type AttachmentContent struct {
12968	_ struct{} `type:"structure"`
12969
12970	// The cryptographic hash value of the document content.
12971	Hash *string `type:"string"`
12972
12973	// The hash algorithm used to calculate the hash value.
12974	HashType *string `type:"string" enum:"AttachmentHashType"`
12975
12976	// The name of an attachment.
12977	Name *string `type:"string"`
12978
12979	// The size of an attachment in bytes.
12980	Size *int64 `type:"long"`
12981
12982	// The URL location of the attachment content.
12983	Url *string `type:"string"`
12984}
12985
12986// String returns the string representation
12987func (s AttachmentContent) String() string {
12988	return awsutil.Prettify(s)
12989}
12990
12991// GoString returns the string representation
12992func (s AttachmentContent) GoString() string {
12993	return s.String()
12994}
12995
12996// SetHash sets the Hash field's value.
12997func (s *AttachmentContent) SetHash(v string) *AttachmentContent {
12998	s.Hash = &v
12999	return s
13000}
13001
13002// SetHashType sets the HashType field's value.
13003func (s *AttachmentContent) SetHashType(v string) *AttachmentContent {
13004	s.HashType = &v
13005	return s
13006}
13007
13008// SetName sets the Name field's value.
13009func (s *AttachmentContent) SetName(v string) *AttachmentContent {
13010	s.Name = &v
13011	return s
13012}
13013
13014// SetSize sets the Size field's value.
13015func (s *AttachmentContent) SetSize(v int64) *AttachmentContent {
13016	s.Size = &v
13017	return s
13018}
13019
13020// SetUrl sets the Url field's value.
13021func (s *AttachmentContent) SetUrl(v string) *AttachmentContent {
13022	s.Url = &v
13023	return s
13024}
13025
13026// An attribute of an attachment, such as the attachment name.
13027type AttachmentInformation struct {
13028	_ struct{} `type:"structure"`
13029
13030	// The name of the attachment.
13031	Name *string `type:"string"`
13032}
13033
13034// String returns the string representation
13035func (s AttachmentInformation) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation
13040func (s AttachmentInformation) GoString() string {
13041	return s.String()
13042}
13043
13044// SetName sets the Name field's value.
13045func (s *AttachmentInformation) SetName(v string) *AttachmentInformation {
13046	s.Name = &v
13047	return s
13048}
13049
13050// A key and value pair that identifies the location of an attachment to a document.
13051type AttachmentsSource struct {
13052	_ struct{} `type:"structure"`
13053
13054	// The key of a key and value pair that identifies the location of an attachment
13055	// to a document.
13056	Key *string `type:"string" enum:"AttachmentsSourceKey"`
13057
13058	// The URL of the location of a document attachment, such as the URL of an Amazon
13059	// S3 bucket.
13060	Values []*string `min:"1" type:"list"`
13061}
13062
13063// String returns the string representation
13064func (s AttachmentsSource) String() string {
13065	return awsutil.Prettify(s)
13066}
13067
13068// GoString returns the string representation
13069func (s AttachmentsSource) GoString() string {
13070	return s.String()
13071}
13072
13073// Validate inspects the fields of the type to determine if they are valid.
13074func (s *AttachmentsSource) Validate() error {
13075	invalidParams := request.ErrInvalidParams{Context: "AttachmentsSource"}
13076	if s.Values != nil && len(s.Values) < 1 {
13077		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13078	}
13079
13080	if invalidParams.Len() > 0 {
13081		return invalidParams
13082	}
13083	return nil
13084}
13085
13086// SetKey sets the Key field's value.
13087func (s *AttachmentsSource) SetKey(v string) *AttachmentsSource {
13088	s.Key = &v
13089	return s
13090}
13091
13092// SetValues sets the Values field's value.
13093func (s *AttachmentsSource) SetValues(v []*string) *AttachmentsSource {
13094	s.Values = v
13095	return s
13096}
13097
13098// Detailed information about the current state of an individual Automation
13099// execution.
13100type AutomationExecution struct {
13101	_ struct{} `type:"structure"`
13102
13103	// The execution ID.
13104	AutomationExecutionId *string `min:"36" type:"string"`
13105
13106	// The execution status of the Automation.
13107	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
13108
13109	// The action of the step that is currently running.
13110	CurrentAction *string `type:"string"`
13111
13112	// The name of the step that is currently running.
13113	CurrentStepName *string `type:"string"`
13114
13115	// The name of the Automation document used during the execution.
13116	DocumentName *string `type:"string"`
13117
13118	// The version of the document to use during execution.
13119	DocumentVersion *string `type:"string"`
13120
13121	// The Amazon Resource Name (ARN) of the user who ran the automation.
13122	ExecutedBy *string `type:"string"`
13123
13124	// The time the execution finished.
13125	ExecutionEndTime *time.Time `type:"timestamp"`
13126
13127	// The time the execution started.
13128	ExecutionStartTime *time.Time `type:"timestamp"`
13129
13130	// A message describing why an execution has failed, if the status is set to
13131	// Failed.
13132	FailureMessage *string `type:"string"`
13133
13134	// The MaxConcurrency value specified by the user when the execution started.
13135	MaxConcurrency *string `min:"1" type:"string"`
13136
13137	// The MaxErrors value specified by the user when the execution started.
13138	MaxErrors *string `min:"1" type:"string"`
13139
13140	// The automation execution mode.
13141	Mode *string `type:"string" enum:"ExecutionMode"`
13142
13143	// The list of execution outputs as defined in the automation document.
13144	Outputs map[string][]*string `min:"1" type:"map"`
13145
13146	// The key-value map of execution parameters, which were supplied when calling
13147	// StartAutomationExecution.
13148	Parameters map[string][]*string `min:"1" type:"map"`
13149
13150	// The AutomationExecutionId of the parent automation.
13151	ParentAutomationExecutionId *string `min:"36" type:"string"`
13152
13153	// An aggregate of step execution statuses displayed in the AWS Console for
13154	// a multi-Region and multi-account Automation execution.
13155	ProgressCounters *ProgressCounters `type:"structure"`
13156
13157	// A list of resolved targets in the rate control execution.
13158	ResolvedTargets *ResolvedTargets `type:"structure"`
13159
13160	// A list of details about the current state of all steps that comprise an execution.
13161	// An Automation document contains a list of steps that are run in order.
13162	StepExecutions []*StepExecution `type:"list"`
13163
13164	// A boolean value that indicates if the response contains the full list of
13165	// the Automation step executions. If true, use the DescribeAutomationStepExecutions
13166	// API action to get the full list of step executions.
13167	StepExecutionsTruncated *bool `type:"boolean"`
13168
13169	// The target of the execution.
13170	Target *string `type:"string"`
13171
13172	// The combination of AWS Regions and/or AWS accounts where you want to run
13173	// the Automation.
13174	TargetLocations []*TargetLocation `min:"1" type:"list"`
13175
13176	// The specified key-value mapping of document parameters to target resources.
13177	TargetMaps []map[string][]*string `type:"list"`
13178
13179	// The parameter name.
13180	TargetParameterName *string `min:"1" type:"string"`
13181
13182	// The specified targets.
13183	Targets []*Target `type:"list"`
13184}
13185
13186// String returns the string representation
13187func (s AutomationExecution) String() string {
13188	return awsutil.Prettify(s)
13189}
13190
13191// GoString returns the string representation
13192func (s AutomationExecution) GoString() string {
13193	return s.String()
13194}
13195
13196// SetAutomationExecutionId sets the AutomationExecutionId field's value.
13197func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution {
13198	s.AutomationExecutionId = &v
13199	return s
13200}
13201
13202// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
13203func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *AutomationExecution {
13204	s.AutomationExecutionStatus = &v
13205	return s
13206}
13207
13208// SetCurrentAction sets the CurrentAction field's value.
13209func (s *AutomationExecution) SetCurrentAction(v string) *AutomationExecution {
13210	s.CurrentAction = &v
13211	return s
13212}
13213
13214// SetCurrentStepName sets the CurrentStepName field's value.
13215func (s *AutomationExecution) SetCurrentStepName(v string) *AutomationExecution {
13216	s.CurrentStepName = &v
13217	return s
13218}
13219
13220// SetDocumentName sets the DocumentName field's value.
13221func (s *AutomationExecution) SetDocumentName(v string) *AutomationExecution {
13222	s.DocumentName = &v
13223	return s
13224}
13225
13226// SetDocumentVersion sets the DocumentVersion field's value.
13227func (s *AutomationExecution) SetDocumentVersion(v string) *AutomationExecution {
13228	s.DocumentVersion = &v
13229	return s
13230}
13231
13232// SetExecutedBy sets the ExecutedBy field's value.
13233func (s *AutomationExecution) SetExecutedBy(v string) *AutomationExecution {
13234	s.ExecutedBy = &v
13235	return s
13236}
13237
13238// SetExecutionEndTime sets the ExecutionEndTime field's value.
13239func (s *AutomationExecution) SetExecutionEndTime(v time.Time) *AutomationExecution {
13240	s.ExecutionEndTime = &v
13241	return s
13242}
13243
13244// SetExecutionStartTime sets the ExecutionStartTime field's value.
13245func (s *AutomationExecution) SetExecutionStartTime(v time.Time) *AutomationExecution {
13246	s.ExecutionStartTime = &v
13247	return s
13248}
13249
13250// SetFailureMessage sets the FailureMessage field's value.
13251func (s *AutomationExecution) SetFailureMessage(v string) *AutomationExecution {
13252	s.FailureMessage = &v
13253	return s
13254}
13255
13256// SetMaxConcurrency sets the MaxConcurrency field's value.
13257func (s *AutomationExecution) SetMaxConcurrency(v string) *AutomationExecution {
13258	s.MaxConcurrency = &v
13259	return s
13260}
13261
13262// SetMaxErrors sets the MaxErrors field's value.
13263func (s *AutomationExecution) SetMaxErrors(v string) *AutomationExecution {
13264	s.MaxErrors = &v
13265	return s
13266}
13267
13268// SetMode sets the Mode field's value.
13269func (s *AutomationExecution) SetMode(v string) *AutomationExecution {
13270	s.Mode = &v
13271	return s
13272}
13273
13274// SetOutputs sets the Outputs field's value.
13275func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution {
13276	s.Outputs = v
13277	return s
13278}
13279
13280// SetParameters sets the Parameters field's value.
13281func (s *AutomationExecution) SetParameters(v map[string][]*string) *AutomationExecution {
13282	s.Parameters = v
13283	return s
13284}
13285
13286// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
13287func (s *AutomationExecution) SetParentAutomationExecutionId(v string) *AutomationExecution {
13288	s.ParentAutomationExecutionId = &v
13289	return s
13290}
13291
13292// SetProgressCounters sets the ProgressCounters field's value.
13293func (s *AutomationExecution) SetProgressCounters(v *ProgressCounters) *AutomationExecution {
13294	s.ProgressCounters = v
13295	return s
13296}
13297
13298// SetResolvedTargets sets the ResolvedTargets field's value.
13299func (s *AutomationExecution) SetResolvedTargets(v *ResolvedTargets) *AutomationExecution {
13300	s.ResolvedTargets = v
13301	return s
13302}
13303
13304// SetStepExecutions sets the StepExecutions field's value.
13305func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution {
13306	s.StepExecutions = v
13307	return s
13308}
13309
13310// SetStepExecutionsTruncated sets the StepExecutionsTruncated field's value.
13311func (s *AutomationExecution) SetStepExecutionsTruncated(v bool) *AutomationExecution {
13312	s.StepExecutionsTruncated = &v
13313	return s
13314}
13315
13316// SetTarget sets the Target field's value.
13317func (s *AutomationExecution) SetTarget(v string) *AutomationExecution {
13318	s.Target = &v
13319	return s
13320}
13321
13322// SetTargetLocations sets the TargetLocations field's value.
13323func (s *AutomationExecution) SetTargetLocations(v []*TargetLocation) *AutomationExecution {
13324	s.TargetLocations = v
13325	return s
13326}
13327
13328// SetTargetMaps sets the TargetMaps field's value.
13329func (s *AutomationExecution) SetTargetMaps(v []map[string][]*string) *AutomationExecution {
13330	s.TargetMaps = v
13331	return s
13332}
13333
13334// SetTargetParameterName sets the TargetParameterName field's value.
13335func (s *AutomationExecution) SetTargetParameterName(v string) *AutomationExecution {
13336	s.TargetParameterName = &v
13337	return s
13338}
13339
13340// SetTargets sets the Targets field's value.
13341func (s *AutomationExecution) SetTargets(v []*Target) *AutomationExecution {
13342	s.Targets = v
13343	return s
13344}
13345
13346// A filter used to match specific automation executions. This is used to limit
13347// the scope of Automation execution information returned.
13348type AutomationExecutionFilter struct {
13349	_ struct{} `type:"structure"`
13350
13351	// One or more keys to limit the results. Valid filter keys include the following:
13352	// DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction,
13353	// StartTimeBefore, StartTimeAfter.
13354	//
13355	// Key is a required field
13356	Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"`
13357
13358	// The values used to limit the execution information associated with the filter's
13359	// key.
13360	//
13361	// Values is a required field
13362	Values []*string `min:"1" type:"list" required:"true"`
13363}
13364
13365// String returns the string representation
13366func (s AutomationExecutionFilter) String() string {
13367	return awsutil.Prettify(s)
13368}
13369
13370// GoString returns the string representation
13371func (s AutomationExecutionFilter) GoString() string {
13372	return s.String()
13373}
13374
13375// Validate inspects the fields of the type to determine if they are valid.
13376func (s *AutomationExecutionFilter) Validate() error {
13377	invalidParams := request.ErrInvalidParams{Context: "AutomationExecutionFilter"}
13378	if s.Key == nil {
13379		invalidParams.Add(request.NewErrParamRequired("Key"))
13380	}
13381	if s.Values == nil {
13382		invalidParams.Add(request.NewErrParamRequired("Values"))
13383	}
13384	if s.Values != nil && len(s.Values) < 1 {
13385		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13386	}
13387
13388	if invalidParams.Len() > 0 {
13389		return invalidParams
13390	}
13391	return nil
13392}
13393
13394// SetKey sets the Key field's value.
13395func (s *AutomationExecutionFilter) SetKey(v string) *AutomationExecutionFilter {
13396	s.Key = &v
13397	return s
13398}
13399
13400// SetValues sets the Values field's value.
13401func (s *AutomationExecutionFilter) SetValues(v []*string) *AutomationExecutionFilter {
13402	s.Values = v
13403	return s
13404}
13405
13406// Details about a specific Automation execution.
13407type AutomationExecutionMetadata struct {
13408	_ struct{} `type:"structure"`
13409
13410	// The execution ID.
13411	AutomationExecutionId *string `min:"36" type:"string"`
13412
13413	// The status of the execution. Valid values include: Running, Succeeded, Failed,
13414	// Timed out, or Cancelled.
13415	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
13416
13417	// Use this filter with DescribeAutomationExecutions. Specify either Local or
13418	// CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions
13419	// and accounts. For more information, see Executing Automations in Multiple
13420	// AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
13421	// in the AWS Systems Manager User Guide.
13422	AutomationType *string `type:"string" enum:"AutomationType"`
13423
13424	// The action of the step that is currently running.
13425	CurrentAction *string `type:"string"`
13426
13427	// The name of the step that is currently running.
13428	CurrentStepName *string `type:"string"`
13429
13430	// The name of the Automation document used during execution.
13431	DocumentName *string `type:"string"`
13432
13433	// The document version used during the execution.
13434	DocumentVersion *string `type:"string"`
13435
13436	// The IAM role ARN of the user who ran the Automation.
13437	ExecutedBy *string `type:"string"`
13438
13439	// The time the execution finished. This is not populated if the execution is
13440	// still in progress.
13441	ExecutionEndTime *time.Time `type:"timestamp"`
13442
13443	// The time the execution started.>
13444	ExecutionStartTime *time.Time `type:"timestamp"`
13445
13446	// The list of execution outputs as defined in the Automation document.
13447	FailureMessage *string `type:"string"`
13448
13449	// An Amazon S3 bucket where execution information is stored.
13450	LogFile *string `type:"string"`
13451
13452	// The MaxConcurrency value specified by the user when starting the Automation.
13453	MaxConcurrency *string `min:"1" type:"string"`
13454
13455	// The MaxErrors value specified by the user when starting the Automation.
13456	MaxErrors *string `min:"1" type:"string"`
13457
13458	// The Automation execution mode.
13459	Mode *string `type:"string" enum:"ExecutionMode"`
13460
13461	// The list of execution outputs as defined in the Automation document.
13462	Outputs map[string][]*string `min:"1" type:"map"`
13463
13464	// The ExecutionId of the parent Automation.
13465	ParentAutomationExecutionId *string `min:"36" type:"string"`
13466
13467	// A list of targets that resolved during the execution.
13468	ResolvedTargets *ResolvedTargets `type:"structure"`
13469
13470	// The list of execution outputs as defined in the Automation document.
13471	Target *string `type:"string"`
13472
13473	// The specified key-value mapping of document parameters to target resources.
13474	TargetMaps []map[string][]*string `type:"list"`
13475
13476	// The list of execution outputs as defined in the Automation document.
13477	TargetParameterName *string `min:"1" type:"string"`
13478
13479	// The targets defined by the user when starting the Automation.
13480	Targets []*Target `type:"list"`
13481}
13482
13483// String returns the string representation
13484func (s AutomationExecutionMetadata) String() string {
13485	return awsutil.Prettify(s)
13486}
13487
13488// GoString returns the string representation
13489func (s AutomationExecutionMetadata) GoString() string {
13490	return s.String()
13491}
13492
13493// SetAutomationExecutionId sets the AutomationExecutionId field's value.
13494func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata {
13495	s.AutomationExecutionId = &v
13496	return s
13497}
13498
13499// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
13500func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *AutomationExecutionMetadata {
13501	s.AutomationExecutionStatus = &v
13502	return s
13503}
13504
13505// SetAutomationType sets the AutomationType field's value.
13506func (s *AutomationExecutionMetadata) SetAutomationType(v string) *AutomationExecutionMetadata {
13507	s.AutomationType = &v
13508	return s
13509}
13510
13511// SetCurrentAction sets the CurrentAction field's value.
13512func (s *AutomationExecutionMetadata) SetCurrentAction(v string) *AutomationExecutionMetadata {
13513	s.CurrentAction = &v
13514	return s
13515}
13516
13517// SetCurrentStepName sets the CurrentStepName field's value.
13518func (s *AutomationExecutionMetadata) SetCurrentStepName(v string) *AutomationExecutionMetadata {
13519	s.CurrentStepName = &v
13520	return s
13521}
13522
13523// SetDocumentName sets the DocumentName field's value.
13524func (s *AutomationExecutionMetadata) SetDocumentName(v string) *AutomationExecutionMetadata {
13525	s.DocumentName = &v
13526	return s
13527}
13528
13529// SetDocumentVersion sets the DocumentVersion field's value.
13530func (s *AutomationExecutionMetadata) SetDocumentVersion(v string) *AutomationExecutionMetadata {
13531	s.DocumentVersion = &v
13532	return s
13533}
13534
13535// SetExecutedBy sets the ExecutedBy field's value.
13536func (s *AutomationExecutionMetadata) SetExecutedBy(v string) *AutomationExecutionMetadata {
13537	s.ExecutedBy = &v
13538	return s
13539}
13540
13541// SetExecutionEndTime sets the ExecutionEndTime field's value.
13542func (s *AutomationExecutionMetadata) SetExecutionEndTime(v time.Time) *AutomationExecutionMetadata {
13543	s.ExecutionEndTime = &v
13544	return s
13545}
13546
13547// SetExecutionStartTime sets the ExecutionStartTime field's value.
13548func (s *AutomationExecutionMetadata) SetExecutionStartTime(v time.Time) *AutomationExecutionMetadata {
13549	s.ExecutionStartTime = &v
13550	return s
13551}
13552
13553// SetFailureMessage sets the FailureMessage field's value.
13554func (s *AutomationExecutionMetadata) SetFailureMessage(v string) *AutomationExecutionMetadata {
13555	s.FailureMessage = &v
13556	return s
13557}
13558
13559// SetLogFile sets the LogFile field's value.
13560func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata {
13561	s.LogFile = &v
13562	return s
13563}
13564
13565// SetMaxConcurrency sets the MaxConcurrency field's value.
13566func (s *AutomationExecutionMetadata) SetMaxConcurrency(v string) *AutomationExecutionMetadata {
13567	s.MaxConcurrency = &v
13568	return s
13569}
13570
13571// SetMaxErrors sets the MaxErrors field's value.
13572func (s *AutomationExecutionMetadata) SetMaxErrors(v string) *AutomationExecutionMetadata {
13573	s.MaxErrors = &v
13574	return s
13575}
13576
13577// SetMode sets the Mode field's value.
13578func (s *AutomationExecutionMetadata) SetMode(v string) *AutomationExecutionMetadata {
13579	s.Mode = &v
13580	return s
13581}
13582
13583// SetOutputs sets the Outputs field's value.
13584func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata {
13585	s.Outputs = v
13586	return s
13587}
13588
13589// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
13590func (s *AutomationExecutionMetadata) SetParentAutomationExecutionId(v string) *AutomationExecutionMetadata {
13591	s.ParentAutomationExecutionId = &v
13592	return s
13593}
13594
13595// SetResolvedTargets sets the ResolvedTargets field's value.
13596func (s *AutomationExecutionMetadata) SetResolvedTargets(v *ResolvedTargets) *AutomationExecutionMetadata {
13597	s.ResolvedTargets = v
13598	return s
13599}
13600
13601// SetTarget sets the Target field's value.
13602func (s *AutomationExecutionMetadata) SetTarget(v string) *AutomationExecutionMetadata {
13603	s.Target = &v
13604	return s
13605}
13606
13607// SetTargetMaps sets the TargetMaps field's value.
13608func (s *AutomationExecutionMetadata) SetTargetMaps(v []map[string][]*string) *AutomationExecutionMetadata {
13609	s.TargetMaps = v
13610	return s
13611}
13612
13613// SetTargetParameterName sets the TargetParameterName field's value.
13614func (s *AutomationExecutionMetadata) SetTargetParameterName(v string) *AutomationExecutionMetadata {
13615	s.TargetParameterName = &v
13616	return s
13617}
13618
13619// SetTargets sets the Targets field's value.
13620func (s *AutomationExecutionMetadata) SetTargets(v []*Target) *AutomationExecutionMetadata {
13621	s.Targets = v
13622	return s
13623}
13624
13625type CancelCommandInput struct {
13626	_ struct{} `type:"structure"`
13627
13628	// The ID of the command you want to cancel.
13629	//
13630	// CommandId is a required field
13631	CommandId *string `min:"36" type:"string" required:"true"`
13632
13633	// (Optional) A list of instance IDs on which you want to cancel the command.
13634	// If not provided, the command is canceled on every instance on which it was
13635	// requested.
13636	InstanceIds []*string `type:"list"`
13637}
13638
13639// String returns the string representation
13640func (s CancelCommandInput) String() string {
13641	return awsutil.Prettify(s)
13642}
13643
13644// GoString returns the string representation
13645func (s CancelCommandInput) GoString() string {
13646	return s.String()
13647}
13648
13649// Validate inspects the fields of the type to determine if they are valid.
13650func (s *CancelCommandInput) Validate() error {
13651	invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"}
13652	if s.CommandId == nil {
13653		invalidParams.Add(request.NewErrParamRequired("CommandId"))
13654	}
13655	if s.CommandId != nil && len(*s.CommandId) < 36 {
13656		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
13657	}
13658
13659	if invalidParams.Len() > 0 {
13660		return invalidParams
13661	}
13662	return nil
13663}
13664
13665// SetCommandId sets the CommandId field's value.
13666func (s *CancelCommandInput) SetCommandId(v string) *CancelCommandInput {
13667	s.CommandId = &v
13668	return s
13669}
13670
13671// SetInstanceIds sets the InstanceIds field's value.
13672func (s *CancelCommandInput) SetInstanceIds(v []*string) *CancelCommandInput {
13673	s.InstanceIds = v
13674	return s
13675}
13676
13677// Whether or not the command was successfully canceled. There is no guarantee
13678// that a request can be canceled.
13679type CancelCommandOutput struct {
13680	_ struct{} `type:"structure"`
13681}
13682
13683// String returns the string representation
13684func (s CancelCommandOutput) String() string {
13685	return awsutil.Prettify(s)
13686}
13687
13688// GoString returns the string representation
13689func (s CancelCommandOutput) GoString() string {
13690	return s.String()
13691}
13692
13693type CancelMaintenanceWindowExecutionInput struct {
13694	_ struct{} `type:"structure"`
13695
13696	// The ID of the maintenance window execution to stop.
13697	//
13698	// WindowExecutionId is a required field
13699	WindowExecutionId *string `min:"36" type:"string" required:"true"`
13700}
13701
13702// String returns the string representation
13703func (s CancelMaintenanceWindowExecutionInput) String() string {
13704	return awsutil.Prettify(s)
13705}
13706
13707// GoString returns the string representation
13708func (s CancelMaintenanceWindowExecutionInput) GoString() string {
13709	return s.String()
13710}
13711
13712// Validate inspects the fields of the type to determine if they are valid.
13713func (s *CancelMaintenanceWindowExecutionInput) Validate() error {
13714	invalidParams := request.ErrInvalidParams{Context: "CancelMaintenanceWindowExecutionInput"}
13715	if s.WindowExecutionId == nil {
13716		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
13717	}
13718	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
13719		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
13720	}
13721
13722	if invalidParams.Len() > 0 {
13723		return invalidParams
13724	}
13725	return nil
13726}
13727
13728// SetWindowExecutionId sets the WindowExecutionId field's value.
13729func (s *CancelMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionInput {
13730	s.WindowExecutionId = &v
13731	return s
13732}
13733
13734type CancelMaintenanceWindowExecutionOutput struct {
13735	_ struct{} `type:"structure"`
13736
13737	// The ID of the maintenance window execution that has been stopped.
13738	WindowExecutionId *string `min:"36" type:"string"`
13739}
13740
13741// String returns the string representation
13742func (s CancelMaintenanceWindowExecutionOutput) String() string {
13743	return awsutil.Prettify(s)
13744}
13745
13746// GoString returns the string representation
13747func (s CancelMaintenanceWindowExecutionOutput) GoString() string {
13748	return s.String()
13749}
13750
13751// SetWindowExecutionId sets the WindowExecutionId field's value.
13752func (s *CancelMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionOutput {
13753	s.WindowExecutionId = &v
13754	return s
13755}
13756
13757// Configuration options for sending command output to CloudWatch Logs.
13758type CloudWatchOutputConfig struct {
13759	_ struct{} `type:"structure"`
13760
13761	// The name of the CloudWatch log group where you want to send command output.
13762	// If you don't specify a group name, Systems Manager automatically creates
13763	// a log group for you. The log group uses the following naming format: aws/ssm/SystemsManagerDocumentName.
13764	CloudWatchLogGroupName *string `min:"1" type:"string"`
13765
13766	// Enables Systems Manager to send command output to CloudWatch Logs.
13767	CloudWatchOutputEnabled *bool `type:"boolean"`
13768}
13769
13770// String returns the string representation
13771func (s CloudWatchOutputConfig) String() string {
13772	return awsutil.Prettify(s)
13773}
13774
13775// GoString returns the string representation
13776func (s CloudWatchOutputConfig) GoString() string {
13777	return s.String()
13778}
13779
13780// Validate inspects the fields of the type to determine if they are valid.
13781func (s *CloudWatchOutputConfig) Validate() error {
13782	invalidParams := request.ErrInvalidParams{Context: "CloudWatchOutputConfig"}
13783	if s.CloudWatchLogGroupName != nil && len(*s.CloudWatchLogGroupName) < 1 {
13784		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupName", 1))
13785	}
13786
13787	if invalidParams.Len() > 0 {
13788		return invalidParams
13789	}
13790	return nil
13791}
13792
13793// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
13794func (s *CloudWatchOutputConfig) SetCloudWatchLogGroupName(v string) *CloudWatchOutputConfig {
13795	s.CloudWatchLogGroupName = &v
13796	return s
13797}
13798
13799// SetCloudWatchOutputEnabled sets the CloudWatchOutputEnabled field's value.
13800func (s *CloudWatchOutputConfig) SetCloudWatchOutputEnabled(v bool) *CloudWatchOutputConfig {
13801	s.CloudWatchOutputEnabled = &v
13802	return s
13803}
13804
13805// Describes a command request.
13806type Command struct {
13807	_ struct{} `type:"structure"`
13808
13809	// CloudWatch Logs information where you want Systems Manager to send the command
13810	// output.
13811	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
13812
13813	// A unique identifier for this command.
13814	CommandId *string `min:"36" type:"string"`
13815
13816	// User-specified information about the command, such as a brief description
13817	// of what the command should do.
13818	Comment *string `type:"string"`
13819
13820	// The number of targets for which the command invocation reached a terminal
13821	// state. Terminal states include the following: Success, Failed, Execution
13822	// Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.
13823	CompletedCount *int64 `type:"integer"`
13824
13825	// The number of targets for which the status is Delivery Timed Out.
13826	DeliveryTimedOutCount *int64 `type:"integer"`
13827
13828	// The name of the document requested for execution.
13829	DocumentName *string `type:"string"`
13830
13831	// The SSM document version.
13832	DocumentVersion *string `type:"string"`
13833
13834	// The number of targets for which the status is Failed or Execution Timed Out.
13835	ErrorCount *int64 `type:"integer"`
13836
13837	// If this time is reached and the command has not already started running,
13838	// it will not run. Calculated based on the ExpiresAfter user input provided
13839	// as part of the SendCommand API.
13840	ExpiresAfter *time.Time `type:"timestamp"`
13841
13842	// The instance IDs against which this command was requested.
13843	InstanceIds []*string `type:"list"`
13844
13845	// The maximum number of instances that are allowed to run the command at the
13846	// same time. You can specify a number of instances, such as 10, or a percentage
13847	// of instances, such as 10%. The default value is 50. For more information
13848	// about how to use MaxConcurrency, see Running Commands Using Systems Manager
13849	// Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
13850	// in the AWS Systems Manager User Guide.
13851	MaxConcurrency *string `min:"1" type:"string"`
13852
13853	// The maximum number of errors allowed before the system stops sending the
13854	// command to additional targets. You can specify a number of errors, such as
13855	// 10, or a percentage or errors, such as 10%. The default value is 0. For more
13856	// information about how to use MaxErrors, see Running Commands Using Systems
13857	// Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
13858	// in the AWS Systems Manager User Guide.
13859	MaxErrors *string `min:"1" type:"string"`
13860
13861	// Configurations for sending notifications about command status changes.
13862	NotificationConfig *NotificationConfig `type:"structure"`
13863
13864	// The S3 bucket where the responses to the command executions should be stored.
13865	// This was requested when issuing the command.
13866	OutputS3BucketName *string `min:"3" type:"string"`
13867
13868	// The S3 directory path inside the bucket where the responses to the command
13869	// executions should be stored. This was requested when issuing the command.
13870	OutputS3KeyPrefix *string `type:"string"`
13871
13872	// (Deprecated) You can no longer specify this parameter. The system ignores
13873	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
13874	// region.
13875	OutputS3Region *string `min:"3" type:"string"`
13876
13877	// The parameter values to be inserted in the document when running the command.
13878	Parameters map[string][]*string `type:"map"`
13879
13880	// The date and time the command was requested.
13881	RequestedDateTime *time.Time `type:"timestamp"`
13882
13883	// The IAM service role that Run Command uses to act on your behalf when sending
13884	// notifications about command status changes.
13885	ServiceRole *string `type:"string"`
13886
13887	// The status of the command.
13888	Status *string `type:"string" enum:"CommandStatus"`
13889
13890	// A detailed status of the command execution. StatusDetails includes more information
13891	// than Status because it includes states resulting from error and concurrency
13892	// control parameters. StatusDetails can show different results than Status.
13893	// For more information about these statuses, see Understanding Command Statuses
13894	// (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
13895	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
13896	// values:
13897	//
13898	//    * Pending: The command has not been sent to any instances.
13899	//
13900	//    * In Progress: The command has been sent to at least one instance but
13901	//    has not reached a final state on all instances.
13902	//
13903	//    * Success: The command successfully ran on all invocations. This is a
13904	//    terminal state.
13905	//
13906	//    * Delivery Timed Out: The value of MaxErrors or more command invocations
13907	//    shows a status of Delivery Timed Out. This is a terminal state.
13908	//
13909	//    * Execution Timed Out: The value of MaxErrors or more command invocations
13910	//    shows a status of Execution Timed Out. This is a terminal state.
13911	//
13912	//    * Failed: The value of MaxErrors or more command invocations shows a status
13913	//    of Failed. This is a terminal state.
13914	//
13915	//    * Incomplete: The command was attempted on all instances and one or more
13916	//    invocations does not have a value of Success but not enough invocations
13917	//    failed for the status to be Failed. This is a terminal state.
13918	//
13919	//    * Canceled: The command was terminated before it was completed. This is
13920	//    a terminal state.
13921	//
13922	//    * Rate Exceeded: The number of instances targeted by the command exceeded
13923	//    the account limit for pending invocations. The system has canceled the
13924	//    command before running it on any instance. This is a terminal state.
13925	StatusDetails *string `type:"string"`
13926
13927	// The number of targets for the command.
13928	TargetCount *int64 `type:"integer"`
13929
13930	// An array of search criteria that targets instances using a Key,Value combination
13931	// that you specify. Targets is required if you don't provide one or more instance
13932	// IDs in the call.
13933	Targets []*Target `type:"list"`
13934}
13935
13936// String returns the string representation
13937func (s Command) String() string {
13938	return awsutil.Prettify(s)
13939}
13940
13941// GoString returns the string representation
13942func (s Command) GoString() string {
13943	return s.String()
13944}
13945
13946// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
13947func (s *Command) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *Command {
13948	s.CloudWatchOutputConfig = v
13949	return s
13950}
13951
13952// SetCommandId sets the CommandId field's value.
13953func (s *Command) SetCommandId(v string) *Command {
13954	s.CommandId = &v
13955	return s
13956}
13957
13958// SetComment sets the Comment field's value.
13959func (s *Command) SetComment(v string) *Command {
13960	s.Comment = &v
13961	return s
13962}
13963
13964// SetCompletedCount sets the CompletedCount field's value.
13965func (s *Command) SetCompletedCount(v int64) *Command {
13966	s.CompletedCount = &v
13967	return s
13968}
13969
13970// SetDeliveryTimedOutCount sets the DeliveryTimedOutCount field's value.
13971func (s *Command) SetDeliveryTimedOutCount(v int64) *Command {
13972	s.DeliveryTimedOutCount = &v
13973	return s
13974}
13975
13976// SetDocumentName sets the DocumentName field's value.
13977func (s *Command) SetDocumentName(v string) *Command {
13978	s.DocumentName = &v
13979	return s
13980}
13981
13982// SetDocumentVersion sets the DocumentVersion field's value.
13983func (s *Command) SetDocumentVersion(v string) *Command {
13984	s.DocumentVersion = &v
13985	return s
13986}
13987
13988// SetErrorCount sets the ErrorCount field's value.
13989func (s *Command) SetErrorCount(v int64) *Command {
13990	s.ErrorCount = &v
13991	return s
13992}
13993
13994// SetExpiresAfter sets the ExpiresAfter field's value.
13995func (s *Command) SetExpiresAfter(v time.Time) *Command {
13996	s.ExpiresAfter = &v
13997	return s
13998}
13999
14000// SetInstanceIds sets the InstanceIds field's value.
14001func (s *Command) SetInstanceIds(v []*string) *Command {
14002	s.InstanceIds = v
14003	return s
14004}
14005
14006// SetMaxConcurrency sets the MaxConcurrency field's value.
14007func (s *Command) SetMaxConcurrency(v string) *Command {
14008	s.MaxConcurrency = &v
14009	return s
14010}
14011
14012// SetMaxErrors sets the MaxErrors field's value.
14013func (s *Command) SetMaxErrors(v string) *Command {
14014	s.MaxErrors = &v
14015	return s
14016}
14017
14018// SetNotificationConfig sets the NotificationConfig field's value.
14019func (s *Command) SetNotificationConfig(v *NotificationConfig) *Command {
14020	s.NotificationConfig = v
14021	return s
14022}
14023
14024// SetOutputS3BucketName sets the OutputS3BucketName field's value.
14025func (s *Command) SetOutputS3BucketName(v string) *Command {
14026	s.OutputS3BucketName = &v
14027	return s
14028}
14029
14030// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
14031func (s *Command) SetOutputS3KeyPrefix(v string) *Command {
14032	s.OutputS3KeyPrefix = &v
14033	return s
14034}
14035
14036// SetOutputS3Region sets the OutputS3Region field's value.
14037func (s *Command) SetOutputS3Region(v string) *Command {
14038	s.OutputS3Region = &v
14039	return s
14040}
14041
14042// SetParameters sets the Parameters field's value.
14043func (s *Command) SetParameters(v map[string][]*string) *Command {
14044	s.Parameters = v
14045	return s
14046}
14047
14048// SetRequestedDateTime sets the RequestedDateTime field's value.
14049func (s *Command) SetRequestedDateTime(v time.Time) *Command {
14050	s.RequestedDateTime = &v
14051	return s
14052}
14053
14054// SetServiceRole sets the ServiceRole field's value.
14055func (s *Command) SetServiceRole(v string) *Command {
14056	s.ServiceRole = &v
14057	return s
14058}
14059
14060// SetStatus sets the Status field's value.
14061func (s *Command) SetStatus(v string) *Command {
14062	s.Status = &v
14063	return s
14064}
14065
14066// SetStatusDetails sets the StatusDetails field's value.
14067func (s *Command) SetStatusDetails(v string) *Command {
14068	s.StatusDetails = &v
14069	return s
14070}
14071
14072// SetTargetCount sets the TargetCount field's value.
14073func (s *Command) SetTargetCount(v int64) *Command {
14074	s.TargetCount = &v
14075	return s
14076}
14077
14078// SetTargets sets the Targets field's value.
14079func (s *Command) SetTargets(v []*Target) *Command {
14080	s.Targets = v
14081	return s
14082}
14083
14084// Describes a command filter.
14085type CommandFilter struct {
14086	_ struct{} `type:"structure"`
14087
14088	// The name of the filter.
14089	//
14090	// Key is a required field
14091	Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"`
14092
14093	// The filter value. Valid values for each filter key are as follows:
14094	//
14095	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
14096	//    specify 2018-07-07T00:00:00Z to see a list of command executions occurring
14097	//    July 7, 2018, and later.
14098	//
14099	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
14100	//    specify 2018-07-07T00:00:00Z to see a list of command executions from
14101	//    before July 7, 2018.
14102	//
14103	//    * Status: Specify a valid command status to see a list of all command
14104	//    executions with that status. Status values you can specify include: Pending
14105	//    InProgress Success Cancelled Failed TimedOut Cancelling
14106	//
14107	//    * DocumentName: Specify name of the SSM document for which you want to
14108	//    see command execution results. For example, specify AWS-RunPatchBaseline
14109	//    to see command executions that used this SSM document to perform security
14110	//    patching operations on instances.
14111	//
14112	//    * ExecutionStage: Specify one of the following values: Executing: Returns
14113	//    a list of command executions that are currently still running. Complete:
14114	//    Returns a list of command executions that have already completed.
14115	//
14116	// Value is a required field
14117	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
14118}
14119
14120// String returns the string representation
14121func (s CommandFilter) String() string {
14122	return awsutil.Prettify(s)
14123}
14124
14125// GoString returns the string representation
14126func (s CommandFilter) GoString() string {
14127	return s.String()
14128}
14129
14130// Validate inspects the fields of the type to determine if they are valid.
14131func (s *CommandFilter) Validate() error {
14132	invalidParams := request.ErrInvalidParams{Context: "CommandFilter"}
14133	if s.Key == nil {
14134		invalidParams.Add(request.NewErrParamRequired("Key"))
14135	}
14136	if s.Value == nil {
14137		invalidParams.Add(request.NewErrParamRequired("Value"))
14138	}
14139	if s.Value != nil && len(*s.Value) < 1 {
14140		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
14141	}
14142
14143	if invalidParams.Len() > 0 {
14144		return invalidParams
14145	}
14146	return nil
14147}
14148
14149// SetKey sets the Key field's value.
14150func (s *CommandFilter) SetKey(v string) *CommandFilter {
14151	s.Key = &v
14152	return s
14153}
14154
14155// SetValue sets the Value field's value.
14156func (s *CommandFilter) SetValue(v string) *CommandFilter {
14157	s.Value = &v
14158	return s
14159}
14160
14161// An invocation is copy of a command sent to a specific instance. A command
14162// can apply to one or more instances. A command invocation applies to one instance.
14163// For example, if a user runs SendCommand against three instances, then a command
14164// invocation is created for each requested instance ID. A command invocation
14165// returns status and detail information about a command you ran.
14166type CommandInvocation struct {
14167	_ struct{} `type:"structure"`
14168
14169	// CloudWatch Logs information where you want Systems Manager to send the command
14170	// output.
14171	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
14172
14173	// The command against which this invocation was requested.
14174	CommandId *string `min:"36" type:"string"`
14175
14176	CommandPlugins []*CommandPlugin `type:"list"`
14177
14178	// User-specified information about the command, such as a brief description
14179	// of what the command should do.
14180	Comment *string `type:"string"`
14181
14182	// The document name that was requested for execution.
14183	DocumentName *string `type:"string"`
14184
14185	// The SSM document version.
14186	DocumentVersion *string `type:"string"`
14187
14188	// The instance ID in which this invocation was requested.
14189	InstanceId *string `type:"string"`
14190
14191	// The name of the invocation target. For Amazon EC2 instances this is the value
14192	// for the aws:Name tag. For on-premises instances, this is the name of the
14193	// instance.
14194	InstanceName *string `type:"string"`
14195
14196	// Configurations for sending notifications about command status changes on
14197	// a per instance basis.
14198	NotificationConfig *NotificationConfig `type:"structure"`
14199
14200	// The time and date the request was sent to this instance.
14201	RequestedDateTime *time.Time `type:"timestamp"`
14202
14203	// The IAM service role that Run Command uses to act on your behalf when sending
14204	// notifications about command status changes on a per instance basis.
14205	ServiceRole *string `type:"string"`
14206
14207	// The URL to the plugin's StdErr file in Amazon S3, if the Amazon S3 bucket
14208	// was defined for the parent command. For an invocation, StandardErrorUrl is
14209	// populated if there is just one plugin defined for the command, and the Amazon
14210	// S3 bucket was defined for the command.
14211	StandardErrorUrl *string `type:"string"`
14212
14213	// The URL to the plugin's StdOut file in Amazon S3, if the Amazon S3 bucket
14214	// was defined for the parent command. For an invocation, StandardOutputUrl
14215	// is populated if there is just one plugin defined for the command, and the
14216	// Amazon S3 bucket was defined for the command.
14217	StandardOutputUrl *string `type:"string"`
14218
14219	// Whether or not the invocation succeeded, failed, or is pending.
14220	Status *string `type:"string" enum:"CommandInvocationStatus"`
14221
14222	// A detailed status of the command execution for each invocation (each instance
14223	// targeted by the command). StatusDetails includes more information than Status
14224	// because it includes states resulting from error and concurrency control parameters.
14225	// StatusDetails can show different results than Status. For more information
14226	// about these statuses, see Understanding Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
14227	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
14228	// values:
14229	//
14230	//    * Pending: The command has not been sent to the instance.
14231	//
14232	//    * In Progress: The command has been sent to the instance but has not reached
14233	//    a terminal state.
14234	//
14235	//    * Success: The execution of the command or plugin was successfully completed.
14236	//    This is a terminal state.
14237	//
14238	//    * Delivery Timed Out: The command was not delivered to the instance before
14239	//    the delivery timeout expired. Delivery timeouts do not count against the
14240	//    parent command's MaxErrors limit, but they do contribute to whether the
14241	//    parent command status is Success or Incomplete. This is a terminal state.
14242	//
14243	//    * Execution Timed Out: Command execution started on the instance, but
14244	//    the execution was not complete before the execution timeout expired. Execution
14245	//    timeouts count against the MaxErrors limit of the parent command. This
14246	//    is a terminal state.
14247	//
14248	//    * Failed: The command was not successful on the instance. For a plugin,
14249	//    this indicates that the result code was not zero. For a command invocation,
14250	//    this indicates that the result code for one or more plugins was not zero.
14251	//    Invocation failures count against the MaxErrors limit of the parent command.
14252	//    This is a terminal state.
14253	//
14254	//    * Canceled: The command was terminated before it was completed. This is
14255	//    a terminal state.
14256	//
14257	//    * Undeliverable: The command can't be delivered to the instance. The instance
14258	//    might not exist or might not be responding. Undeliverable invocations
14259	//    don't count against the parent command's MaxErrors limit and don't contribute
14260	//    to whether the parent command status is Success or Incomplete. This is
14261	//    a terminal state.
14262	//
14263	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
14264	//    command invocations were canceled by the system. This is a terminal state.
14265	StatusDetails *string `type:"string"`
14266
14267	// Gets the trace output sent by the agent.
14268	TraceOutput *string `type:"string"`
14269}
14270
14271// String returns the string representation
14272func (s CommandInvocation) String() string {
14273	return awsutil.Prettify(s)
14274}
14275
14276// GoString returns the string representation
14277func (s CommandInvocation) GoString() string {
14278	return s.String()
14279}
14280
14281// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
14282func (s *CommandInvocation) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *CommandInvocation {
14283	s.CloudWatchOutputConfig = v
14284	return s
14285}
14286
14287// SetCommandId sets the CommandId field's value.
14288func (s *CommandInvocation) SetCommandId(v string) *CommandInvocation {
14289	s.CommandId = &v
14290	return s
14291}
14292
14293// SetCommandPlugins sets the CommandPlugins field's value.
14294func (s *CommandInvocation) SetCommandPlugins(v []*CommandPlugin) *CommandInvocation {
14295	s.CommandPlugins = v
14296	return s
14297}
14298
14299// SetComment sets the Comment field's value.
14300func (s *CommandInvocation) SetComment(v string) *CommandInvocation {
14301	s.Comment = &v
14302	return s
14303}
14304
14305// SetDocumentName sets the DocumentName field's value.
14306func (s *CommandInvocation) SetDocumentName(v string) *CommandInvocation {
14307	s.DocumentName = &v
14308	return s
14309}
14310
14311// SetDocumentVersion sets the DocumentVersion field's value.
14312func (s *CommandInvocation) SetDocumentVersion(v string) *CommandInvocation {
14313	s.DocumentVersion = &v
14314	return s
14315}
14316
14317// SetInstanceId sets the InstanceId field's value.
14318func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation {
14319	s.InstanceId = &v
14320	return s
14321}
14322
14323// SetInstanceName sets the InstanceName field's value.
14324func (s *CommandInvocation) SetInstanceName(v string) *CommandInvocation {
14325	s.InstanceName = &v
14326	return s
14327}
14328
14329// SetNotificationConfig sets the NotificationConfig field's value.
14330func (s *CommandInvocation) SetNotificationConfig(v *NotificationConfig) *CommandInvocation {
14331	s.NotificationConfig = v
14332	return s
14333}
14334
14335// SetRequestedDateTime sets the RequestedDateTime field's value.
14336func (s *CommandInvocation) SetRequestedDateTime(v time.Time) *CommandInvocation {
14337	s.RequestedDateTime = &v
14338	return s
14339}
14340
14341// SetServiceRole sets the ServiceRole field's value.
14342func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation {
14343	s.ServiceRole = &v
14344	return s
14345}
14346
14347// SetStandardErrorUrl sets the StandardErrorUrl field's value.
14348func (s *CommandInvocation) SetStandardErrorUrl(v string) *CommandInvocation {
14349	s.StandardErrorUrl = &v
14350	return s
14351}
14352
14353// SetStandardOutputUrl sets the StandardOutputUrl field's value.
14354func (s *CommandInvocation) SetStandardOutputUrl(v string) *CommandInvocation {
14355	s.StandardOutputUrl = &v
14356	return s
14357}
14358
14359// SetStatus sets the Status field's value.
14360func (s *CommandInvocation) SetStatus(v string) *CommandInvocation {
14361	s.Status = &v
14362	return s
14363}
14364
14365// SetStatusDetails sets the StatusDetails field's value.
14366func (s *CommandInvocation) SetStatusDetails(v string) *CommandInvocation {
14367	s.StatusDetails = &v
14368	return s
14369}
14370
14371// SetTraceOutput sets the TraceOutput field's value.
14372func (s *CommandInvocation) SetTraceOutput(v string) *CommandInvocation {
14373	s.TraceOutput = &v
14374	return s
14375}
14376
14377// Describes plugin details.
14378type CommandPlugin struct {
14379	_ struct{} `type:"structure"`
14380
14381	// The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin,
14382	// aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch,
14383	// aws:runShellScript, or aws:updateSSMAgent.
14384	Name *string `min:"4" type:"string"`
14385
14386	// Output of the plugin execution.
14387	Output *string `type:"string"`
14388
14389	// The S3 bucket where the responses to the command executions should be stored.
14390	// This was requested when issuing the command. For example, in the following
14391	// response:
14392	//
14393	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
14394	//
14395	// test_folder is the name of the Amazon S3 bucket;
14396	//
14397	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
14398	//
14399	// i-1234567876543 is the instance ID;
14400	//
14401	// awsrunShellScript is the name of the plugin.
14402	OutputS3BucketName *string `min:"3" type:"string"`
14403
14404	// The S3 directory path inside the bucket where the responses to the command
14405	// executions should be stored. This was requested when issuing the command.
14406	// For example, in the following response:
14407	//
14408	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
14409	//
14410	// test_folder is the name of the Amazon S3 bucket;
14411	//
14412	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
14413	//
14414	// i-1234567876543 is the instance ID;
14415	//
14416	// awsrunShellScript is the name of the plugin.
14417	OutputS3KeyPrefix *string `type:"string"`
14418
14419	// (Deprecated) You can no longer specify this parameter. The system ignores
14420	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
14421	// region.
14422	OutputS3Region *string `min:"3" type:"string"`
14423
14424	// A numeric response code generated after running the plugin.
14425	ResponseCode *int64 `type:"integer"`
14426
14427	// The time the plugin stopped running. Could stop prematurely if, for example,
14428	// a cancel command was sent.
14429	ResponseFinishDateTime *time.Time `type:"timestamp"`
14430
14431	// The time the plugin started running.
14432	ResponseStartDateTime *time.Time `type:"timestamp"`
14433
14434	// The URL for the complete text written by the plugin to stderr. If execution
14435	// is not yet complete, then this string is empty.
14436	StandardErrorUrl *string `type:"string"`
14437
14438	// The URL for the complete text written by the plugin to stdout in Amazon S3.
14439	// If the Amazon S3 bucket for the command was not specified, then this string
14440	// is empty.
14441	StandardOutputUrl *string `type:"string"`
14442
14443	// The status of this plugin. You can run a document with multiple plugins.
14444	Status *string `type:"string" enum:"CommandPluginStatus"`
14445
14446	// A detailed status of the plugin execution. StatusDetails includes more information
14447	// than Status because it includes states resulting from error and concurrency
14448	// control parameters. StatusDetails can show different results than Status.
14449	// For more information about these statuses, see Understanding Command Statuses
14450	// (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
14451	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
14452	// values:
14453	//
14454	//    * Pending: The command has not been sent to the instance.
14455	//
14456	//    * In Progress: The command has been sent to the instance but has not reached
14457	//    a terminal state.
14458	//
14459	//    * Success: The execution of the command or plugin was successfully completed.
14460	//    This is a terminal state.
14461	//
14462	//    * Delivery Timed Out: The command was not delivered to the instance before
14463	//    the delivery timeout expired. Delivery timeouts do not count against the
14464	//    parent command's MaxErrors limit, but they do contribute to whether the
14465	//    parent command status is Success or Incomplete. This is a terminal state.
14466	//
14467	//    * Execution Timed Out: Command execution started on the instance, but
14468	//    the execution was not complete before the execution timeout expired. Execution
14469	//    timeouts count against the MaxErrors limit of the parent command. This
14470	//    is a terminal state.
14471	//
14472	//    * Failed: The command was not successful on the instance. For a plugin,
14473	//    this indicates that the result code was not zero. For a command invocation,
14474	//    this indicates that the result code for one or more plugins was not zero.
14475	//    Invocation failures count against the MaxErrors limit of the parent command.
14476	//    This is a terminal state.
14477	//
14478	//    * Canceled: The command was terminated before it was completed. This is
14479	//    a terminal state.
14480	//
14481	//    * Undeliverable: The command can't be delivered to the instance. The instance
14482	//    might not exist, or it might not be responding. Undeliverable invocations
14483	//    don't count against the parent command's MaxErrors limit, and they don't
14484	//    contribute to whether the parent command status is Success or Incomplete.
14485	//    This is a terminal state.
14486	//
14487	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
14488	//    command invocations were canceled by the system. This is a terminal state.
14489	StatusDetails *string `type:"string"`
14490}
14491
14492// String returns the string representation
14493func (s CommandPlugin) String() string {
14494	return awsutil.Prettify(s)
14495}
14496
14497// GoString returns the string representation
14498func (s CommandPlugin) GoString() string {
14499	return s.String()
14500}
14501
14502// SetName sets the Name field's value.
14503func (s *CommandPlugin) SetName(v string) *CommandPlugin {
14504	s.Name = &v
14505	return s
14506}
14507
14508// SetOutput sets the Output field's value.
14509func (s *CommandPlugin) SetOutput(v string) *CommandPlugin {
14510	s.Output = &v
14511	return s
14512}
14513
14514// SetOutputS3BucketName sets the OutputS3BucketName field's value.
14515func (s *CommandPlugin) SetOutputS3BucketName(v string) *CommandPlugin {
14516	s.OutputS3BucketName = &v
14517	return s
14518}
14519
14520// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
14521func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin {
14522	s.OutputS3KeyPrefix = &v
14523	return s
14524}
14525
14526// SetOutputS3Region sets the OutputS3Region field's value.
14527func (s *CommandPlugin) SetOutputS3Region(v string) *CommandPlugin {
14528	s.OutputS3Region = &v
14529	return s
14530}
14531
14532// SetResponseCode sets the ResponseCode field's value.
14533func (s *CommandPlugin) SetResponseCode(v int64) *CommandPlugin {
14534	s.ResponseCode = &v
14535	return s
14536}
14537
14538// SetResponseFinishDateTime sets the ResponseFinishDateTime field's value.
14539func (s *CommandPlugin) SetResponseFinishDateTime(v time.Time) *CommandPlugin {
14540	s.ResponseFinishDateTime = &v
14541	return s
14542}
14543
14544// SetResponseStartDateTime sets the ResponseStartDateTime field's value.
14545func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin {
14546	s.ResponseStartDateTime = &v
14547	return s
14548}
14549
14550// SetStandardErrorUrl sets the StandardErrorUrl field's value.
14551func (s *CommandPlugin) SetStandardErrorUrl(v string) *CommandPlugin {
14552	s.StandardErrorUrl = &v
14553	return s
14554}
14555
14556// SetStandardOutputUrl sets the StandardOutputUrl field's value.
14557func (s *CommandPlugin) SetStandardOutputUrl(v string) *CommandPlugin {
14558	s.StandardOutputUrl = &v
14559	return s
14560}
14561
14562// SetStatus sets the Status field's value.
14563func (s *CommandPlugin) SetStatus(v string) *CommandPlugin {
14564	s.Status = &v
14565	return s
14566}
14567
14568// SetStatusDetails sets the StatusDetails field's value.
14569func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin {
14570	s.StatusDetails = &v
14571	return s
14572}
14573
14574// A summary of the call execution that includes an execution ID, the type of
14575// execution (for example, Command), and the date/time of the execution using
14576// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
14577type ComplianceExecutionSummary struct {
14578	_ struct{} `type:"structure"`
14579
14580	// An ID created by the system when PutComplianceItems was called. For example,
14581	// CommandID is a valid execution ID. You can use this ID in subsequent calls.
14582	ExecutionId *string `type:"string"`
14583
14584	// The time the execution ran as a datetime object that is saved in the following
14585	// format: yyyy-MM-dd'T'HH:mm:ss'Z'.
14586	//
14587	// ExecutionTime is a required field
14588	ExecutionTime *time.Time `type:"timestamp" required:"true"`
14589
14590	// The type of execution. For example, Command is a valid execution type.
14591	ExecutionType *string `type:"string"`
14592}
14593
14594// String returns the string representation
14595func (s ComplianceExecutionSummary) String() string {
14596	return awsutil.Prettify(s)
14597}
14598
14599// GoString returns the string representation
14600func (s ComplianceExecutionSummary) GoString() string {
14601	return s.String()
14602}
14603
14604// Validate inspects the fields of the type to determine if they are valid.
14605func (s *ComplianceExecutionSummary) Validate() error {
14606	invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"}
14607	if s.ExecutionTime == nil {
14608		invalidParams.Add(request.NewErrParamRequired("ExecutionTime"))
14609	}
14610
14611	if invalidParams.Len() > 0 {
14612		return invalidParams
14613	}
14614	return nil
14615}
14616
14617// SetExecutionId sets the ExecutionId field's value.
14618func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary {
14619	s.ExecutionId = &v
14620	return s
14621}
14622
14623// SetExecutionTime sets the ExecutionTime field's value.
14624func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary {
14625	s.ExecutionTime = &v
14626	return s
14627}
14628
14629// SetExecutionType sets the ExecutionType field's value.
14630func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary {
14631	s.ExecutionType = &v
14632	return s
14633}
14634
14635// Information about the compliance as defined by the resource type. For example,
14636// for a patch resource type, Items includes information about the PatchSeverity,
14637// Classification, etc.
14638type ComplianceItem struct {
14639	_ struct{} `type:"structure"`
14640
14641	// The compliance type. For example, Association (for a State Manager association),
14642	// Patch, or Custom:string are all valid compliance types.
14643	ComplianceType *string `min:"1" type:"string"`
14644
14645	// A "Key": "Value" tag combination for the compliance item.
14646	Details map[string]*string `type:"map"`
14647
14648	// A summary for the compliance item. The summary includes an execution ID,
14649	// the execution type (for example, command), and the execution time.
14650	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
14651
14652	// An ID for the compliance item. For example, if the compliance item is a Windows
14653	// patch, the ID could be the number of the KB article; for example: KB4010320.
14654	Id *string `min:"1" type:"string"`
14655
14656	// An ID for the resource. For a managed instance, this is the instance ID.
14657	ResourceId *string `min:"1" type:"string"`
14658
14659	// The type of resource. ManagedInstance is currently the only supported resource
14660	// type.
14661	ResourceType *string `min:"1" type:"string"`
14662
14663	// The severity of the compliance status. Severity can be one of the following:
14664	// Critical, High, Medium, Low, Informational, Unspecified.
14665	Severity *string `type:"string" enum:"ComplianceSeverity"`
14666
14667	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
14668	Status *string `type:"string" enum:"ComplianceStatus"`
14669
14670	// A title for the compliance item. For example, if the compliance item is a
14671	// Windows patch, the title could be the title of the KB article for the patch;
14672	// for example: Security Update for Active Directory Federation Services.
14673	Title *string `type:"string"`
14674}
14675
14676// String returns the string representation
14677func (s ComplianceItem) String() string {
14678	return awsutil.Prettify(s)
14679}
14680
14681// GoString returns the string representation
14682func (s ComplianceItem) GoString() string {
14683	return s.String()
14684}
14685
14686// SetComplianceType sets the ComplianceType field's value.
14687func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem {
14688	s.ComplianceType = &v
14689	return s
14690}
14691
14692// SetDetails sets the Details field's value.
14693func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem {
14694	s.Details = v
14695	return s
14696}
14697
14698// SetExecutionSummary sets the ExecutionSummary field's value.
14699func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem {
14700	s.ExecutionSummary = v
14701	return s
14702}
14703
14704// SetId sets the Id field's value.
14705func (s *ComplianceItem) SetId(v string) *ComplianceItem {
14706	s.Id = &v
14707	return s
14708}
14709
14710// SetResourceId sets the ResourceId field's value.
14711func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem {
14712	s.ResourceId = &v
14713	return s
14714}
14715
14716// SetResourceType sets the ResourceType field's value.
14717func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem {
14718	s.ResourceType = &v
14719	return s
14720}
14721
14722// SetSeverity sets the Severity field's value.
14723func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem {
14724	s.Severity = &v
14725	return s
14726}
14727
14728// SetStatus sets the Status field's value.
14729func (s *ComplianceItem) SetStatus(v string) *ComplianceItem {
14730	s.Status = &v
14731	return s
14732}
14733
14734// SetTitle sets the Title field's value.
14735func (s *ComplianceItem) SetTitle(v string) *ComplianceItem {
14736	s.Title = &v
14737	return s
14738}
14739
14740// Information about a compliance item.
14741type ComplianceItemEntry struct {
14742	_ struct{} `type:"structure"`
14743
14744	// A "Key": "Value" tag combination for the compliance item.
14745	Details map[string]*string `type:"map"`
14746
14747	// The compliance item ID. For example, if the compliance item is a Windows
14748	// patch, the ID could be the number of the KB article.
14749	Id *string `min:"1" type:"string"`
14750
14751	// The severity of the compliance status. Severity can be one of the following:
14752	// Critical, High, Medium, Low, Informational, Unspecified.
14753	//
14754	// Severity is a required field
14755	Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"`
14756
14757	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
14758	//
14759	// Status is a required field
14760	Status *string `type:"string" required:"true" enum:"ComplianceStatus"`
14761
14762	// The title of the compliance item. For example, if the compliance item is
14763	// a Windows patch, the title could be the title of the KB article for the patch;
14764	// for example: Security Update for Active Directory Federation Services.
14765	Title *string `type:"string"`
14766}
14767
14768// String returns the string representation
14769func (s ComplianceItemEntry) String() string {
14770	return awsutil.Prettify(s)
14771}
14772
14773// GoString returns the string representation
14774func (s ComplianceItemEntry) GoString() string {
14775	return s.String()
14776}
14777
14778// Validate inspects the fields of the type to determine if they are valid.
14779func (s *ComplianceItemEntry) Validate() error {
14780	invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"}
14781	if s.Id != nil && len(*s.Id) < 1 {
14782		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14783	}
14784	if s.Severity == nil {
14785		invalidParams.Add(request.NewErrParamRequired("Severity"))
14786	}
14787	if s.Status == nil {
14788		invalidParams.Add(request.NewErrParamRequired("Status"))
14789	}
14790
14791	if invalidParams.Len() > 0 {
14792		return invalidParams
14793	}
14794	return nil
14795}
14796
14797// SetDetails sets the Details field's value.
14798func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry {
14799	s.Details = v
14800	return s
14801}
14802
14803// SetId sets the Id field's value.
14804func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry {
14805	s.Id = &v
14806	return s
14807}
14808
14809// SetSeverity sets the Severity field's value.
14810func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry {
14811	s.Severity = &v
14812	return s
14813}
14814
14815// SetStatus sets the Status field's value.
14816func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry {
14817	s.Status = &v
14818	return s
14819}
14820
14821// SetTitle sets the Title field's value.
14822func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry {
14823	s.Title = &v
14824	return s
14825}
14826
14827// One or more filters. Use a filter to return a more specific list of results.
14828type ComplianceStringFilter struct {
14829	_ struct{} `type:"structure"`
14830
14831	// The name of the filter.
14832	Key *string `min:"1" type:"string"`
14833
14834	// The type of comparison that should be performed for the value: Equal, NotEqual,
14835	// BeginWith, LessThan, or GreaterThan.
14836	Type *string `type:"string" enum:"ComplianceQueryOperatorType"`
14837
14838	// The value for which to search.
14839	Values []*string `min:"1" type:"list"`
14840}
14841
14842// String returns the string representation
14843func (s ComplianceStringFilter) String() string {
14844	return awsutil.Prettify(s)
14845}
14846
14847// GoString returns the string representation
14848func (s ComplianceStringFilter) GoString() string {
14849	return s.String()
14850}
14851
14852// Validate inspects the fields of the type to determine if they are valid.
14853func (s *ComplianceStringFilter) Validate() error {
14854	invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"}
14855	if s.Key != nil && len(*s.Key) < 1 {
14856		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14857	}
14858	if s.Values != nil && len(s.Values) < 1 {
14859		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
14860	}
14861
14862	if invalidParams.Len() > 0 {
14863		return invalidParams
14864	}
14865	return nil
14866}
14867
14868// SetKey sets the Key field's value.
14869func (s *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter {
14870	s.Key = &v
14871	return s
14872}
14873
14874// SetType sets the Type field's value.
14875func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter {
14876	s.Type = &v
14877	return s
14878}
14879
14880// SetValues sets the Values field's value.
14881func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter {
14882	s.Values = v
14883	return s
14884}
14885
14886// A summary of compliance information by compliance type.
14887type ComplianceSummaryItem struct {
14888	_ struct{} `type:"structure"`
14889
14890	// The type of compliance item. For example, the compliance type can be Association,
14891	// Patch, or Custom:string.
14892	ComplianceType *string `min:"1" type:"string"`
14893
14894	// A list of COMPLIANT items for the specified compliance type.
14895	CompliantSummary *CompliantSummary `type:"structure"`
14896
14897	// A list of NON_COMPLIANT items for the specified compliance type.
14898	NonCompliantSummary *NonCompliantSummary `type:"structure"`
14899}
14900
14901// String returns the string representation
14902func (s ComplianceSummaryItem) String() string {
14903	return awsutil.Prettify(s)
14904}
14905
14906// GoString returns the string representation
14907func (s ComplianceSummaryItem) GoString() string {
14908	return s.String()
14909}
14910
14911// SetComplianceType sets the ComplianceType field's value.
14912func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem {
14913	s.ComplianceType = &v
14914	return s
14915}
14916
14917// SetCompliantSummary sets the CompliantSummary field's value.
14918func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem {
14919	s.CompliantSummary = v
14920	return s
14921}
14922
14923// SetNonCompliantSummary sets the NonCompliantSummary field's value.
14924func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem {
14925	s.NonCompliantSummary = v
14926	return s
14927}
14928
14929// A summary of resources that are compliant. The summary is organized according
14930// to the resource count for each compliance type.
14931type CompliantSummary struct {
14932	_ struct{} `type:"structure"`
14933
14934	// The total number of resources that are compliant.
14935	CompliantCount *int64 `type:"integer"`
14936
14937	// A summary of the compliance severity by compliance type.
14938	SeveritySummary *SeveritySummary `type:"structure"`
14939}
14940
14941// String returns the string representation
14942func (s CompliantSummary) String() string {
14943	return awsutil.Prettify(s)
14944}
14945
14946// GoString returns the string representation
14947func (s CompliantSummary) GoString() string {
14948	return s.String()
14949}
14950
14951// SetCompliantCount sets the CompliantCount field's value.
14952func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary {
14953	s.CompliantCount = &v
14954	return s
14955}
14956
14957// SetSeveritySummary sets the SeveritySummary field's value.
14958func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary {
14959	s.SeveritySummary = v
14960	return s
14961}
14962
14963type CreateActivationInput struct {
14964	_ struct{} `type:"structure"`
14965
14966	// The name of the registered, managed instance as it will appear in the Amazon
14967	// EC2 console or when you use the AWS command line tools to list EC2 resources.
14968	//
14969	// Do not enter personally identifiable information in this field.
14970	DefaultInstanceName *string `type:"string"`
14971
14972	// A user-defined description of the resource that you want to register with
14973	// Amazon EC2.
14974	//
14975	// Do not enter personally identifiable information in this field.
14976	Description *string `type:"string"`
14977
14978	// The date by which this activation request should expire. The default value
14979	// is 24 hours.
14980	ExpirationDate *time.Time `type:"timestamp"`
14981
14982	// The Amazon Identity and Access Management (IAM) role that you want to assign
14983	// to the managed instance.
14984	//
14985	// IamRole is a required field
14986	IamRole *string `type:"string" required:"true"`
14987
14988	// Specify the maximum number of managed instances you want to register. The
14989	// default value is 1 instance.
14990	RegistrationLimit *int64 `min:"1" type:"integer"`
14991
14992	// Optional metadata that you assign to a resource. Tags enable you to categorize
14993	// a resource in different ways, such as by purpose, owner, or environment.
14994	// For example, you might want to tag an activation to identify which servers
14995	// or virtual machines (VMs) in your on-premises environment you intend to activate.
14996	// In this case, you could specify the following key name/value pairs:
14997	//
14998	//    * Key=OS,Value=Windows
14999	//
15000	//    * Key=Environment,Value=Production
15001	//
15002	// When you install SSM Agent on your on-premises servers and VMs, you specify
15003	// an activation ID and code. When you specify the activation ID and code, tags
15004	// assigned to the activation are automatically applied to the on-premises servers
15005	// or VMs.
15006	//
15007	// You can't add tags to or delete tags from an existing activation. You can
15008	// tag your on-premises servers and VMs after they connect to Systems Manager
15009	// for the first time and are assigned a managed instance ID. This means they
15010	// are listed in the AWS Systems Manager console with an ID that is prefixed
15011	// with "mi-". For information about how to add tags to your managed instances,
15012	// see AddTagsToResource. For information about how to remove tags from your
15013	// managed instances, see RemoveTagsFromResource.
15014	Tags []*Tag `type:"list"`
15015}
15016
15017// String returns the string representation
15018func (s CreateActivationInput) String() string {
15019	return awsutil.Prettify(s)
15020}
15021
15022// GoString returns the string representation
15023func (s CreateActivationInput) GoString() string {
15024	return s.String()
15025}
15026
15027// Validate inspects the fields of the type to determine if they are valid.
15028func (s *CreateActivationInput) Validate() error {
15029	invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"}
15030	if s.IamRole == nil {
15031		invalidParams.Add(request.NewErrParamRequired("IamRole"))
15032	}
15033	if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 {
15034		invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1))
15035	}
15036	if s.Tags != nil {
15037		for i, v := range s.Tags {
15038			if v == nil {
15039				continue
15040			}
15041			if err := v.Validate(); err != nil {
15042				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15043			}
15044		}
15045	}
15046
15047	if invalidParams.Len() > 0 {
15048		return invalidParams
15049	}
15050	return nil
15051}
15052
15053// SetDefaultInstanceName sets the DefaultInstanceName field's value.
15054func (s *CreateActivationInput) SetDefaultInstanceName(v string) *CreateActivationInput {
15055	s.DefaultInstanceName = &v
15056	return s
15057}
15058
15059// SetDescription sets the Description field's value.
15060func (s *CreateActivationInput) SetDescription(v string) *CreateActivationInput {
15061	s.Description = &v
15062	return s
15063}
15064
15065// SetExpirationDate sets the ExpirationDate field's value.
15066func (s *CreateActivationInput) SetExpirationDate(v time.Time) *CreateActivationInput {
15067	s.ExpirationDate = &v
15068	return s
15069}
15070
15071// SetIamRole sets the IamRole field's value.
15072func (s *CreateActivationInput) SetIamRole(v string) *CreateActivationInput {
15073	s.IamRole = &v
15074	return s
15075}
15076
15077// SetRegistrationLimit sets the RegistrationLimit field's value.
15078func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationInput {
15079	s.RegistrationLimit = &v
15080	return s
15081}
15082
15083// SetTags sets the Tags field's value.
15084func (s *CreateActivationInput) SetTags(v []*Tag) *CreateActivationInput {
15085	s.Tags = v
15086	return s
15087}
15088
15089type CreateActivationOutput struct {
15090	_ struct{} `type:"structure"`
15091
15092	// The code the system generates when it processes the activation. The activation
15093	// code functions like a password to validate the activation ID.
15094	ActivationCode *string `min:"20" type:"string"`
15095
15096	// The ID number generated by the system when it processed the activation. The
15097	// activation ID functions like a user name.
15098	ActivationId *string `type:"string"`
15099}
15100
15101// String returns the string representation
15102func (s CreateActivationOutput) String() string {
15103	return awsutil.Prettify(s)
15104}
15105
15106// GoString returns the string representation
15107func (s CreateActivationOutput) GoString() string {
15108	return s.String()
15109}
15110
15111// SetActivationCode sets the ActivationCode field's value.
15112func (s *CreateActivationOutput) SetActivationCode(v string) *CreateActivationOutput {
15113	s.ActivationCode = &v
15114	return s
15115}
15116
15117// SetActivationId sets the ActivationId field's value.
15118func (s *CreateActivationOutput) SetActivationId(v string) *CreateActivationOutput {
15119	s.ActivationId = &v
15120	return s
15121}
15122
15123type CreateAssociationBatchInput struct {
15124	_ struct{} `type:"structure"`
15125
15126	// One or more associations.
15127	//
15128	// Entries is a required field
15129	Entries []*CreateAssociationBatchRequestEntry `min:"1" type:"list" required:"true"`
15130}
15131
15132// String returns the string representation
15133func (s CreateAssociationBatchInput) String() string {
15134	return awsutil.Prettify(s)
15135}
15136
15137// GoString returns the string representation
15138func (s CreateAssociationBatchInput) GoString() string {
15139	return s.String()
15140}
15141
15142// Validate inspects the fields of the type to determine if they are valid.
15143func (s *CreateAssociationBatchInput) Validate() error {
15144	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"}
15145	if s.Entries == nil {
15146		invalidParams.Add(request.NewErrParamRequired("Entries"))
15147	}
15148	if s.Entries != nil && len(s.Entries) < 1 {
15149		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
15150	}
15151	if s.Entries != nil {
15152		for i, v := range s.Entries {
15153			if v == nil {
15154				continue
15155			}
15156			if err := v.Validate(); err != nil {
15157				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
15158			}
15159		}
15160	}
15161
15162	if invalidParams.Len() > 0 {
15163		return invalidParams
15164	}
15165	return nil
15166}
15167
15168// SetEntries sets the Entries field's value.
15169func (s *CreateAssociationBatchInput) SetEntries(v []*CreateAssociationBatchRequestEntry) *CreateAssociationBatchInput {
15170	s.Entries = v
15171	return s
15172}
15173
15174type CreateAssociationBatchOutput struct {
15175	_ struct{} `type:"structure"`
15176
15177	// Information about the associations that failed.
15178	Failed []*FailedCreateAssociation `type:"list"`
15179
15180	// Information about the associations that succeeded.
15181	Successful []*AssociationDescription `type:"list"`
15182}
15183
15184// String returns the string representation
15185func (s CreateAssociationBatchOutput) String() string {
15186	return awsutil.Prettify(s)
15187}
15188
15189// GoString returns the string representation
15190func (s CreateAssociationBatchOutput) GoString() string {
15191	return s.String()
15192}
15193
15194// SetFailed sets the Failed field's value.
15195func (s *CreateAssociationBatchOutput) SetFailed(v []*FailedCreateAssociation) *CreateAssociationBatchOutput {
15196	s.Failed = v
15197	return s
15198}
15199
15200// SetSuccessful sets the Successful field's value.
15201func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription) *CreateAssociationBatchOutput {
15202	s.Successful = v
15203	return s
15204}
15205
15206// Describes the association of a Systems Manager SSM document and an instance.
15207type CreateAssociationBatchRequestEntry struct {
15208	_ struct{} `type:"structure"`
15209
15210	// Specify a descriptive name for the association.
15211	AssociationName *string `type:"string"`
15212
15213	// Specify the target for the association. This target is required for associations
15214	// that use an Automation document and target resources by using rate controls.
15215	AutomationTargetParameterName *string `min:"1" type:"string"`
15216
15217	// The severity level to assign to the association.
15218	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
15219
15220	// The document version.
15221	DocumentVersion *string `type:"string"`
15222
15223	// The ID of the instance.
15224	InstanceId *string `type:"string"`
15225
15226	// The maximum number of targets allowed to run the association at the same
15227	// time. You can specify a number, for example 10, or a percentage of the target
15228	// set, for example 10%. The default value is 100%, which means all targets
15229	// run the association at the same time.
15230	//
15231	// If a new instance starts and attempts to run an association while Systems
15232	// Manager is running MaxConcurrency associations, the association is allowed
15233	// to run. During the next association interval, the new instance will process
15234	// its association within the limit specified for MaxConcurrency.
15235	MaxConcurrency *string `min:"1" type:"string"`
15236
15237	// The number of errors that are allowed before the system stops sending requests
15238	// to run the association on additional targets. You can specify either an absolute
15239	// number of errors, for example 10, or a percentage of the target set, for
15240	// example 10%. If you specify 3, for example, the system stops sending requests
15241	// when the fourth error is received. If you specify 0, then the system stops
15242	// sending requests after the first error is returned. If you run an association
15243	// on 50 instances and set MaxError to 10%, then the system stops sending the
15244	// request when the sixth error is received.
15245	//
15246	// Executions that are already running an association when MaxErrors is reached
15247	// are allowed to complete, but some of these executions may fail as well. If
15248	// you need to ensure that there won't be more than max-errors failed executions,
15249	// set MaxConcurrency to 1 so that executions proceed one at a time.
15250	MaxErrors *string `min:"1" type:"string"`
15251
15252	// The name of the SSM document that contains the configuration information
15253	// for the instance. You can specify Command or Automation documents.
15254	//
15255	// You can specify AWS-predefined documents, documents you created, or a document
15256	// that is shared with you from another account.
15257	//
15258	// For SSM documents that are shared with you from other AWS accounts, you must
15259	// specify the complete SSM document ARN, in the following format:
15260	//
15261	// arn:aws:ssm:region:account-id:document/document-name
15262	//
15263	// For example:
15264	//
15265	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
15266	//
15267	// For AWS-predefined documents and SSM documents you created in your account,
15268	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
15269	// or My-Document.
15270	//
15271	// Name is a required field
15272	Name *string `type:"string" required:"true"`
15273
15274	// An Amazon S3 bucket where you want to store the results of this request.
15275	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
15276
15277	// A description of the parameters for a document.
15278	Parameters map[string][]*string `type:"map"`
15279
15280	// A cron expression that specifies a schedule when the association runs.
15281	ScheduleExpression *string `min:"1" type:"string"`
15282
15283	// The instances targeted by the request.
15284	Targets []*Target `type:"list"`
15285}
15286
15287// String returns the string representation
15288func (s CreateAssociationBatchRequestEntry) String() string {
15289	return awsutil.Prettify(s)
15290}
15291
15292// GoString returns the string representation
15293func (s CreateAssociationBatchRequestEntry) GoString() string {
15294	return s.String()
15295}
15296
15297// Validate inspects the fields of the type to determine if they are valid.
15298func (s *CreateAssociationBatchRequestEntry) Validate() error {
15299	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchRequestEntry"}
15300	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
15301		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
15302	}
15303	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
15304		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
15305	}
15306	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
15307		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
15308	}
15309	if s.Name == nil {
15310		invalidParams.Add(request.NewErrParamRequired("Name"))
15311	}
15312	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
15313		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
15314	}
15315	if s.OutputLocation != nil {
15316		if err := s.OutputLocation.Validate(); err != nil {
15317			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
15318		}
15319	}
15320	if s.Targets != nil {
15321		for i, v := range s.Targets {
15322			if v == nil {
15323				continue
15324			}
15325			if err := v.Validate(); err != nil {
15326				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
15327			}
15328		}
15329	}
15330
15331	if invalidParams.Len() > 0 {
15332		return invalidParams
15333	}
15334	return nil
15335}
15336
15337// SetAssociationName sets the AssociationName field's value.
15338func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry {
15339	s.AssociationName = &v
15340	return s
15341}
15342
15343// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
15344func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry {
15345	s.AutomationTargetParameterName = &v
15346	return s
15347}
15348
15349// SetComplianceSeverity sets the ComplianceSeverity field's value.
15350func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry {
15351	s.ComplianceSeverity = &v
15352	return s
15353}
15354
15355// SetDocumentVersion sets the DocumentVersion field's value.
15356func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry {
15357	s.DocumentVersion = &v
15358	return s
15359}
15360
15361// SetInstanceId sets the InstanceId field's value.
15362func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry {
15363	s.InstanceId = &v
15364	return s
15365}
15366
15367// SetMaxConcurrency sets the MaxConcurrency field's value.
15368func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry {
15369	s.MaxConcurrency = &v
15370	return s
15371}
15372
15373// SetMaxErrors sets the MaxErrors field's value.
15374func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry {
15375	s.MaxErrors = &v
15376	return s
15377}
15378
15379// SetName sets the Name field's value.
15380func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry {
15381	s.Name = &v
15382	return s
15383}
15384
15385// SetOutputLocation sets the OutputLocation field's value.
15386func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry {
15387	s.OutputLocation = v
15388	return s
15389}
15390
15391// SetParameters sets the Parameters field's value.
15392func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry {
15393	s.Parameters = v
15394	return s
15395}
15396
15397// SetScheduleExpression sets the ScheduleExpression field's value.
15398func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry {
15399	s.ScheduleExpression = &v
15400	return s
15401}
15402
15403// SetTargets sets the Targets field's value.
15404func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry {
15405	s.Targets = v
15406	return s
15407}
15408
15409type CreateAssociationInput struct {
15410	_ struct{} `type:"structure"`
15411
15412	// Specify a descriptive name for the association.
15413	AssociationName *string `type:"string"`
15414
15415	// Specify the target for the association. This target is required for associations
15416	// that use an Automation document and target resources by using rate controls.
15417	AutomationTargetParameterName *string `min:"1" type:"string"`
15418
15419	// The severity level to assign to the association.
15420	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
15421
15422	// The document version you want to associate with the target(s). Can be a specific
15423	// version or the default version.
15424	DocumentVersion *string `type:"string"`
15425
15426	// The instance ID.
15427	//
15428	// InstanceId has been deprecated. To specify an instance ID for an association,
15429	// use the Targets parameter. If you use the parameter InstanceId, you cannot
15430	// use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency,
15431	// OutputLocation, or ScheduleExpression. To use these parameters, you must
15432	// use the Targets parameter.
15433	InstanceId *string `type:"string"`
15434
15435	// The maximum number of targets allowed to run the association at the same
15436	// time. You can specify a number, for example 10, or a percentage of the target
15437	// set, for example 10%. The default value is 100%, which means all targets
15438	// run the association at the same time.
15439	//
15440	// If a new instance starts and attempts to run an association while Systems
15441	// Manager is running MaxConcurrency associations, the association is allowed
15442	// to run. During the next association interval, the new instance will process
15443	// its association within the limit specified for MaxConcurrency.
15444	MaxConcurrency *string `min:"1" type:"string"`
15445
15446	// The number of errors that are allowed before the system stops sending requests
15447	// to run the association on additional targets. You can specify either an absolute
15448	// number of errors, for example 10, or a percentage of the target set, for
15449	// example 10%. If you specify 3, for example, the system stops sending requests
15450	// when the fourth error is received. If you specify 0, then the system stops
15451	// sending requests after the first error is returned. If you run an association
15452	// on 50 instances and set MaxError to 10%, then the system stops sending the
15453	// request when the sixth error is received.
15454	//
15455	// Executions that are already running an association when MaxErrors is reached
15456	// are allowed to complete, but some of these executions may fail as well. If
15457	// you need to ensure that there won't be more than max-errors failed executions,
15458	// set MaxConcurrency to 1 so that executions proceed one at a time.
15459	MaxErrors *string `min:"1" type:"string"`
15460
15461	// The name of the SSM document that contains the configuration information
15462	// for the instance. You can specify Command or Automation documents.
15463	//
15464	// You can specify AWS-predefined documents, documents you created, or a document
15465	// that is shared with you from another account.
15466	//
15467	// For SSM documents that are shared with you from other AWS accounts, you must
15468	// specify the complete SSM document ARN, in the following format:
15469	//
15470	// arn:partition:ssm:region:account-id:document/document-name
15471	//
15472	// For example:
15473	//
15474	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
15475	//
15476	// For AWS-predefined documents and SSM documents you created in your account,
15477	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
15478	// or My-Document.
15479	//
15480	// Name is a required field
15481	Name *string `type:"string" required:"true"`
15482
15483	// An Amazon S3 bucket where you want to store the output details of the request.
15484	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
15485
15486	// The parameters for the runtime configuration of the document.
15487	Parameters map[string][]*string `type:"map"`
15488
15489	// A cron expression when the association will be applied to the target(s).
15490	ScheduleExpression *string `min:"1" type:"string"`
15491
15492	// The targets (either instances or tags) for the association. You must specify
15493	// a value for Targets if you don't specify a value for InstanceId.
15494	Targets []*Target `type:"list"`
15495}
15496
15497// String returns the string representation
15498func (s CreateAssociationInput) String() string {
15499	return awsutil.Prettify(s)
15500}
15501
15502// GoString returns the string representation
15503func (s CreateAssociationInput) GoString() string {
15504	return s.String()
15505}
15506
15507// Validate inspects the fields of the type to determine if they are valid.
15508func (s *CreateAssociationInput) Validate() error {
15509	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"}
15510	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
15511		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
15512	}
15513	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
15514		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
15515	}
15516	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
15517		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
15518	}
15519	if s.Name == nil {
15520		invalidParams.Add(request.NewErrParamRequired("Name"))
15521	}
15522	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
15523		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
15524	}
15525	if s.OutputLocation != nil {
15526		if err := s.OutputLocation.Validate(); err != nil {
15527			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
15528		}
15529	}
15530	if s.Targets != nil {
15531		for i, v := range s.Targets {
15532			if v == nil {
15533				continue
15534			}
15535			if err := v.Validate(); err != nil {
15536				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
15537			}
15538		}
15539	}
15540
15541	if invalidParams.Len() > 0 {
15542		return invalidParams
15543	}
15544	return nil
15545}
15546
15547// SetAssociationName sets the AssociationName field's value.
15548func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput {
15549	s.AssociationName = &v
15550	return s
15551}
15552
15553// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
15554func (s *CreateAssociationInput) SetAutomationTargetParameterName(v string) *CreateAssociationInput {
15555	s.AutomationTargetParameterName = &v
15556	return s
15557}
15558
15559// SetComplianceSeverity sets the ComplianceSeverity field's value.
15560func (s *CreateAssociationInput) SetComplianceSeverity(v string) *CreateAssociationInput {
15561	s.ComplianceSeverity = &v
15562	return s
15563}
15564
15565// SetDocumentVersion sets the DocumentVersion field's value.
15566func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput {
15567	s.DocumentVersion = &v
15568	return s
15569}
15570
15571// SetInstanceId sets the InstanceId field's value.
15572func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput {
15573	s.InstanceId = &v
15574	return s
15575}
15576
15577// SetMaxConcurrency sets the MaxConcurrency field's value.
15578func (s *CreateAssociationInput) SetMaxConcurrency(v string) *CreateAssociationInput {
15579	s.MaxConcurrency = &v
15580	return s
15581}
15582
15583// SetMaxErrors sets the MaxErrors field's value.
15584func (s *CreateAssociationInput) SetMaxErrors(v string) *CreateAssociationInput {
15585	s.MaxErrors = &v
15586	return s
15587}
15588
15589// SetName sets the Name field's value.
15590func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput {
15591	s.Name = &v
15592	return s
15593}
15594
15595// SetOutputLocation sets the OutputLocation field's value.
15596func (s *CreateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationInput {
15597	s.OutputLocation = v
15598	return s
15599}
15600
15601// SetParameters sets the Parameters field's value.
15602func (s *CreateAssociationInput) SetParameters(v map[string][]*string) *CreateAssociationInput {
15603	s.Parameters = v
15604	return s
15605}
15606
15607// SetScheduleExpression sets the ScheduleExpression field's value.
15608func (s *CreateAssociationInput) SetScheduleExpression(v string) *CreateAssociationInput {
15609	s.ScheduleExpression = &v
15610	return s
15611}
15612
15613// SetTargets sets the Targets field's value.
15614func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput {
15615	s.Targets = v
15616	return s
15617}
15618
15619type CreateAssociationOutput struct {
15620	_ struct{} `type:"structure"`
15621
15622	// Information about the association.
15623	AssociationDescription *AssociationDescription `type:"structure"`
15624}
15625
15626// String returns the string representation
15627func (s CreateAssociationOutput) String() string {
15628	return awsutil.Prettify(s)
15629}
15630
15631// GoString returns the string representation
15632func (s CreateAssociationOutput) GoString() string {
15633	return s.String()
15634}
15635
15636// SetAssociationDescription sets the AssociationDescription field's value.
15637func (s *CreateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *CreateAssociationOutput {
15638	s.AssociationDescription = v
15639	return s
15640}
15641
15642type CreateDocumentInput struct {
15643	_ struct{} `type:"structure"`
15644
15645	// A list of key and value pairs that describe attachments to a version of a
15646	// document.
15647	Attachments []*AttachmentsSource `type:"list"`
15648
15649	// A valid JSON or YAML string.
15650	//
15651	// Content is a required field
15652	Content *string `min:"1" type:"string" required:"true"`
15653
15654	// Specify the document format for the request. The document format can be either
15655	// JSON or YAML. JSON is the default format.
15656	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
15657
15658	// The type of document to create. Valid document types include: Command, Policy,
15659	// Automation, Session, and Package.
15660	DocumentType *string `type:"string" enum:"DocumentType"`
15661
15662	// A name for the Systems Manager document.
15663	//
15664	// Do not use the following to begin the names of documents you create. They
15665	// are reserved by AWS for use as document prefixes:
15666	//
15667	//    * aws
15668	//
15669	//    * amazon
15670	//
15671	//    * amzn
15672	//
15673	// Name is a required field
15674	Name *string `type:"string" required:"true"`
15675
15676	// Optional metadata that you assign to a resource. Tags enable you to categorize
15677	// a resource in different ways, such as by purpose, owner, or environment.
15678	// For example, you might want to tag an SSM document to identify the types
15679	// of targets or the environment where it will run. In this case, you could
15680	// specify the following key name/value pairs:
15681	//
15682	//    * Key=OS,Value=Windows
15683	//
15684	//    * Key=Environment,Value=Production
15685	//
15686	// To add tags to an existing SSM document, use the AddTagsToResource action.
15687	Tags []*Tag `type:"list"`
15688
15689	// Specify a target type to define the kinds of resources the document can run
15690	// on. For example, to run a document on EC2 instances, specify the following
15691	// value: /AWS::EC2::Instance. If you specify a value of '/' the document can
15692	// run on all types of resources. If you don't specify a value, the document
15693	// can't run on any resources. For a list of valid resource types, see AWS Resource
15694	// Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
15695	// in the AWS CloudFormation User Guide.
15696	TargetType *string `type:"string"`
15697
15698	// An optional field specifying the version of the artifact you are creating
15699	// with the document. For example, "Release 12, Update 6". This value is unique
15700	// across all versions of a document, and cannot be changed.
15701	VersionName *string `type:"string"`
15702}
15703
15704// String returns the string representation
15705func (s CreateDocumentInput) String() string {
15706	return awsutil.Prettify(s)
15707}
15708
15709// GoString returns the string representation
15710func (s CreateDocumentInput) GoString() string {
15711	return s.String()
15712}
15713
15714// Validate inspects the fields of the type to determine if they are valid.
15715func (s *CreateDocumentInput) Validate() error {
15716	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"}
15717	if s.Content == nil {
15718		invalidParams.Add(request.NewErrParamRequired("Content"))
15719	}
15720	if s.Content != nil && len(*s.Content) < 1 {
15721		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
15722	}
15723	if s.Name == nil {
15724		invalidParams.Add(request.NewErrParamRequired("Name"))
15725	}
15726	if s.Attachments != nil {
15727		for i, v := range s.Attachments {
15728			if v == nil {
15729				continue
15730			}
15731			if err := v.Validate(); err != nil {
15732				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
15733			}
15734		}
15735	}
15736	if s.Tags != nil {
15737		for i, v := range s.Tags {
15738			if v == nil {
15739				continue
15740			}
15741			if err := v.Validate(); err != nil {
15742				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15743			}
15744		}
15745	}
15746
15747	if invalidParams.Len() > 0 {
15748		return invalidParams
15749	}
15750	return nil
15751}
15752
15753// SetAttachments sets the Attachments field's value.
15754func (s *CreateDocumentInput) SetAttachments(v []*AttachmentsSource) *CreateDocumentInput {
15755	s.Attachments = v
15756	return s
15757}
15758
15759// SetContent sets the Content field's value.
15760func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput {
15761	s.Content = &v
15762	return s
15763}
15764
15765// SetDocumentFormat sets the DocumentFormat field's value.
15766func (s *CreateDocumentInput) SetDocumentFormat(v string) *CreateDocumentInput {
15767	s.DocumentFormat = &v
15768	return s
15769}
15770
15771// SetDocumentType sets the DocumentType field's value.
15772func (s *CreateDocumentInput) SetDocumentType(v string) *CreateDocumentInput {
15773	s.DocumentType = &v
15774	return s
15775}
15776
15777// SetName sets the Name field's value.
15778func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput {
15779	s.Name = &v
15780	return s
15781}
15782
15783// SetTags sets the Tags field's value.
15784func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput {
15785	s.Tags = v
15786	return s
15787}
15788
15789// SetTargetType sets the TargetType field's value.
15790func (s *CreateDocumentInput) SetTargetType(v string) *CreateDocumentInput {
15791	s.TargetType = &v
15792	return s
15793}
15794
15795// SetVersionName sets the VersionName field's value.
15796func (s *CreateDocumentInput) SetVersionName(v string) *CreateDocumentInput {
15797	s.VersionName = &v
15798	return s
15799}
15800
15801type CreateDocumentOutput struct {
15802	_ struct{} `type:"structure"`
15803
15804	// Information about the Systems Manager document.
15805	DocumentDescription *DocumentDescription `type:"structure"`
15806}
15807
15808// String returns the string representation
15809func (s CreateDocumentOutput) String() string {
15810	return awsutil.Prettify(s)
15811}
15812
15813// GoString returns the string representation
15814func (s CreateDocumentOutput) GoString() string {
15815	return s.String()
15816}
15817
15818// SetDocumentDescription sets the DocumentDescription field's value.
15819func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *CreateDocumentOutput {
15820	s.DocumentDescription = v
15821	return s
15822}
15823
15824type CreateMaintenanceWindowInput struct {
15825	_ struct{} `type:"structure"`
15826
15827	// Enables a maintenance window task to run on managed instances, even if you
15828	// have not registered those instances as targets. If enabled, then you must
15829	// specify the unregistered instances (by instance ID) when you register a task
15830	// with the maintenance window.
15831	//
15832	// If you don't enable this option, then you must specify previously-registered
15833	// targets when you register a task with the maintenance window.
15834	//
15835	// AllowUnassociatedTargets is a required field
15836	AllowUnassociatedTargets *bool `type:"boolean" required:"true"`
15837
15838	// User-provided idempotency token.
15839	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
15840
15841	// The number of hours before the end of the maintenance window that Systems
15842	// Manager stops scheduling new tasks for execution.
15843	//
15844	// Cutoff is a required field
15845	Cutoff *int64 `type:"integer" required:"true"`
15846
15847	// An optional description for the maintenance window. We recommend specifying
15848	// a description to help you organize your maintenance windows.
15849	Description *string `min:"1" type:"string" sensitive:"true"`
15850
15851	// The duration of the maintenance window in hours.
15852	//
15853	// Duration is a required field
15854	Duration *int64 `min:"1" type:"integer" required:"true"`
15855
15856	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
15857	// window to become inactive. EndDate allows you to set a date and time in the
15858	// future when the maintenance window will no longer run.
15859	EndDate *string `type:"string"`
15860
15861	// The name of the maintenance window.
15862	//
15863	// Name is a required field
15864	Name *string `min:"3" type:"string" required:"true"`
15865
15866	// The schedule of the maintenance window in the form of a cron or rate expression.
15867	//
15868	// Schedule is a required field
15869	Schedule *string `min:"1" type:"string" required:"true"`
15870
15871	// The time zone that the scheduled maintenance window executions are based
15872	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
15873	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
15874	// (https://www.iana.org/time-zones) on the IANA website.
15875	ScheduleTimezone *string `type:"string"`
15876
15877	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
15878	// window to become active. StartDate allows you to delay activation of the
15879	// maintenance window until the specified future date.
15880	StartDate *string `type:"string"`
15881
15882	// Optional metadata that you assign to a resource. Tags enable you to categorize
15883	// a resource in different ways, such as by purpose, owner, or environment.
15884	// For example, you might want to tag a maintenance window to identify the type
15885	// of tasks it will run, the types of targets, and the environment it will run
15886	// in. In this case, you could specify the following key name/value pairs:
15887	//
15888	//    * Key=TaskType,Value=AgentUpdate
15889	//
15890	//    * Key=OS,Value=Windows
15891	//
15892	//    * Key=Environment,Value=Production
15893	//
15894	// To add tags to an existing maintenance window, use the AddTagsToResource
15895	// action.
15896	Tags []*Tag `type:"list"`
15897}
15898
15899// String returns the string representation
15900func (s CreateMaintenanceWindowInput) String() string {
15901	return awsutil.Prettify(s)
15902}
15903
15904// GoString returns the string representation
15905func (s CreateMaintenanceWindowInput) GoString() string {
15906	return s.String()
15907}
15908
15909// Validate inspects the fields of the type to determine if they are valid.
15910func (s *CreateMaintenanceWindowInput) Validate() error {
15911	invalidParams := request.ErrInvalidParams{Context: "CreateMaintenanceWindowInput"}
15912	if s.AllowUnassociatedTargets == nil {
15913		invalidParams.Add(request.NewErrParamRequired("AllowUnassociatedTargets"))
15914	}
15915	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
15916		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
15917	}
15918	if s.Cutoff == nil {
15919		invalidParams.Add(request.NewErrParamRequired("Cutoff"))
15920	}
15921	if s.Description != nil && len(*s.Description) < 1 {
15922		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
15923	}
15924	if s.Duration == nil {
15925		invalidParams.Add(request.NewErrParamRequired("Duration"))
15926	}
15927	if s.Duration != nil && *s.Duration < 1 {
15928		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
15929	}
15930	if s.Name == nil {
15931		invalidParams.Add(request.NewErrParamRequired("Name"))
15932	}
15933	if s.Name != nil && len(*s.Name) < 3 {
15934		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
15935	}
15936	if s.Schedule == nil {
15937		invalidParams.Add(request.NewErrParamRequired("Schedule"))
15938	}
15939	if s.Schedule != nil && len(*s.Schedule) < 1 {
15940		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
15941	}
15942	if s.Tags != nil {
15943		for i, v := range s.Tags {
15944			if v == nil {
15945				continue
15946			}
15947			if err := v.Validate(); err != nil {
15948				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15949			}
15950		}
15951	}
15952
15953	if invalidParams.Len() > 0 {
15954		return invalidParams
15955	}
15956	return nil
15957}
15958
15959// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
15960func (s *CreateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *CreateMaintenanceWindowInput {
15961	s.AllowUnassociatedTargets = &v
15962	return s
15963}
15964
15965// SetClientToken sets the ClientToken field's value.
15966func (s *CreateMaintenanceWindowInput) SetClientToken(v string) *CreateMaintenanceWindowInput {
15967	s.ClientToken = &v
15968	return s
15969}
15970
15971// SetCutoff sets the Cutoff field's value.
15972func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWindowInput {
15973	s.Cutoff = &v
15974	return s
15975}
15976
15977// SetDescription sets the Description field's value.
15978func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput {
15979	s.Description = &v
15980	return s
15981}
15982
15983// SetDuration sets the Duration field's value.
15984func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput {
15985	s.Duration = &v
15986	return s
15987}
15988
15989// SetEndDate sets the EndDate field's value.
15990func (s *CreateMaintenanceWindowInput) SetEndDate(v string) *CreateMaintenanceWindowInput {
15991	s.EndDate = &v
15992	return s
15993}
15994
15995// SetName sets the Name field's value.
15996func (s *CreateMaintenanceWindowInput) SetName(v string) *CreateMaintenanceWindowInput {
15997	s.Name = &v
15998	return s
15999}
16000
16001// SetSchedule sets the Schedule field's value.
16002func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceWindowInput {
16003	s.Schedule = &v
16004	return s
16005}
16006
16007// SetScheduleTimezone sets the ScheduleTimezone field's value.
16008func (s *CreateMaintenanceWindowInput) SetScheduleTimezone(v string) *CreateMaintenanceWindowInput {
16009	s.ScheduleTimezone = &v
16010	return s
16011}
16012
16013// SetStartDate sets the StartDate field's value.
16014func (s *CreateMaintenanceWindowInput) SetStartDate(v string) *CreateMaintenanceWindowInput {
16015	s.StartDate = &v
16016	return s
16017}
16018
16019// SetTags sets the Tags field's value.
16020func (s *CreateMaintenanceWindowInput) SetTags(v []*Tag) *CreateMaintenanceWindowInput {
16021	s.Tags = v
16022	return s
16023}
16024
16025type CreateMaintenanceWindowOutput struct {
16026	_ struct{} `type:"structure"`
16027
16028	// The ID of the created maintenance window.
16029	WindowId *string `min:"20" type:"string"`
16030}
16031
16032// String returns the string representation
16033func (s CreateMaintenanceWindowOutput) String() string {
16034	return awsutil.Prettify(s)
16035}
16036
16037// GoString returns the string representation
16038func (s CreateMaintenanceWindowOutput) GoString() string {
16039	return s.String()
16040}
16041
16042// SetWindowId sets the WindowId field's value.
16043func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenanceWindowOutput {
16044	s.WindowId = &v
16045	return s
16046}
16047
16048type CreateOpsItemInput struct {
16049	_ struct{} `type:"structure"`
16050
16051	// Information about the OpsItem.
16052	//
16053	// Description is a required field
16054	Description *string `min:"1" type:"string" required:"true"`
16055
16056	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
16057	// when this OpsItem is edited or changed.
16058	Notifications []*OpsItemNotification `type:"list"`
16059
16060	// Operational data is custom data that provides useful reference details about
16061	// the OpsItem. For example, you can specify log files, error strings, license
16062	// keys, troubleshooting tips, or other relevant data. You enter operational
16063	// data as key-value pairs. The key has a maximum length of 128 characters.
16064	// The value has a maximum size of 20 KB.
16065	//
16066	// Operational data keys can't begin with the following: amazon, aws, amzn,
16067	// ssm, /amazon, /aws, /amzn, /ssm.
16068	//
16069	// You can choose to make the data searchable by other users in the account
16070	// or you can restrict search access. Searchable data means that all users with
16071	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
16072	// API action) can view and search on the specified data. Operational data that
16073	// is not searchable is only viewable by users who have access to the OpsItem
16074	// (as provided by the GetOpsItem API action).
16075	//
16076	// Use the /aws/resources key in OperationalData to specify a related resource
16077	// in the request. Use the /aws/automations key in OperationalData to associate
16078	// an Automation runbook with the OpsItem. To view AWS CLI example commands
16079	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
16080	// in the AWS Systems Manager User Guide.
16081	OperationalData map[string]*OpsItemDataValue `type:"map"`
16082
16083	// The importance of this OpsItem in relation to other OpsItems in the system.
16084	Priority *int64 `min:"1" type:"integer"`
16085
16086	// One or more OpsItems that share something in common with the current OpsItems.
16087	// For example, related OpsItems can include OpsItems with similar error messages,
16088	// impacted resources, or statuses for the impacted resource.
16089	RelatedOpsItems []*RelatedOpsItem `type:"list"`
16090
16091	// The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager.
16092	//
16093	// Source is a required field
16094	Source *string `min:"1" type:"string" required:"true"`
16095
16096	// Optional metadata that you assign to a resource. You can restrict access
16097	// to OpsItems by using an inline IAM policy that specifies tags. For more information,
16098	// see Getting Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html#OpsCenter-getting-started-user-permissions)
16099	// in the AWS Systems Manager User Guide.
16100	//
16101	// Tags use a key-value pair. For example:
16102	//
16103	// Key=Department,Value=Finance
16104	//
16105	// To add tags to an existing OpsItem, use the AddTagsToResource action.
16106	Tags []*Tag `type:"list"`
16107
16108	// A short heading that describes the nature of the OpsItem and the impacted
16109	// resource.
16110	//
16111	// Title is a required field
16112	Title *string `min:"1" type:"string" required:"true"`
16113}
16114
16115// String returns the string representation
16116func (s CreateOpsItemInput) String() string {
16117	return awsutil.Prettify(s)
16118}
16119
16120// GoString returns the string representation
16121func (s CreateOpsItemInput) GoString() string {
16122	return s.String()
16123}
16124
16125// Validate inspects the fields of the type to determine if they are valid.
16126func (s *CreateOpsItemInput) Validate() error {
16127	invalidParams := request.ErrInvalidParams{Context: "CreateOpsItemInput"}
16128	if s.Description == nil {
16129		invalidParams.Add(request.NewErrParamRequired("Description"))
16130	}
16131	if s.Description != nil && len(*s.Description) < 1 {
16132		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
16133	}
16134	if s.Priority != nil && *s.Priority < 1 {
16135		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
16136	}
16137	if s.Source == nil {
16138		invalidParams.Add(request.NewErrParamRequired("Source"))
16139	}
16140	if s.Source != nil && len(*s.Source) < 1 {
16141		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
16142	}
16143	if s.Title == nil {
16144		invalidParams.Add(request.NewErrParamRequired("Title"))
16145	}
16146	if s.Title != nil && len(*s.Title) < 1 {
16147		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
16148	}
16149	if s.RelatedOpsItems != nil {
16150		for i, v := range s.RelatedOpsItems {
16151			if v == nil {
16152				continue
16153			}
16154			if err := v.Validate(); err != nil {
16155				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
16156			}
16157		}
16158	}
16159	if s.Tags != nil {
16160		for i, v := range s.Tags {
16161			if v == nil {
16162				continue
16163			}
16164			if err := v.Validate(); err != nil {
16165				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16166			}
16167		}
16168	}
16169
16170	if invalidParams.Len() > 0 {
16171		return invalidParams
16172	}
16173	return nil
16174}
16175
16176// SetDescription sets the Description field's value.
16177func (s *CreateOpsItemInput) SetDescription(v string) *CreateOpsItemInput {
16178	s.Description = &v
16179	return s
16180}
16181
16182// SetNotifications sets the Notifications field's value.
16183func (s *CreateOpsItemInput) SetNotifications(v []*OpsItemNotification) *CreateOpsItemInput {
16184	s.Notifications = v
16185	return s
16186}
16187
16188// SetOperationalData sets the OperationalData field's value.
16189func (s *CreateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *CreateOpsItemInput {
16190	s.OperationalData = v
16191	return s
16192}
16193
16194// SetPriority sets the Priority field's value.
16195func (s *CreateOpsItemInput) SetPriority(v int64) *CreateOpsItemInput {
16196	s.Priority = &v
16197	return s
16198}
16199
16200// SetRelatedOpsItems sets the RelatedOpsItems field's value.
16201func (s *CreateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *CreateOpsItemInput {
16202	s.RelatedOpsItems = v
16203	return s
16204}
16205
16206// SetSource sets the Source field's value.
16207func (s *CreateOpsItemInput) SetSource(v string) *CreateOpsItemInput {
16208	s.Source = &v
16209	return s
16210}
16211
16212// SetTags sets the Tags field's value.
16213func (s *CreateOpsItemInput) SetTags(v []*Tag) *CreateOpsItemInput {
16214	s.Tags = v
16215	return s
16216}
16217
16218// SetTitle sets the Title field's value.
16219func (s *CreateOpsItemInput) SetTitle(v string) *CreateOpsItemInput {
16220	s.Title = &v
16221	return s
16222}
16223
16224type CreateOpsItemOutput struct {
16225	_ struct{} `type:"structure"`
16226
16227	// The ID of the OpsItem.
16228	OpsItemId *string `type:"string"`
16229}
16230
16231// String returns the string representation
16232func (s CreateOpsItemOutput) String() string {
16233	return awsutil.Prettify(s)
16234}
16235
16236// GoString returns the string representation
16237func (s CreateOpsItemOutput) GoString() string {
16238	return s.String()
16239}
16240
16241// SetOpsItemId sets the OpsItemId field's value.
16242func (s *CreateOpsItemOutput) SetOpsItemId(v string) *CreateOpsItemOutput {
16243	s.OpsItemId = &v
16244	return s
16245}
16246
16247type CreatePatchBaselineInput struct {
16248	_ struct{} `type:"structure"`
16249
16250	// A set of rules used to include patches in the baseline.
16251	ApprovalRules *PatchRuleGroup `type:"structure"`
16252
16253	// A list of explicitly approved patches for the baseline.
16254	//
16255	// For information about accepted formats for lists of approved patches and
16256	// rejected patches, see Package Name Formats for Approved and Rejected Patch
16257	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
16258	// in the AWS Systems Manager User Guide.
16259	ApprovedPatches []*string `type:"list"`
16260
16261	// Defines the compliance level for approved patches. This means that if an
16262	// approved patch is reported as missing, this is the severity of the compliance
16263	// violation. The default value is UNSPECIFIED.
16264	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
16265
16266	// Indicates whether the list of approved patches includes non-security updates
16267	// that should be applied to the instances. The default value is 'false'. Applies
16268	// to Linux instances only.
16269	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
16270
16271	// User-provided idempotency token.
16272	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
16273
16274	// A description of the patch baseline.
16275	Description *string `min:"1" type:"string"`
16276
16277	// A set of global filters used to include patches in the baseline.
16278	GlobalFilters *PatchFilterGroup `type:"structure"`
16279
16280	// The name of the patch baseline.
16281	//
16282	// Name is a required field
16283	Name *string `min:"3" type:"string" required:"true"`
16284
16285	// Defines the operating system the patch baseline applies to. The Default value
16286	// is WINDOWS.
16287	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
16288
16289	// A list of explicitly rejected patches for the baseline.
16290	//
16291	// For information about accepted formats for lists of approved patches and
16292	// rejected patches, see Package Name Formats for Approved and Rejected Patch
16293	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
16294	// in the AWS Systems Manager User Guide.
16295	RejectedPatches []*string `type:"list"`
16296
16297	// The action for Patch Manager to take on patches included in the RejectedPackages
16298	// list.
16299	//
16300	//    * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed
16301	//    only if it is a dependency of another package. It is considered compliant
16302	//    with the patch baseline, and its status is reported as InstalledOther.
16303	//    This is the default action if no option is specified.
16304	//
16305	//    * BLOCK: Packages in the RejectedPatches list, and packages that include
16306	//    them as dependencies, are not installed under any circumstances. If a
16307	//    package was installed before it was added to the Rejected patches list,
16308	//    it is considered non-compliant with the patch baseline, and its status
16309	//    is reported as InstalledRejected.
16310	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
16311
16312	// Information about the patches to use to update the instances, including target
16313	// operating systems and source repositories. Applies to Linux instances only.
16314	Sources []*PatchSource `type:"list"`
16315
16316	// Optional metadata that you assign to a resource. Tags enable you to categorize
16317	// a resource in different ways, such as by purpose, owner, or environment.
16318	// For example, you might want to tag a patch baseline to identify the severity
16319	// level of patches it specifies and the operating system family it applies
16320	// to. In this case, you could specify the following key name/value pairs:
16321	//
16322	//    * Key=PatchSeverity,Value=Critical
16323	//
16324	//    * Key=OS,Value=Windows
16325	//
16326	// To add tags to an existing patch baseline, use the AddTagsToResource action.
16327	Tags []*Tag `type:"list"`
16328}
16329
16330// String returns the string representation
16331func (s CreatePatchBaselineInput) String() string {
16332	return awsutil.Prettify(s)
16333}
16334
16335// GoString returns the string representation
16336func (s CreatePatchBaselineInput) GoString() string {
16337	return s.String()
16338}
16339
16340// Validate inspects the fields of the type to determine if they are valid.
16341func (s *CreatePatchBaselineInput) Validate() error {
16342	invalidParams := request.ErrInvalidParams{Context: "CreatePatchBaselineInput"}
16343	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
16344		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
16345	}
16346	if s.Description != nil && len(*s.Description) < 1 {
16347		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
16348	}
16349	if s.Name == nil {
16350		invalidParams.Add(request.NewErrParamRequired("Name"))
16351	}
16352	if s.Name != nil && len(*s.Name) < 3 {
16353		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
16354	}
16355	if s.ApprovalRules != nil {
16356		if err := s.ApprovalRules.Validate(); err != nil {
16357			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
16358		}
16359	}
16360	if s.GlobalFilters != nil {
16361		if err := s.GlobalFilters.Validate(); err != nil {
16362			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
16363		}
16364	}
16365	if s.Sources != nil {
16366		for i, v := range s.Sources {
16367			if v == nil {
16368				continue
16369			}
16370			if err := v.Validate(); err != nil {
16371				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
16372			}
16373		}
16374	}
16375	if s.Tags != nil {
16376		for i, v := range s.Tags {
16377			if v == nil {
16378				continue
16379			}
16380			if err := v.Validate(); err != nil {
16381				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16382			}
16383		}
16384	}
16385
16386	if invalidParams.Len() > 0 {
16387		return invalidParams
16388	}
16389	return nil
16390}
16391
16392// SetApprovalRules sets the ApprovalRules field's value.
16393func (s *CreatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *CreatePatchBaselineInput {
16394	s.ApprovalRules = v
16395	return s
16396}
16397
16398// SetApprovedPatches sets the ApprovedPatches field's value.
16399func (s *CreatePatchBaselineInput) SetApprovedPatches(v []*string) *CreatePatchBaselineInput {
16400	s.ApprovedPatches = v
16401	return s
16402}
16403
16404// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
16405func (s *CreatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *CreatePatchBaselineInput {
16406	s.ApprovedPatchesComplianceLevel = &v
16407	return s
16408}
16409
16410// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
16411func (s *CreatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *CreatePatchBaselineInput {
16412	s.ApprovedPatchesEnableNonSecurity = &v
16413	return s
16414}
16415
16416// SetClientToken sets the ClientToken field's value.
16417func (s *CreatePatchBaselineInput) SetClientToken(v string) *CreatePatchBaselineInput {
16418	s.ClientToken = &v
16419	return s
16420}
16421
16422// SetDescription sets the Description field's value.
16423func (s *CreatePatchBaselineInput) SetDescription(v string) *CreatePatchBaselineInput {
16424	s.Description = &v
16425	return s
16426}
16427
16428// SetGlobalFilters sets the GlobalFilters field's value.
16429func (s *CreatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *CreatePatchBaselineInput {
16430	s.GlobalFilters = v
16431	return s
16432}
16433
16434// SetName sets the Name field's value.
16435func (s *CreatePatchBaselineInput) SetName(v string) *CreatePatchBaselineInput {
16436	s.Name = &v
16437	return s
16438}
16439
16440// SetOperatingSystem sets the OperatingSystem field's value.
16441func (s *CreatePatchBaselineInput) SetOperatingSystem(v string) *CreatePatchBaselineInput {
16442	s.OperatingSystem = &v
16443	return s
16444}
16445
16446// SetRejectedPatches sets the RejectedPatches field's value.
16447func (s *CreatePatchBaselineInput) SetRejectedPatches(v []*string) *CreatePatchBaselineInput {
16448	s.RejectedPatches = v
16449	return s
16450}
16451
16452// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
16453func (s *CreatePatchBaselineInput) SetRejectedPatchesAction(v string) *CreatePatchBaselineInput {
16454	s.RejectedPatchesAction = &v
16455	return s
16456}
16457
16458// SetSources sets the Sources field's value.
16459func (s *CreatePatchBaselineInput) SetSources(v []*PatchSource) *CreatePatchBaselineInput {
16460	s.Sources = v
16461	return s
16462}
16463
16464// SetTags sets the Tags field's value.
16465func (s *CreatePatchBaselineInput) SetTags(v []*Tag) *CreatePatchBaselineInput {
16466	s.Tags = v
16467	return s
16468}
16469
16470type CreatePatchBaselineOutput struct {
16471	_ struct{} `type:"structure"`
16472
16473	// The ID of the created patch baseline.
16474	BaselineId *string `min:"20" type:"string"`
16475}
16476
16477// String returns the string representation
16478func (s CreatePatchBaselineOutput) String() string {
16479	return awsutil.Prettify(s)
16480}
16481
16482// GoString returns the string representation
16483func (s CreatePatchBaselineOutput) GoString() string {
16484	return s.String()
16485}
16486
16487// SetBaselineId sets the BaselineId field's value.
16488func (s *CreatePatchBaselineOutput) SetBaselineId(v string) *CreatePatchBaselineOutput {
16489	s.BaselineId = &v
16490	return s
16491}
16492
16493type CreateResourceDataSyncInput struct {
16494	_ struct{} `type:"structure"`
16495
16496	// Amazon S3 configuration details for the sync.
16497	//
16498	// S3Destination is a required field
16499	S3Destination *ResourceDataSyncS3Destination `type:"structure" required:"true"`
16500
16501	// A name for the configuration.
16502	//
16503	// SyncName is a required field
16504	SyncName *string `min:"1" type:"string" required:"true"`
16505}
16506
16507// String returns the string representation
16508func (s CreateResourceDataSyncInput) String() string {
16509	return awsutil.Prettify(s)
16510}
16511
16512// GoString returns the string representation
16513func (s CreateResourceDataSyncInput) GoString() string {
16514	return s.String()
16515}
16516
16517// Validate inspects the fields of the type to determine if they are valid.
16518func (s *CreateResourceDataSyncInput) Validate() error {
16519	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDataSyncInput"}
16520	if s.S3Destination == nil {
16521		invalidParams.Add(request.NewErrParamRequired("S3Destination"))
16522	}
16523	if s.SyncName == nil {
16524		invalidParams.Add(request.NewErrParamRequired("SyncName"))
16525	}
16526	if s.SyncName != nil && len(*s.SyncName) < 1 {
16527		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
16528	}
16529	if s.S3Destination != nil {
16530		if err := s.S3Destination.Validate(); err != nil {
16531			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
16532		}
16533	}
16534
16535	if invalidParams.Len() > 0 {
16536		return invalidParams
16537	}
16538	return nil
16539}
16540
16541// SetS3Destination sets the S3Destination field's value.
16542func (s *CreateResourceDataSyncInput) SetS3Destination(v *ResourceDataSyncS3Destination) *CreateResourceDataSyncInput {
16543	s.S3Destination = v
16544	return s
16545}
16546
16547// SetSyncName sets the SyncName field's value.
16548func (s *CreateResourceDataSyncInput) SetSyncName(v string) *CreateResourceDataSyncInput {
16549	s.SyncName = &v
16550	return s
16551}
16552
16553type CreateResourceDataSyncOutput struct {
16554	_ struct{} `type:"structure"`
16555}
16556
16557// String returns the string representation
16558func (s CreateResourceDataSyncOutput) String() string {
16559	return awsutil.Prettify(s)
16560}
16561
16562// GoString returns the string representation
16563func (s CreateResourceDataSyncOutput) GoString() string {
16564	return s.String()
16565}
16566
16567type DeleteActivationInput struct {
16568	_ struct{} `type:"structure"`
16569
16570	// The ID of the activation that you want to delete.
16571	//
16572	// ActivationId is a required field
16573	ActivationId *string `type:"string" required:"true"`
16574}
16575
16576// String returns the string representation
16577func (s DeleteActivationInput) String() string {
16578	return awsutil.Prettify(s)
16579}
16580
16581// GoString returns the string representation
16582func (s DeleteActivationInput) GoString() string {
16583	return s.String()
16584}
16585
16586// Validate inspects the fields of the type to determine if they are valid.
16587func (s *DeleteActivationInput) Validate() error {
16588	invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"}
16589	if s.ActivationId == nil {
16590		invalidParams.Add(request.NewErrParamRequired("ActivationId"))
16591	}
16592
16593	if invalidParams.Len() > 0 {
16594		return invalidParams
16595	}
16596	return nil
16597}
16598
16599// SetActivationId sets the ActivationId field's value.
16600func (s *DeleteActivationInput) SetActivationId(v string) *DeleteActivationInput {
16601	s.ActivationId = &v
16602	return s
16603}
16604
16605type DeleteActivationOutput struct {
16606	_ struct{} `type:"structure"`
16607}
16608
16609// String returns the string representation
16610func (s DeleteActivationOutput) String() string {
16611	return awsutil.Prettify(s)
16612}
16613
16614// GoString returns the string representation
16615func (s DeleteActivationOutput) GoString() string {
16616	return s.String()
16617}
16618
16619type DeleteAssociationInput struct {
16620	_ struct{} `type:"structure"`
16621
16622	// The association ID that you want to delete.
16623	AssociationId *string `type:"string"`
16624
16625	// The ID of the instance.
16626	InstanceId *string `type:"string"`
16627
16628	// The name of the Systems Manager document.
16629	Name *string `type:"string"`
16630}
16631
16632// String returns the string representation
16633func (s DeleteAssociationInput) String() string {
16634	return awsutil.Prettify(s)
16635}
16636
16637// GoString returns the string representation
16638func (s DeleteAssociationInput) GoString() string {
16639	return s.String()
16640}
16641
16642// SetAssociationId sets the AssociationId field's value.
16643func (s *DeleteAssociationInput) SetAssociationId(v string) *DeleteAssociationInput {
16644	s.AssociationId = &v
16645	return s
16646}
16647
16648// SetInstanceId sets the InstanceId field's value.
16649func (s *DeleteAssociationInput) SetInstanceId(v string) *DeleteAssociationInput {
16650	s.InstanceId = &v
16651	return s
16652}
16653
16654// SetName sets the Name field's value.
16655func (s *DeleteAssociationInput) SetName(v string) *DeleteAssociationInput {
16656	s.Name = &v
16657	return s
16658}
16659
16660type DeleteAssociationOutput struct {
16661	_ struct{} `type:"structure"`
16662}
16663
16664// String returns the string representation
16665func (s DeleteAssociationOutput) String() string {
16666	return awsutil.Prettify(s)
16667}
16668
16669// GoString returns the string representation
16670func (s DeleteAssociationOutput) GoString() string {
16671	return s.String()
16672}
16673
16674type DeleteDocumentInput struct {
16675	_ struct{} `type:"structure"`
16676
16677	// The version of the document that you want to delete. If not provided, all
16678	// versions of the document are deleted.
16679	DocumentVersion *string `type:"string"`
16680
16681	// The name of the document.
16682	//
16683	// Name is a required field
16684	Name *string `type:"string" required:"true"`
16685
16686	// The version name of the document that you want to delete. If not provided,
16687	// all versions of the document are deleted.
16688	VersionName *string `type:"string"`
16689}
16690
16691// String returns the string representation
16692func (s DeleteDocumentInput) String() string {
16693	return awsutil.Prettify(s)
16694}
16695
16696// GoString returns the string representation
16697func (s DeleteDocumentInput) GoString() string {
16698	return s.String()
16699}
16700
16701// Validate inspects the fields of the type to determine if they are valid.
16702func (s *DeleteDocumentInput) Validate() error {
16703	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
16704	if s.Name == nil {
16705		invalidParams.Add(request.NewErrParamRequired("Name"))
16706	}
16707
16708	if invalidParams.Len() > 0 {
16709		return invalidParams
16710	}
16711	return nil
16712}
16713
16714// SetDocumentVersion sets the DocumentVersion field's value.
16715func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput {
16716	s.DocumentVersion = &v
16717	return s
16718}
16719
16720// SetName sets the Name field's value.
16721func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput {
16722	s.Name = &v
16723	return s
16724}
16725
16726// SetVersionName sets the VersionName field's value.
16727func (s *DeleteDocumentInput) SetVersionName(v string) *DeleteDocumentInput {
16728	s.VersionName = &v
16729	return s
16730}
16731
16732type DeleteDocumentOutput struct {
16733	_ struct{} `type:"structure"`
16734}
16735
16736// String returns the string representation
16737func (s DeleteDocumentOutput) String() string {
16738	return awsutil.Prettify(s)
16739}
16740
16741// GoString returns the string representation
16742func (s DeleteDocumentOutput) GoString() string {
16743	return s.String()
16744}
16745
16746type DeleteInventoryInput struct {
16747	_ struct{} `type:"structure"`
16748
16749	// User-provided idempotency token.
16750	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
16751
16752	// Use this option to view a summary of the deletion request without deleting
16753	// any data or the data type. This option is useful when you only want to understand
16754	// what will be deleted. Once you validate that the data to be deleted is what
16755	// you intend to delete, you can run the same command without specifying the
16756	// DryRun option.
16757	DryRun *bool `type:"boolean"`
16758
16759	// Use the SchemaDeleteOption to delete a custom inventory type (schema). If
16760	// you don't choose this option, the system only deletes existing inventory
16761	// data associated with the custom inventory type. Choose one of the following
16762	// options:
16763	//
16764	// DisableSchema: If you choose this option, the system ignores all inventory
16765	// data for the specified version, and any earlier versions. To enable this
16766	// schema again, you must call the PutInventory action for a version greater
16767	// than the disabled version.
16768	//
16769	// DeleteSchema: This option deletes the specified custom type from the Inventory
16770	// service. You can recreate the schema later, if you want.
16771	SchemaDeleteOption *string `type:"string" enum:"InventorySchemaDeleteOption"`
16772
16773	// The name of the custom inventory type for which you want to delete either
16774	// all previously collected data, or the inventory type itself.
16775	//
16776	// TypeName is a required field
16777	TypeName *string `min:"1" type:"string" required:"true"`
16778}
16779
16780// String returns the string representation
16781func (s DeleteInventoryInput) String() string {
16782	return awsutil.Prettify(s)
16783}
16784
16785// GoString returns the string representation
16786func (s DeleteInventoryInput) GoString() string {
16787	return s.String()
16788}
16789
16790// Validate inspects the fields of the type to determine if they are valid.
16791func (s *DeleteInventoryInput) Validate() error {
16792	invalidParams := request.ErrInvalidParams{Context: "DeleteInventoryInput"}
16793	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
16794		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
16795	}
16796	if s.TypeName == nil {
16797		invalidParams.Add(request.NewErrParamRequired("TypeName"))
16798	}
16799	if s.TypeName != nil && len(*s.TypeName) < 1 {
16800		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
16801	}
16802
16803	if invalidParams.Len() > 0 {
16804		return invalidParams
16805	}
16806	return nil
16807}
16808
16809// SetClientToken sets the ClientToken field's value.
16810func (s *DeleteInventoryInput) SetClientToken(v string) *DeleteInventoryInput {
16811	s.ClientToken = &v
16812	return s
16813}
16814
16815// SetDryRun sets the DryRun field's value.
16816func (s *DeleteInventoryInput) SetDryRun(v bool) *DeleteInventoryInput {
16817	s.DryRun = &v
16818	return s
16819}
16820
16821// SetSchemaDeleteOption sets the SchemaDeleteOption field's value.
16822func (s *DeleteInventoryInput) SetSchemaDeleteOption(v string) *DeleteInventoryInput {
16823	s.SchemaDeleteOption = &v
16824	return s
16825}
16826
16827// SetTypeName sets the TypeName field's value.
16828func (s *DeleteInventoryInput) SetTypeName(v string) *DeleteInventoryInput {
16829	s.TypeName = &v
16830	return s
16831}
16832
16833type DeleteInventoryOutput struct {
16834	_ struct{} `type:"structure"`
16835
16836	// Every DeleteInventory action is assigned a unique ID. This option returns
16837	// a unique ID. You can use this ID to query the status of a delete operation.
16838	// This option is useful for ensuring that a delete operation has completed
16839	// before you begin other actions.
16840	DeletionId *string `type:"string"`
16841
16842	// A summary of the delete operation. For more information about this summary,
16843	// see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary)
16844	// in the AWS Systems Manager User Guide.
16845	DeletionSummary *InventoryDeletionSummary `type:"structure"`
16846
16847	// The name of the inventory data type specified in the request.
16848	TypeName *string `min:"1" type:"string"`
16849}
16850
16851// String returns the string representation
16852func (s DeleteInventoryOutput) String() string {
16853	return awsutil.Prettify(s)
16854}
16855
16856// GoString returns the string representation
16857func (s DeleteInventoryOutput) GoString() string {
16858	return s.String()
16859}
16860
16861// SetDeletionId sets the DeletionId field's value.
16862func (s *DeleteInventoryOutput) SetDeletionId(v string) *DeleteInventoryOutput {
16863	s.DeletionId = &v
16864	return s
16865}
16866
16867// SetDeletionSummary sets the DeletionSummary field's value.
16868func (s *DeleteInventoryOutput) SetDeletionSummary(v *InventoryDeletionSummary) *DeleteInventoryOutput {
16869	s.DeletionSummary = v
16870	return s
16871}
16872
16873// SetTypeName sets the TypeName field's value.
16874func (s *DeleteInventoryOutput) SetTypeName(v string) *DeleteInventoryOutput {
16875	s.TypeName = &v
16876	return s
16877}
16878
16879type DeleteMaintenanceWindowInput struct {
16880	_ struct{} `type:"structure"`
16881
16882	// The ID of the maintenance window to delete.
16883	//
16884	// WindowId is a required field
16885	WindowId *string `min:"20" type:"string" required:"true"`
16886}
16887
16888// String returns the string representation
16889func (s DeleteMaintenanceWindowInput) String() string {
16890	return awsutil.Prettify(s)
16891}
16892
16893// GoString returns the string representation
16894func (s DeleteMaintenanceWindowInput) GoString() string {
16895	return s.String()
16896}
16897
16898// Validate inspects the fields of the type to determine if they are valid.
16899func (s *DeleteMaintenanceWindowInput) Validate() error {
16900	invalidParams := request.ErrInvalidParams{Context: "DeleteMaintenanceWindowInput"}
16901	if s.WindowId == nil {
16902		invalidParams.Add(request.NewErrParamRequired("WindowId"))
16903	}
16904	if s.WindowId != nil && len(*s.WindowId) < 20 {
16905		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
16906	}
16907
16908	if invalidParams.Len() > 0 {
16909		return invalidParams
16910	}
16911	return nil
16912}
16913
16914// SetWindowId sets the WindowId field's value.
16915func (s *DeleteMaintenanceWindowInput) SetWindowId(v string) *DeleteMaintenanceWindowInput {
16916	s.WindowId = &v
16917	return s
16918}
16919
16920type DeleteMaintenanceWindowOutput struct {
16921	_ struct{} `type:"structure"`
16922
16923	// The ID of the deleted maintenance window.
16924	WindowId *string `min:"20" type:"string"`
16925}
16926
16927// String returns the string representation
16928func (s DeleteMaintenanceWindowOutput) String() string {
16929	return awsutil.Prettify(s)
16930}
16931
16932// GoString returns the string representation
16933func (s DeleteMaintenanceWindowOutput) GoString() string {
16934	return s.String()
16935}
16936
16937// SetWindowId sets the WindowId field's value.
16938func (s *DeleteMaintenanceWindowOutput) SetWindowId(v string) *DeleteMaintenanceWindowOutput {
16939	s.WindowId = &v
16940	return s
16941}
16942
16943type DeleteParameterInput struct {
16944	_ struct{} `type:"structure"`
16945
16946	// The name of the parameter to delete.
16947	//
16948	// Name is a required field
16949	Name *string `min:"1" type:"string" required:"true"`
16950}
16951
16952// String returns the string representation
16953func (s DeleteParameterInput) String() string {
16954	return awsutil.Prettify(s)
16955}
16956
16957// GoString returns the string representation
16958func (s DeleteParameterInput) GoString() string {
16959	return s.String()
16960}
16961
16962// Validate inspects the fields of the type to determine if they are valid.
16963func (s *DeleteParameterInput) Validate() error {
16964	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterInput"}
16965	if s.Name == nil {
16966		invalidParams.Add(request.NewErrParamRequired("Name"))
16967	}
16968	if s.Name != nil && len(*s.Name) < 1 {
16969		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16970	}
16971
16972	if invalidParams.Len() > 0 {
16973		return invalidParams
16974	}
16975	return nil
16976}
16977
16978// SetName sets the Name field's value.
16979func (s *DeleteParameterInput) SetName(v string) *DeleteParameterInput {
16980	s.Name = &v
16981	return s
16982}
16983
16984type DeleteParameterOutput struct {
16985	_ struct{} `type:"structure"`
16986}
16987
16988// String returns the string representation
16989func (s DeleteParameterOutput) String() string {
16990	return awsutil.Prettify(s)
16991}
16992
16993// GoString returns the string representation
16994func (s DeleteParameterOutput) GoString() string {
16995	return s.String()
16996}
16997
16998type DeleteParametersInput struct {
16999	_ struct{} `type:"structure"`
17000
17001	// The names of the parameters to delete.
17002	//
17003	// Names is a required field
17004	Names []*string `min:"1" type:"list" required:"true"`
17005}
17006
17007// String returns the string representation
17008func (s DeleteParametersInput) String() string {
17009	return awsutil.Prettify(s)
17010}
17011
17012// GoString returns the string representation
17013func (s DeleteParametersInput) GoString() string {
17014	return s.String()
17015}
17016
17017// Validate inspects the fields of the type to determine if they are valid.
17018func (s *DeleteParametersInput) Validate() error {
17019	invalidParams := request.ErrInvalidParams{Context: "DeleteParametersInput"}
17020	if s.Names == nil {
17021		invalidParams.Add(request.NewErrParamRequired("Names"))
17022	}
17023	if s.Names != nil && len(s.Names) < 1 {
17024		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
17025	}
17026
17027	if invalidParams.Len() > 0 {
17028		return invalidParams
17029	}
17030	return nil
17031}
17032
17033// SetNames sets the Names field's value.
17034func (s *DeleteParametersInput) SetNames(v []*string) *DeleteParametersInput {
17035	s.Names = v
17036	return s
17037}
17038
17039type DeleteParametersOutput struct {
17040	_ struct{} `type:"structure"`
17041
17042	// The names of the deleted parameters.
17043	DeletedParameters []*string `min:"1" type:"list"`
17044
17045	// The names of parameters that weren't deleted because the parameters are not
17046	// valid.
17047	InvalidParameters []*string `min:"1" type:"list"`
17048}
17049
17050// String returns the string representation
17051func (s DeleteParametersOutput) String() string {
17052	return awsutil.Prettify(s)
17053}
17054
17055// GoString returns the string representation
17056func (s DeleteParametersOutput) GoString() string {
17057	return s.String()
17058}
17059
17060// SetDeletedParameters sets the DeletedParameters field's value.
17061func (s *DeleteParametersOutput) SetDeletedParameters(v []*string) *DeleteParametersOutput {
17062	s.DeletedParameters = v
17063	return s
17064}
17065
17066// SetInvalidParameters sets the InvalidParameters field's value.
17067func (s *DeleteParametersOutput) SetInvalidParameters(v []*string) *DeleteParametersOutput {
17068	s.InvalidParameters = v
17069	return s
17070}
17071
17072type DeletePatchBaselineInput struct {
17073	_ struct{} `type:"structure"`
17074
17075	// The ID of the patch baseline to delete.
17076	//
17077	// BaselineId is a required field
17078	BaselineId *string `min:"20" type:"string" required:"true"`
17079}
17080
17081// String returns the string representation
17082func (s DeletePatchBaselineInput) String() string {
17083	return awsutil.Prettify(s)
17084}
17085
17086// GoString returns the string representation
17087func (s DeletePatchBaselineInput) GoString() string {
17088	return s.String()
17089}
17090
17091// Validate inspects the fields of the type to determine if they are valid.
17092func (s *DeletePatchBaselineInput) Validate() error {
17093	invalidParams := request.ErrInvalidParams{Context: "DeletePatchBaselineInput"}
17094	if s.BaselineId == nil {
17095		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
17096	}
17097	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
17098		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
17099	}
17100
17101	if invalidParams.Len() > 0 {
17102		return invalidParams
17103	}
17104	return nil
17105}
17106
17107// SetBaselineId sets the BaselineId field's value.
17108func (s *DeletePatchBaselineInput) SetBaselineId(v string) *DeletePatchBaselineInput {
17109	s.BaselineId = &v
17110	return s
17111}
17112
17113type DeletePatchBaselineOutput struct {
17114	_ struct{} `type:"structure"`
17115
17116	// The ID of the deleted patch baseline.
17117	BaselineId *string `min:"20" type:"string"`
17118}
17119
17120// String returns the string representation
17121func (s DeletePatchBaselineOutput) String() string {
17122	return awsutil.Prettify(s)
17123}
17124
17125// GoString returns the string representation
17126func (s DeletePatchBaselineOutput) GoString() string {
17127	return s.String()
17128}
17129
17130// SetBaselineId sets the BaselineId field's value.
17131func (s *DeletePatchBaselineOutput) SetBaselineId(v string) *DeletePatchBaselineOutput {
17132	s.BaselineId = &v
17133	return s
17134}
17135
17136type DeleteResourceDataSyncInput struct {
17137	_ struct{} `type:"structure"`
17138
17139	// The name of the configuration to delete.
17140	//
17141	// SyncName is a required field
17142	SyncName *string `min:"1" type:"string" required:"true"`
17143}
17144
17145// String returns the string representation
17146func (s DeleteResourceDataSyncInput) String() string {
17147	return awsutil.Prettify(s)
17148}
17149
17150// GoString returns the string representation
17151func (s DeleteResourceDataSyncInput) GoString() string {
17152	return s.String()
17153}
17154
17155// Validate inspects the fields of the type to determine if they are valid.
17156func (s *DeleteResourceDataSyncInput) Validate() error {
17157	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDataSyncInput"}
17158	if s.SyncName == nil {
17159		invalidParams.Add(request.NewErrParamRequired("SyncName"))
17160	}
17161	if s.SyncName != nil && len(*s.SyncName) < 1 {
17162		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
17163	}
17164
17165	if invalidParams.Len() > 0 {
17166		return invalidParams
17167	}
17168	return nil
17169}
17170
17171// SetSyncName sets the SyncName field's value.
17172func (s *DeleteResourceDataSyncInput) SetSyncName(v string) *DeleteResourceDataSyncInput {
17173	s.SyncName = &v
17174	return s
17175}
17176
17177type DeleteResourceDataSyncOutput struct {
17178	_ struct{} `type:"structure"`
17179}
17180
17181// String returns the string representation
17182func (s DeleteResourceDataSyncOutput) String() string {
17183	return awsutil.Prettify(s)
17184}
17185
17186// GoString returns the string representation
17187func (s DeleteResourceDataSyncOutput) GoString() string {
17188	return s.String()
17189}
17190
17191type DeregisterManagedInstanceInput struct {
17192	_ struct{} `type:"structure"`
17193
17194	// The ID assigned to the managed instance when you registered it using the
17195	// activation process.
17196	//
17197	// InstanceId is a required field
17198	InstanceId *string `type:"string" required:"true"`
17199}
17200
17201// String returns the string representation
17202func (s DeregisterManagedInstanceInput) String() string {
17203	return awsutil.Prettify(s)
17204}
17205
17206// GoString returns the string representation
17207func (s DeregisterManagedInstanceInput) GoString() string {
17208	return s.String()
17209}
17210
17211// Validate inspects the fields of the type to determine if they are valid.
17212func (s *DeregisterManagedInstanceInput) Validate() error {
17213	invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"}
17214	if s.InstanceId == nil {
17215		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17216	}
17217
17218	if invalidParams.Len() > 0 {
17219		return invalidParams
17220	}
17221	return nil
17222}
17223
17224// SetInstanceId sets the InstanceId field's value.
17225func (s *DeregisterManagedInstanceInput) SetInstanceId(v string) *DeregisterManagedInstanceInput {
17226	s.InstanceId = &v
17227	return s
17228}
17229
17230type DeregisterManagedInstanceOutput struct {
17231	_ struct{} `type:"structure"`
17232}
17233
17234// String returns the string representation
17235func (s DeregisterManagedInstanceOutput) String() string {
17236	return awsutil.Prettify(s)
17237}
17238
17239// GoString returns the string representation
17240func (s DeregisterManagedInstanceOutput) GoString() string {
17241	return s.String()
17242}
17243
17244type DeregisterPatchBaselineForPatchGroupInput struct {
17245	_ struct{} `type:"structure"`
17246
17247	// The ID of the patch baseline to deregister the patch group from.
17248	//
17249	// BaselineId is a required field
17250	BaselineId *string `min:"20" type:"string" required:"true"`
17251
17252	// The name of the patch group that should be deregistered from the patch baseline.
17253	//
17254	// PatchGroup is a required field
17255	PatchGroup *string `min:"1" type:"string" required:"true"`
17256}
17257
17258// String returns the string representation
17259func (s DeregisterPatchBaselineForPatchGroupInput) String() string {
17260	return awsutil.Prettify(s)
17261}
17262
17263// GoString returns the string representation
17264func (s DeregisterPatchBaselineForPatchGroupInput) GoString() string {
17265	return s.String()
17266}
17267
17268// Validate inspects the fields of the type to determine if they are valid.
17269func (s *DeregisterPatchBaselineForPatchGroupInput) Validate() error {
17270	invalidParams := request.ErrInvalidParams{Context: "DeregisterPatchBaselineForPatchGroupInput"}
17271	if s.BaselineId == nil {
17272		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
17273	}
17274	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
17275		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
17276	}
17277	if s.PatchGroup == nil {
17278		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
17279	}
17280	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
17281		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
17282	}
17283
17284	if invalidParams.Len() > 0 {
17285		return invalidParams
17286	}
17287	return nil
17288}
17289
17290// SetBaselineId sets the BaselineId field's value.
17291func (s *DeregisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupInput {
17292	s.BaselineId = &v
17293	return s
17294}
17295
17296// SetPatchGroup sets the PatchGroup field's value.
17297func (s *DeregisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupInput {
17298	s.PatchGroup = &v
17299	return s
17300}
17301
17302type DeregisterPatchBaselineForPatchGroupOutput struct {
17303	_ struct{} `type:"structure"`
17304
17305	// The ID of the patch baseline the patch group was deregistered from.
17306	BaselineId *string `min:"20" type:"string"`
17307
17308	// The name of the patch group deregistered from the patch baseline.
17309	PatchGroup *string `min:"1" type:"string"`
17310}
17311
17312// String returns the string representation
17313func (s DeregisterPatchBaselineForPatchGroupOutput) String() string {
17314	return awsutil.Prettify(s)
17315}
17316
17317// GoString returns the string representation
17318func (s DeregisterPatchBaselineForPatchGroupOutput) GoString() string {
17319	return s.String()
17320}
17321
17322// SetBaselineId sets the BaselineId field's value.
17323func (s *DeregisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupOutput {
17324	s.BaselineId = &v
17325	return s
17326}
17327
17328// SetPatchGroup sets the PatchGroup field's value.
17329func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupOutput {
17330	s.PatchGroup = &v
17331	return s
17332}
17333
17334type DeregisterTargetFromMaintenanceWindowInput struct {
17335	_ struct{} `type:"structure"`
17336
17337	// The system checks if the target is being referenced by a task. If the target
17338	// is being referenced, the system returns an error and does not deregister
17339	// the target from the maintenance window.
17340	Safe *bool `type:"boolean"`
17341
17342	// The ID of the maintenance window the target should be removed from.
17343	//
17344	// WindowId is a required field
17345	WindowId *string `min:"20" type:"string" required:"true"`
17346
17347	// The ID of the target definition to remove.
17348	//
17349	// WindowTargetId is a required field
17350	WindowTargetId *string `min:"36" type:"string" required:"true"`
17351}
17352
17353// String returns the string representation
17354func (s DeregisterTargetFromMaintenanceWindowInput) String() string {
17355	return awsutil.Prettify(s)
17356}
17357
17358// GoString returns the string representation
17359func (s DeregisterTargetFromMaintenanceWindowInput) GoString() string {
17360	return s.String()
17361}
17362
17363// Validate inspects the fields of the type to determine if they are valid.
17364func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error {
17365	invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetFromMaintenanceWindowInput"}
17366	if s.WindowId == nil {
17367		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17368	}
17369	if s.WindowId != nil && len(*s.WindowId) < 20 {
17370		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17371	}
17372	if s.WindowTargetId == nil {
17373		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
17374	}
17375	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
17376		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
17377	}
17378
17379	if invalidParams.Len() > 0 {
17380		return invalidParams
17381	}
17382	return nil
17383}
17384
17385// SetSafe sets the Safe field's value.
17386func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput {
17387	s.Safe = &v
17388	return s
17389}
17390
17391// SetWindowId sets the WindowId field's value.
17392func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput {
17393	s.WindowId = &v
17394	return s
17395}
17396
17397// SetWindowTargetId sets the WindowTargetId field's value.
17398func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowInput {
17399	s.WindowTargetId = &v
17400	return s
17401}
17402
17403type DeregisterTargetFromMaintenanceWindowOutput struct {
17404	_ struct{} `type:"structure"`
17405
17406	// The ID of the maintenance window the target was removed from.
17407	WindowId *string `min:"20" type:"string"`
17408
17409	// The ID of the removed target definition.
17410	WindowTargetId *string `min:"36" type:"string"`
17411}
17412
17413// String returns the string representation
17414func (s DeregisterTargetFromMaintenanceWindowOutput) String() string {
17415	return awsutil.Prettify(s)
17416}
17417
17418// GoString returns the string representation
17419func (s DeregisterTargetFromMaintenanceWindowOutput) GoString() string {
17420	return s.String()
17421}
17422
17423// SetWindowId sets the WindowId field's value.
17424func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
17425	s.WindowId = &v
17426	return s
17427}
17428
17429// SetWindowTargetId sets the WindowTargetId field's value.
17430func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
17431	s.WindowTargetId = &v
17432	return s
17433}
17434
17435type DeregisterTaskFromMaintenanceWindowInput struct {
17436	_ struct{} `type:"structure"`
17437
17438	// The ID of the maintenance window the task should be removed from.
17439	//
17440	// WindowId is a required field
17441	WindowId *string `min:"20" type:"string" required:"true"`
17442
17443	// The ID of the task to remove from the maintenance window.
17444	//
17445	// WindowTaskId is a required field
17446	WindowTaskId *string `min:"36" type:"string" required:"true"`
17447}
17448
17449// String returns the string representation
17450func (s DeregisterTaskFromMaintenanceWindowInput) String() string {
17451	return awsutil.Prettify(s)
17452}
17453
17454// GoString returns the string representation
17455func (s DeregisterTaskFromMaintenanceWindowInput) GoString() string {
17456	return s.String()
17457}
17458
17459// Validate inspects the fields of the type to determine if they are valid.
17460func (s *DeregisterTaskFromMaintenanceWindowInput) Validate() error {
17461	invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskFromMaintenanceWindowInput"}
17462	if s.WindowId == nil {
17463		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17464	}
17465	if s.WindowId != nil && len(*s.WindowId) < 20 {
17466		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17467	}
17468	if s.WindowTaskId == nil {
17469		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
17470	}
17471	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
17472		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
17473	}
17474
17475	if invalidParams.Len() > 0 {
17476		return invalidParams
17477	}
17478	return nil
17479}
17480
17481// SetWindowId sets the WindowId field's value.
17482func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowInput {
17483	s.WindowId = &v
17484	return s
17485}
17486
17487// SetWindowTaskId sets the WindowTaskId field's value.
17488func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowInput {
17489	s.WindowTaskId = &v
17490	return s
17491}
17492
17493type DeregisterTaskFromMaintenanceWindowOutput struct {
17494	_ struct{} `type:"structure"`
17495
17496	// The ID of the maintenance window the task was removed from.
17497	WindowId *string `min:"20" type:"string"`
17498
17499	// The ID of the task removed from the maintenance window.
17500	WindowTaskId *string `min:"36" type:"string"`
17501}
17502
17503// String returns the string representation
17504func (s DeregisterTaskFromMaintenanceWindowOutput) String() string {
17505	return awsutil.Prettify(s)
17506}
17507
17508// GoString returns the string representation
17509func (s DeregisterTaskFromMaintenanceWindowOutput) GoString() string {
17510	return s.String()
17511}
17512
17513// SetWindowId sets the WindowId field's value.
17514func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
17515	s.WindowId = &v
17516	return s
17517}
17518
17519// SetWindowTaskId sets the WindowTaskId field's value.
17520func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
17521	s.WindowTaskId = &v
17522	return s
17523}
17524
17525// Filter for the DescribeActivation API.
17526type DescribeActivationsFilter struct {
17527	_ struct{} `type:"structure"`
17528
17529	// The name of the filter.
17530	FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"`
17531
17532	// The filter values.
17533	FilterValues []*string `type:"list"`
17534}
17535
17536// String returns the string representation
17537func (s DescribeActivationsFilter) String() string {
17538	return awsutil.Prettify(s)
17539}
17540
17541// GoString returns the string representation
17542func (s DescribeActivationsFilter) GoString() string {
17543	return s.String()
17544}
17545
17546// SetFilterKey sets the FilterKey field's value.
17547func (s *DescribeActivationsFilter) SetFilterKey(v string) *DescribeActivationsFilter {
17548	s.FilterKey = &v
17549	return s
17550}
17551
17552// SetFilterValues sets the FilterValues field's value.
17553func (s *DescribeActivationsFilter) SetFilterValues(v []*string) *DescribeActivationsFilter {
17554	s.FilterValues = v
17555	return s
17556}
17557
17558type DescribeActivationsInput struct {
17559	_ struct{} `type:"structure"`
17560
17561	// A filter to view information about your activations.
17562	Filters []*DescribeActivationsFilter `type:"list"`
17563
17564	// The maximum number of items to return for this call. The call also returns
17565	// a token that you can specify in a subsequent call to get the next set of
17566	// results.
17567	MaxResults *int64 `min:"1" type:"integer"`
17568
17569	// A token to start the list. Use this token to get the next set of results.
17570	NextToken *string `type:"string"`
17571}
17572
17573// String returns the string representation
17574func (s DescribeActivationsInput) String() string {
17575	return awsutil.Prettify(s)
17576}
17577
17578// GoString returns the string representation
17579func (s DescribeActivationsInput) GoString() string {
17580	return s.String()
17581}
17582
17583// Validate inspects the fields of the type to determine if they are valid.
17584func (s *DescribeActivationsInput) Validate() error {
17585	invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"}
17586	if s.MaxResults != nil && *s.MaxResults < 1 {
17587		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17588	}
17589
17590	if invalidParams.Len() > 0 {
17591		return invalidParams
17592	}
17593	return nil
17594}
17595
17596// SetFilters sets the Filters field's value.
17597func (s *DescribeActivationsInput) SetFilters(v []*DescribeActivationsFilter) *DescribeActivationsInput {
17598	s.Filters = v
17599	return s
17600}
17601
17602// SetMaxResults sets the MaxResults field's value.
17603func (s *DescribeActivationsInput) SetMaxResults(v int64) *DescribeActivationsInput {
17604	s.MaxResults = &v
17605	return s
17606}
17607
17608// SetNextToken sets the NextToken field's value.
17609func (s *DescribeActivationsInput) SetNextToken(v string) *DescribeActivationsInput {
17610	s.NextToken = &v
17611	return s
17612}
17613
17614type DescribeActivationsOutput struct {
17615	_ struct{} `type:"structure"`
17616
17617	// A list of activations for your AWS account.
17618	ActivationList []*Activation `type:"list"`
17619
17620	// The token for the next set of items to return. Use this token to get the
17621	// next set of results.
17622	NextToken *string `type:"string"`
17623}
17624
17625// String returns the string representation
17626func (s DescribeActivationsOutput) String() string {
17627	return awsutil.Prettify(s)
17628}
17629
17630// GoString returns the string representation
17631func (s DescribeActivationsOutput) GoString() string {
17632	return s.String()
17633}
17634
17635// SetActivationList sets the ActivationList field's value.
17636func (s *DescribeActivationsOutput) SetActivationList(v []*Activation) *DescribeActivationsOutput {
17637	s.ActivationList = v
17638	return s
17639}
17640
17641// SetNextToken sets the NextToken field's value.
17642func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsOutput {
17643	s.NextToken = &v
17644	return s
17645}
17646
17647type DescribeAssociationExecutionTargetsInput struct {
17648	_ struct{} `type:"structure"`
17649
17650	// The association ID that includes the execution for which you want to view
17651	// details.
17652	//
17653	// AssociationId is a required field
17654	AssociationId *string `type:"string" required:"true"`
17655
17656	// The execution ID for which you want to view details.
17657	//
17658	// ExecutionId is a required field
17659	ExecutionId *string `type:"string" required:"true"`
17660
17661	// Filters for the request. You can specify the following filters and values.
17662	//
17663	// Status (EQUAL)
17664	//
17665	// ResourceId (EQUAL)
17666	//
17667	// ResourceType (EQUAL)
17668	Filters []*AssociationExecutionTargetsFilter `min:"1" type:"list"`
17669
17670	// The maximum number of items to return for this call. The call also returns
17671	// a token that you can specify in a subsequent call to get the next set of
17672	// results.
17673	MaxResults *int64 `min:"1" type:"integer"`
17674
17675	// A token to start the list. Use this token to get the next set of results.
17676	NextToken *string `type:"string"`
17677}
17678
17679// String returns the string representation
17680func (s DescribeAssociationExecutionTargetsInput) String() string {
17681	return awsutil.Prettify(s)
17682}
17683
17684// GoString returns the string representation
17685func (s DescribeAssociationExecutionTargetsInput) GoString() string {
17686	return s.String()
17687}
17688
17689// Validate inspects the fields of the type to determine if they are valid.
17690func (s *DescribeAssociationExecutionTargetsInput) Validate() error {
17691	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionTargetsInput"}
17692	if s.AssociationId == nil {
17693		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
17694	}
17695	if s.ExecutionId == nil {
17696		invalidParams.Add(request.NewErrParamRequired("ExecutionId"))
17697	}
17698	if s.Filters != nil && len(s.Filters) < 1 {
17699		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
17700	}
17701	if s.MaxResults != nil && *s.MaxResults < 1 {
17702		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17703	}
17704	if s.Filters != nil {
17705		for i, v := range s.Filters {
17706			if v == nil {
17707				continue
17708			}
17709			if err := v.Validate(); err != nil {
17710				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17711			}
17712		}
17713	}
17714
17715	if invalidParams.Len() > 0 {
17716		return invalidParams
17717	}
17718	return nil
17719}
17720
17721// SetAssociationId sets the AssociationId field's value.
17722func (s *DescribeAssociationExecutionTargetsInput) SetAssociationId(v string) *DescribeAssociationExecutionTargetsInput {
17723	s.AssociationId = &v
17724	return s
17725}
17726
17727// SetExecutionId sets the ExecutionId field's value.
17728func (s *DescribeAssociationExecutionTargetsInput) SetExecutionId(v string) *DescribeAssociationExecutionTargetsInput {
17729	s.ExecutionId = &v
17730	return s
17731}
17732
17733// SetFilters sets the Filters field's value.
17734func (s *DescribeAssociationExecutionTargetsInput) SetFilters(v []*AssociationExecutionTargetsFilter) *DescribeAssociationExecutionTargetsInput {
17735	s.Filters = v
17736	return s
17737}
17738
17739// SetMaxResults sets the MaxResults field's value.
17740func (s *DescribeAssociationExecutionTargetsInput) SetMaxResults(v int64) *DescribeAssociationExecutionTargetsInput {
17741	s.MaxResults = &v
17742	return s
17743}
17744
17745// SetNextToken sets the NextToken field's value.
17746func (s *DescribeAssociationExecutionTargetsInput) SetNextToken(v string) *DescribeAssociationExecutionTargetsInput {
17747	s.NextToken = &v
17748	return s
17749}
17750
17751type DescribeAssociationExecutionTargetsOutput struct {
17752	_ struct{} `type:"structure"`
17753
17754	// Information about the execution.
17755	AssociationExecutionTargets []*AssociationExecutionTarget `type:"list"`
17756
17757	// The token for the next set of items to return. Use this token to get the
17758	// next set of results.
17759	NextToken *string `type:"string"`
17760}
17761
17762// String returns the string representation
17763func (s DescribeAssociationExecutionTargetsOutput) String() string {
17764	return awsutil.Prettify(s)
17765}
17766
17767// GoString returns the string representation
17768func (s DescribeAssociationExecutionTargetsOutput) GoString() string {
17769	return s.String()
17770}
17771
17772// SetAssociationExecutionTargets sets the AssociationExecutionTargets field's value.
17773func (s *DescribeAssociationExecutionTargetsOutput) SetAssociationExecutionTargets(v []*AssociationExecutionTarget) *DescribeAssociationExecutionTargetsOutput {
17774	s.AssociationExecutionTargets = v
17775	return s
17776}
17777
17778// SetNextToken sets the NextToken field's value.
17779func (s *DescribeAssociationExecutionTargetsOutput) SetNextToken(v string) *DescribeAssociationExecutionTargetsOutput {
17780	s.NextToken = &v
17781	return s
17782}
17783
17784type DescribeAssociationExecutionsInput struct {
17785	_ struct{} `type:"structure"`
17786
17787	// The association ID for which you want to view execution history details.
17788	//
17789	// AssociationId is a required field
17790	AssociationId *string `type:"string" required:"true"`
17791
17792	// Filters for the request. You can specify the following filters and values.
17793	//
17794	// ExecutionId (EQUAL)
17795	//
17796	// Status (EQUAL)
17797	//
17798	// CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)
17799	Filters []*AssociationExecutionFilter `min:"1" type:"list"`
17800
17801	// The maximum number of items to return for this call. The call also returns
17802	// a token that you can specify in a subsequent call to get the next set of
17803	// results.
17804	MaxResults *int64 `min:"1" type:"integer"`
17805
17806	// A token to start the list. Use this token to get the next set of results.
17807	NextToken *string `type:"string"`
17808}
17809
17810// String returns the string representation
17811func (s DescribeAssociationExecutionsInput) String() string {
17812	return awsutil.Prettify(s)
17813}
17814
17815// GoString returns the string representation
17816func (s DescribeAssociationExecutionsInput) GoString() string {
17817	return s.String()
17818}
17819
17820// Validate inspects the fields of the type to determine if they are valid.
17821func (s *DescribeAssociationExecutionsInput) Validate() error {
17822	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionsInput"}
17823	if s.AssociationId == nil {
17824		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
17825	}
17826	if s.Filters != nil && len(s.Filters) < 1 {
17827		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
17828	}
17829	if s.MaxResults != nil && *s.MaxResults < 1 {
17830		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17831	}
17832	if s.Filters != nil {
17833		for i, v := range s.Filters {
17834			if v == nil {
17835				continue
17836			}
17837			if err := v.Validate(); err != nil {
17838				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17839			}
17840		}
17841	}
17842
17843	if invalidParams.Len() > 0 {
17844		return invalidParams
17845	}
17846	return nil
17847}
17848
17849// SetAssociationId sets the AssociationId field's value.
17850func (s *DescribeAssociationExecutionsInput) SetAssociationId(v string) *DescribeAssociationExecutionsInput {
17851	s.AssociationId = &v
17852	return s
17853}
17854
17855// SetFilters sets the Filters field's value.
17856func (s *DescribeAssociationExecutionsInput) SetFilters(v []*AssociationExecutionFilter) *DescribeAssociationExecutionsInput {
17857	s.Filters = v
17858	return s
17859}
17860
17861// SetMaxResults sets the MaxResults field's value.
17862func (s *DescribeAssociationExecutionsInput) SetMaxResults(v int64) *DescribeAssociationExecutionsInput {
17863	s.MaxResults = &v
17864	return s
17865}
17866
17867// SetNextToken sets the NextToken field's value.
17868func (s *DescribeAssociationExecutionsInput) SetNextToken(v string) *DescribeAssociationExecutionsInput {
17869	s.NextToken = &v
17870	return s
17871}
17872
17873type DescribeAssociationExecutionsOutput struct {
17874	_ struct{} `type:"structure"`
17875
17876	// A list of the executions for the specified association ID.
17877	AssociationExecutions []*AssociationExecution `type:"list"`
17878
17879	// The token for the next set of items to return. Use this token to get the
17880	// next set of results.
17881	NextToken *string `type:"string"`
17882}
17883
17884// String returns the string representation
17885func (s DescribeAssociationExecutionsOutput) String() string {
17886	return awsutil.Prettify(s)
17887}
17888
17889// GoString returns the string representation
17890func (s DescribeAssociationExecutionsOutput) GoString() string {
17891	return s.String()
17892}
17893
17894// SetAssociationExecutions sets the AssociationExecutions field's value.
17895func (s *DescribeAssociationExecutionsOutput) SetAssociationExecutions(v []*AssociationExecution) *DescribeAssociationExecutionsOutput {
17896	s.AssociationExecutions = v
17897	return s
17898}
17899
17900// SetNextToken sets the NextToken field's value.
17901func (s *DescribeAssociationExecutionsOutput) SetNextToken(v string) *DescribeAssociationExecutionsOutput {
17902	s.NextToken = &v
17903	return s
17904}
17905
17906type DescribeAssociationInput struct {
17907	_ struct{} `type:"structure"`
17908
17909	// The association ID for which you want information.
17910	AssociationId *string `type:"string"`
17911
17912	// Specify the association version to retrieve. To view the latest version,
17913	// either specify $LATEST for this parameter, or omit this parameter. To view
17914	// a list of all associations for an instance, use ListAssociations. To get
17915	// a list of versions for a specific association, use ListAssociationVersions.
17916	AssociationVersion *string `type:"string"`
17917
17918	// The instance ID.
17919	InstanceId *string `type:"string"`
17920
17921	// The name of the Systems Manager document.
17922	Name *string `type:"string"`
17923}
17924
17925// String returns the string representation
17926func (s DescribeAssociationInput) String() string {
17927	return awsutil.Prettify(s)
17928}
17929
17930// GoString returns the string representation
17931func (s DescribeAssociationInput) GoString() string {
17932	return s.String()
17933}
17934
17935// SetAssociationId sets the AssociationId field's value.
17936func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput {
17937	s.AssociationId = &v
17938	return s
17939}
17940
17941// SetAssociationVersion sets the AssociationVersion field's value.
17942func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput {
17943	s.AssociationVersion = &v
17944	return s
17945}
17946
17947// SetInstanceId sets the InstanceId field's value.
17948func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput {
17949	s.InstanceId = &v
17950	return s
17951}
17952
17953// SetName sets the Name field's value.
17954func (s *DescribeAssociationInput) SetName(v string) *DescribeAssociationInput {
17955	s.Name = &v
17956	return s
17957}
17958
17959type DescribeAssociationOutput struct {
17960	_ struct{} `type:"structure"`
17961
17962	// Information about the association.
17963	AssociationDescription *AssociationDescription `type:"structure"`
17964}
17965
17966// String returns the string representation
17967func (s DescribeAssociationOutput) String() string {
17968	return awsutil.Prettify(s)
17969}
17970
17971// GoString returns the string representation
17972func (s DescribeAssociationOutput) GoString() string {
17973	return s.String()
17974}
17975
17976// SetAssociationDescription sets the AssociationDescription field's value.
17977func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDescription) *DescribeAssociationOutput {
17978	s.AssociationDescription = v
17979	return s
17980}
17981
17982type DescribeAutomationExecutionsInput struct {
17983	_ struct{} `type:"structure"`
17984
17985	// Filters used to limit the scope of executions that are requested.
17986	Filters []*AutomationExecutionFilter `min:"1" type:"list"`
17987
17988	// The maximum number of items to return for this call. The call also returns
17989	// a token that you can specify in a subsequent call to get the next set of
17990	// results.
17991	MaxResults *int64 `min:"1" type:"integer"`
17992
17993	// The token for the next set of items to return. (You received this token from
17994	// a previous call.)
17995	NextToken *string `type:"string"`
17996}
17997
17998// String returns the string representation
17999func (s DescribeAutomationExecutionsInput) String() string {
18000	return awsutil.Prettify(s)
18001}
18002
18003// GoString returns the string representation
18004func (s DescribeAutomationExecutionsInput) GoString() string {
18005	return s.String()
18006}
18007
18008// Validate inspects the fields of the type to determine if they are valid.
18009func (s *DescribeAutomationExecutionsInput) Validate() error {
18010	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationExecutionsInput"}
18011	if s.Filters != nil && len(s.Filters) < 1 {
18012		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
18013	}
18014	if s.MaxResults != nil && *s.MaxResults < 1 {
18015		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18016	}
18017	if s.Filters != nil {
18018		for i, v := range s.Filters {
18019			if v == nil {
18020				continue
18021			}
18022			if err := v.Validate(); err != nil {
18023				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18024			}
18025		}
18026	}
18027
18028	if invalidParams.Len() > 0 {
18029		return invalidParams
18030	}
18031	return nil
18032}
18033
18034// SetFilters sets the Filters field's value.
18035func (s *DescribeAutomationExecutionsInput) SetFilters(v []*AutomationExecutionFilter) *DescribeAutomationExecutionsInput {
18036	s.Filters = v
18037	return s
18038}
18039
18040// SetMaxResults sets the MaxResults field's value.
18041func (s *DescribeAutomationExecutionsInput) SetMaxResults(v int64) *DescribeAutomationExecutionsInput {
18042	s.MaxResults = &v
18043	return s
18044}
18045
18046// SetNextToken sets the NextToken field's value.
18047func (s *DescribeAutomationExecutionsInput) SetNextToken(v string) *DescribeAutomationExecutionsInput {
18048	s.NextToken = &v
18049	return s
18050}
18051
18052type DescribeAutomationExecutionsOutput struct {
18053	_ struct{} `type:"structure"`
18054
18055	// The list of details about each automation execution which has occurred which
18056	// matches the filter specification, if any.
18057	AutomationExecutionMetadataList []*AutomationExecutionMetadata `type:"list"`
18058
18059	// The token to use when requesting the next set of items. If there are no additional
18060	// items to return, the string is empty.
18061	NextToken *string `type:"string"`
18062}
18063
18064// String returns the string representation
18065func (s DescribeAutomationExecutionsOutput) String() string {
18066	return awsutil.Prettify(s)
18067}
18068
18069// GoString returns the string representation
18070func (s DescribeAutomationExecutionsOutput) GoString() string {
18071	return s.String()
18072}
18073
18074// SetAutomationExecutionMetadataList sets the AutomationExecutionMetadataList field's value.
18075func (s *DescribeAutomationExecutionsOutput) SetAutomationExecutionMetadataList(v []*AutomationExecutionMetadata) *DescribeAutomationExecutionsOutput {
18076	s.AutomationExecutionMetadataList = v
18077	return s
18078}
18079
18080// SetNextToken sets the NextToken field's value.
18081func (s *DescribeAutomationExecutionsOutput) SetNextToken(v string) *DescribeAutomationExecutionsOutput {
18082	s.NextToken = &v
18083	return s
18084}
18085
18086type DescribeAutomationStepExecutionsInput struct {
18087	_ struct{} `type:"structure"`
18088
18089	// The Automation execution ID for which you want step execution descriptions.
18090	//
18091	// AutomationExecutionId is a required field
18092	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
18093
18094	// One or more filters to limit the number of step executions returned by the
18095	// request.
18096	Filters []*StepExecutionFilter `min:"1" type:"list"`
18097
18098	// The maximum number of items to return for this call. The call also returns
18099	// a token that you can specify in a subsequent call to get the next set of
18100	// results.
18101	MaxResults *int64 `min:"1" type:"integer"`
18102
18103	// The token for the next set of items to return. (You received this token from
18104	// a previous call.)
18105	NextToken *string `type:"string"`
18106
18107	// A boolean that indicates whether to list step executions in reverse order
18108	// by start time. The default value is false.
18109	ReverseOrder *bool `type:"boolean"`
18110}
18111
18112// String returns the string representation
18113func (s DescribeAutomationStepExecutionsInput) String() string {
18114	return awsutil.Prettify(s)
18115}
18116
18117// GoString returns the string representation
18118func (s DescribeAutomationStepExecutionsInput) GoString() string {
18119	return s.String()
18120}
18121
18122// Validate inspects the fields of the type to determine if they are valid.
18123func (s *DescribeAutomationStepExecutionsInput) Validate() error {
18124	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationStepExecutionsInput"}
18125	if s.AutomationExecutionId == nil {
18126		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
18127	}
18128	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
18129		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
18130	}
18131	if s.Filters != nil && len(s.Filters) < 1 {
18132		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
18133	}
18134	if s.MaxResults != nil && *s.MaxResults < 1 {
18135		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18136	}
18137	if s.Filters != nil {
18138		for i, v := range s.Filters {
18139			if v == nil {
18140				continue
18141			}
18142			if err := v.Validate(); err != nil {
18143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18144			}
18145		}
18146	}
18147
18148	if invalidParams.Len() > 0 {
18149		return invalidParams
18150	}
18151	return nil
18152}
18153
18154// SetAutomationExecutionId sets the AutomationExecutionId field's value.
18155func (s *DescribeAutomationStepExecutionsInput) SetAutomationExecutionId(v string) *DescribeAutomationStepExecutionsInput {
18156	s.AutomationExecutionId = &v
18157	return s
18158}
18159
18160// SetFilters sets the Filters field's value.
18161func (s *DescribeAutomationStepExecutionsInput) SetFilters(v []*StepExecutionFilter) *DescribeAutomationStepExecutionsInput {
18162	s.Filters = v
18163	return s
18164}
18165
18166// SetMaxResults sets the MaxResults field's value.
18167func (s *DescribeAutomationStepExecutionsInput) SetMaxResults(v int64) *DescribeAutomationStepExecutionsInput {
18168	s.MaxResults = &v
18169	return s
18170}
18171
18172// SetNextToken sets the NextToken field's value.
18173func (s *DescribeAutomationStepExecutionsInput) SetNextToken(v string) *DescribeAutomationStepExecutionsInput {
18174	s.NextToken = &v
18175	return s
18176}
18177
18178// SetReverseOrder sets the ReverseOrder field's value.
18179func (s *DescribeAutomationStepExecutionsInput) SetReverseOrder(v bool) *DescribeAutomationStepExecutionsInput {
18180	s.ReverseOrder = &v
18181	return s
18182}
18183
18184type DescribeAutomationStepExecutionsOutput struct {
18185	_ struct{} `type:"structure"`
18186
18187	// The token to use when requesting the next set of items. If there are no additional
18188	// items to return, the string is empty.
18189	NextToken *string `type:"string"`
18190
18191	// A list of details about the current state of all steps that make up an execution.
18192	StepExecutions []*StepExecution `type:"list"`
18193}
18194
18195// String returns the string representation
18196func (s DescribeAutomationStepExecutionsOutput) String() string {
18197	return awsutil.Prettify(s)
18198}
18199
18200// GoString returns the string representation
18201func (s DescribeAutomationStepExecutionsOutput) GoString() string {
18202	return s.String()
18203}
18204
18205// SetNextToken sets the NextToken field's value.
18206func (s *DescribeAutomationStepExecutionsOutput) SetNextToken(v string) *DescribeAutomationStepExecutionsOutput {
18207	s.NextToken = &v
18208	return s
18209}
18210
18211// SetStepExecutions sets the StepExecutions field's value.
18212func (s *DescribeAutomationStepExecutionsOutput) SetStepExecutions(v []*StepExecution) *DescribeAutomationStepExecutionsOutput {
18213	s.StepExecutions = v
18214	return s
18215}
18216
18217type DescribeAvailablePatchesInput struct {
18218	_ struct{} `type:"structure"`
18219
18220	// Filters used to scope down the returned patches.
18221	Filters []*PatchOrchestratorFilter `type:"list"`
18222
18223	// The maximum number of patches to return (per page).
18224	MaxResults *int64 `min:"1" type:"integer"`
18225
18226	// The token for the next set of items to return. (You received this token from
18227	// a previous call.)
18228	NextToken *string `type:"string"`
18229}
18230
18231// String returns the string representation
18232func (s DescribeAvailablePatchesInput) String() string {
18233	return awsutil.Prettify(s)
18234}
18235
18236// GoString returns the string representation
18237func (s DescribeAvailablePatchesInput) GoString() string {
18238	return s.String()
18239}
18240
18241// Validate inspects the fields of the type to determine if they are valid.
18242func (s *DescribeAvailablePatchesInput) Validate() error {
18243	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailablePatchesInput"}
18244	if s.MaxResults != nil && *s.MaxResults < 1 {
18245		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18246	}
18247	if s.Filters != nil {
18248		for i, v := range s.Filters {
18249			if v == nil {
18250				continue
18251			}
18252			if err := v.Validate(); err != nil {
18253				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18254			}
18255		}
18256	}
18257
18258	if invalidParams.Len() > 0 {
18259		return invalidParams
18260	}
18261	return nil
18262}
18263
18264// SetFilters sets the Filters field's value.
18265func (s *DescribeAvailablePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeAvailablePatchesInput {
18266	s.Filters = v
18267	return s
18268}
18269
18270// SetMaxResults sets the MaxResults field's value.
18271func (s *DescribeAvailablePatchesInput) SetMaxResults(v int64) *DescribeAvailablePatchesInput {
18272	s.MaxResults = &v
18273	return s
18274}
18275
18276// SetNextToken sets the NextToken field's value.
18277func (s *DescribeAvailablePatchesInput) SetNextToken(v string) *DescribeAvailablePatchesInput {
18278	s.NextToken = &v
18279	return s
18280}
18281
18282type DescribeAvailablePatchesOutput struct {
18283	_ struct{} `type:"structure"`
18284
18285	// The token to use when requesting the next set of items. If there are no additional
18286	// items to return, the string is empty.
18287	NextToken *string `type:"string"`
18288
18289	// An array of patches. Each entry in the array is a patch structure.
18290	Patches []*Patch `type:"list"`
18291}
18292
18293// String returns the string representation
18294func (s DescribeAvailablePatchesOutput) String() string {
18295	return awsutil.Prettify(s)
18296}
18297
18298// GoString returns the string representation
18299func (s DescribeAvailablePatchesOutput) GoString() string {
18300	return s.String()
18301}
18302
18303// SetNextToken sets the NextToken field's value.
18304func (s *DescribeAvailablePatchesOutput) SetNextToken(v string) *DescribeAvailablePatchesOutput {
18305	s.NextToken = &v
18306	return s
18307}
18308
18309// SetPatches sets the Patches field's value.
18310func (s *DescribeAvailablePatchesOutput) SetPatches(v []*Patch) *DescribeAvailablePatchesOutput {
18311	s.Patches = v
18312	return s
18313}
18314
18315type DescribeDocumentInput struct {
18316	_ struct{} `type:"structure"`
18317
18318	// The document version for which you want information. Can be a specific version
18319	// or the default version.
18320	DocumentVersion *string `type:"string"`
18321
18322	// The name of the Systems Manager document.
18323	//
18324	// Name is a required field
18325	Name *string `type:"string" required:"true"`
18326
18327	// An optional field specifying the version of the artifact associated with
18328	// the document. For example, "Release 12, Update 6". This value is unique across
18329	// all versions of a document, and cannot be changed.
18330	VersionName *string `type:"string"`
18331}
18332
18333// String returns the string representation
18334func (s DescribeDocumentInput) String() string {
18335	return awsutil.Prettify(s)
18336}
18337
18338// GoString returns the string representation
18339func (s DescribeDocumentInput) GoString() string {
18340	return s.String()
18341}
18342
18343// Validate inspects the fields of the type to determine if they are valid.
18344func (s *DescribeDocumentInput) Validate() error {
18345	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"}
18346	if s.Name == nil {
18347		invalidParams.Add(request.NewErrParamRequired("Name"))
18348	}
18349
18350	if invalidParams.Len() > 0 {
18351		return invalidParams
18352	}
18353	return nil
18354}
18355
18356// SetDocumentVersion sets the DocumentVersion field's value.
18357func (s *DescribeDocumentInput) SetDocumentVersion(v string) *DescribeDocumentInput {
18358	s.DocumentVersion = &v
18359	return s
18360}
18361
18362// SetName sets the Name field's value.
18363func (s *DescribeDocumentInput) SetName(v string) *DescribeDocumentInput {
18364	s.Name = &v
18365	return s
18366}
18367
18368// SetVersionName sets the VersionName field's value.
18369func (s *DescribeDocumentInput) SetVersionName(v string) *DescribeDocumentInput {
18370	s.VersionName = &v
18371	return s
18372}
18373
18374type DescribeDocumentOutput struct {
18375	_ struct{} `type:"structure"`
18376
18377	// Information about the Systems Manager document.
18378	Document *DocumentDescription `type:"structure"`
18379}
18380
18381// String returns the string representation
18382func (s DescribeDocumentOutput) String() string {
18383	return awsutil.Prettify(s)
18384}
18385
18386// GoString returns the string representation
18387func (s DescribeDocumentOutput) GoString() string {
18388	return s.String()
18389}
18390
18391// SetDocument sets the Document field's value.
18392func (s *DescribeDocumentOutput) SetDocument(v *DocumentDescription) *DescribeDocumentOutput {
18393	s.Document = v
18394	return s
18395}
18396
18397type DescribeDocumentPermissionInput struct {
18398	_ struct{} `type:"structure"`
18399
18400	// The name of the document for which you are the owner.
18401	//
18402	// Name is a required field
18403	Name *string `type:"string" required:"true"`
18404
18405	// The permission type for the document. The permission type can be Share.
18406	//
18407	// PermissionType is a required field
18408	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
18409}
18410
18411// String returns the string representation
18412func (s DescribeDocumentPermissionInput) String() string {
18413	return awsutil.Prettify(s)
18414}
18415
18416// GoString returns the string representation
18417func (s DescribeDocumentPermissionInput) GoString() string {
18418	return s.String()
18419}
18420
18421// Validate inspects the fields of the type to determine if they are valid.
18422func (s *DescribeDocumentPermissionInput) Validate() error {
18423	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"}
18424	if s.Name == nil {
18425		invalidParams.Add(request.NewErrParamRequired("Name"))
18426	}
18427	if s.PermissionType == nil {
18428		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
18429	}
18430
18431	if invalidParams.Len() > 0 {
18432		return invalidParams
18433	}
18434	return nil
18435}
18436
18437// SetName sets the Name field's value.
18438func (s *DescribeDocumentPermissionInput) SetName(v string) *DescribeDocumentPermissionInput {
18439	s.Name = &v
18440	return s
18441}
18442
18443// SetPermissionType sets the PermissionType field's value.
18444func (s *DescribeDocumentPermissionInput) SetPermissionType(v string) *DescribeDocumentPermissionInput {
18445	s.PermissionType = &v
18446	return s
18447}
18448
18449type DescribeDocumentPermissionOutput struct {
18450	_ struct{} `type:"structure"`
18451
18452	// The account IDs that have permission to use this document. The ID can be
18453	// either an AWS account or All.
18454	AccountIds []*string `type:"list"`
18455}
18456
18457// String returns the string representation
18458func (s DescribeDocumentPermissionOutput) String() string {
18459	return awsutil.Prettify(s)
18460}
18461
18462// GoString returns the string representation
18463func (s DescribeDocumentPermissionOutput) GoString() string {
18464	return s.String()
18465}
18466
18467// SetAccountIds sets the AccountIds field's value.
18468func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeDocumentPermissionOutput {
18469	s.AccountIds = v
18470	return s
18471}
18472
18473type DescribeEffectiveInstanceAssociationsInput struct {
18474	_ struct{} `type:"structure"`
18475
18476	// The instance ID for which you want to view all associations.
18477	//
18478	// InstanceId is a required field
18479	InstanceId *string `type:"string" required:"true"`
18480
18481	// The maximum number of items to return for this call. The call also returns
18482	// a token that you can specify in a subsequent call to get the next set of
18483	// results.
18484	MaxResults *int64 `min:"1" type:"integer"`
18485
18486	// The token for the next set of items to return. (You received this token from
18487	// a previous call.)
18488	NextToken *string `type:"string"`
18489}
18490
18491// String returns the string representation
18492func (s DescribeEffectiveInstanceAssociationsInput) String() string {
18493	return awsutil.Prettify(s)
18494}
18495
18496// GoString returns the string representation
18497func (s DescribeEffectiveInstanceAssociationsInput) GoString() string {
18498	return s.String()
18499}
18500
18501// Validate inspects the fields of the type to determine if they are valid.
18502func (s *DescribeEffectiveInstanceAssociationsInput) Validate() error {
18503	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectiveInstanceAssociationsInput"}
18504	if s.InstanceId == nil {
18505		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
18506	}
18507	if s.MaxResults != nil && *s.MaxResults < 1 {
18508		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18509	}
18510
18511	if invalidParams.Len() > 0 {
18512		return invalidParams
18513	}
18514	return nil
18515}
18516
18517// SetInstanceId sets the InstanceId field's value.
18518func (s *DescribeEffectiveInstanceAssociationsInput) SetInstanceId(v string) *DescribeEffectiveInstanceAssociationsInput {
18519	s.InstanceId = &v
18520	return s
18521}
18522
18523// SetMaxResults sets the MaxResults field's value.
18524func (s *DescribeEffectiveInstanceAssociationsInput) SetMaxResults(v int64) *DescribeEffectiveInstanceAssociationsInput {
18525	s.MaxResults = &v
18526	return s
18527}
18528
18529// SetNextToken sets the NextToken field's value.
18530func (s *DescribeEffectiveInstanceAssociationsInput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsInput {
18531	s.NextToken = &v
18532	return s
18533}
18534
18535type DescribeEffectiveInstanceAssociationsOutput struct {
18536	_ struct{} `type:"structure"`
18537
18538	// The associations for the requested instance.
18539	Associations []*InstanceAssociation `type:"list"`
18540
18541	// The token to use when requesting the next set of items. If there are no additional
18542	// items to return, the string is empty.
18543	NextToken *string `type:"string"`
18544}
18545
18546// String returns the string representation
18547func (s DescribeEffectiveInstanceAssociationsOutput) String() string {
18548	return awsutil.Prettify(s)
18549}
18550
18551// GoString returns the string representation
18552func (s DescribeEffectiveInstanceAssociationsOutput) GoString() string {
18553	return s.String()
18554}
18555
18556// SetAssociations sets the Associations field's value.
18557func (s *DescribeEffectiveInstanceAssociationsOutput) SetAssociations(v []*InstanceAssociation) *DescribeEffectiveInstanceAssociationsOutput {
18558	s.Associations = v
18559	return s
18560}
18561
18562// SetNextToken sets the NextToken field's value.
18563func (s *DescribeEffectiveInstanceAssociationsOutput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsOutput {
18564	s.NextToken = &v
18565	return s
18566}
18567
18568type DescribeEffectivePatchesForPatchBaselineInput struct {
18569	_ struct{} `type:"structure"`
18570
18571	// The ID of the patch baseline to retrieve the effective patches for.
18572	//
18573	// BaselineId is a required field
18574	BaselineId *string `min:"20" type:"string" required:"true"`
18575
18576	// The maximum number of patches to return (per page).
18577	MaxResults *int64 `min:"1" type:"integer"`
18578
18579	// The token for the next set of items to return. (You received this token from
18580	// a previous call.)
18581	NextToken *string `type:"string"`
18582}
18583
18584// String returns the string representation
18585func (s DescribeEffectivePatchesForPatchBaselineInput) String() string {
18586	return awsutil.Prettify(s)
18587}
18588
18589// GoString returns the string representation
18590func (s DescribeEffectivePatchesForPatchBaselineInput) GoString() string {
18591	return s.String()
18592}
18593
18594// Validate inspects the fields of the type to determine if they are valid.
18595func (s *DescribeEffectivePatchesForPatchBaselineInput) Validate() error {
18596	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePatchesForPatchBaselineInput"}
18597	if s.BaselineId == nil {
18598		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
18599	}
18600	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
18601		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
18602	}
18603	if s.MaxResults != nil && *s.MaxResults < 1 {
18604		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18605	}
18606
18607	if invalidParams.Len() > 0 {
18608		return invalidParams
18609	}
18610	return nil
18611}
18612
18613// SetBaselineId sets the BaselineId field's value.
18614func (s *DescribeEffectivePatchesForPatchBaselineInput) SetBaselineId(v string) *DescribeEffectivePatchesForPatchBaselineInput {
18615	s.BaselineId = &v
18616	return s
18617}
18618
18619// SetMaxResults sets the MaxResults field's value.
18620func (s *DescribeEffectivePatchesForPatchBaselineInput) SetMaxResults(v int64) *DescribeEffectivePatchesForPatchBaselineInput {
18621	s.MaxResults = &v
18622	return s
18623}
18624
18625// SetNextToken sets the NextToken field's value.
18626func (s *DescribeEffectivePatchesForPatchBaselineInput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineInput {
18627	s.NextToken = &v
18628	return s
18629}
18630
18631type DescribeEffectivePatchesForPatchBaselineOutput struct {
18632	_ struct{} `type:"structure"`
18633
18634	// An array of patches and patch status.
18635	EffectivePatches []*EffectivePatch `type:"list"`
18636
18637	// The token to use when requesting the next set of items. If there are no additional
18638	// items to return, the string is empty.
18639	NextToken *string `type:"string"`
18640}
18641
18642// String returns the string representation
18643func (s DescribeEffectivePatchesForPatchBaselineOutput) String() string {
18644	return awsutil.Prettify(s)
18645}
18646
18647// GoString returns the string representation
18648func (s DescribeEffectivePatchesForPatchBaselineOutput) GoString() string {
18649	return s.String()
18650}
18651
18652// SetEffectivePatches sets the EffectivePatches field's value.
18653func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetEffectivePatches(v []*EffectivePatch) *DescribeEffectivePatchesForPatchBaselineOutput {
18654	s.EffectivePatches = v
18655	return s
18656}
18657
18658// SetNextToken sets the NextToken field's value.
18659func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineOutput {
18660	s.NextToken = &v
18661	return s
18662}
18663
18664type DescribeInstanceAssociationsStatusInput struct {
18665	_ struct{} `type:"structure"`
18666
18667	// The instance IDs for which you want association status information.
18668	//
18669	// InstanceId is a required field
18670	InstanceId *string `type:"string" required:"true"`
18671
18672	// The maximum number of items to return for this call. The call also returns
18673	// a token that you can specify in a subsequent call to get the next set of
18674	// results.
18675	MaxResults *int64 `min:"1" type:"integer"`
18676
18677	// The token for the next set of items to return. (You received this token from
18678	// a previous call.)
18679	NextToken *string `type:"string"`
18680}
18681
18682// String returns the string representation
18683func (s DescribeInstanceAssociationsStatusInput) String() string {
18684	return awsutil.Prettify(s)
18685}
18686
18687// GoString returns the string representation
18688func (s DescribeInstanceAssociationsStatusInput) GoString() string {
18689	return s.String()
18690}
18691
18692// Validate inspects the fields of the type to determine if they are valid.
18693func (s *DescribeInstanceAssociationsStatusInput) Validate() error {
18694	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAssociationsStatusInput"}
18695	if s.InstanceId == nil {
18696		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
18697	}
18698	if s.MaxResults != nil && *s.MaxResults < 1 {
18699		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18700	}
18701
18702	if invalidParams.Len() > 0 {
18703		return invalidParams
18704	}
18705	return nil
18706}
18707
18708// SetInstanceId sets the InstanceId field's value.
18709func (s *DescribeInstanceAssociationsStatusInput) SetInstanceId(v string) *DescribeInstanceAssociationsStatusInput {
18710	s.InstanceId = &v
18711	return s
18712}
18713
18714// SetMaxResults sets the MaxResults field's value.
18715func (s *DescribeInstanceAssociationsStatusInput) SetMaxResults(v int64) *DescribeInstanceAssociationsStatusInput {
18716	s.MaxResults = &v
18717	return s
18718}
18719
18720// SetNextToken sets the NextToken field's value.
18721func (s *DescribeInstanceAssociationsStatusInput) SetNextToken(v string) *DescribeInstanceAssociationsStatusInput {
18722	s.NextToken = &v
18723	return s
18724}
18725
18726type DescribeInstanceAssociationsStatusOutput struct {
18727	_ struct{} `type:"structure"`
18728
18729	// Status information about the association.
18730	InstanceAssociationStatusInfos []*InstanceAssociationStatusInfo `type:"list"`
18731
18732	// The token to use when requesting the next set of items. If there are no additional
18733	// items to return, the string is empty.
18734	NextToken *string `type:"string"`
18735}
18736
18737// String returns the string representation
18738func (s DescribeInstanceAssociationsStatusOutput) String() string {
18739	return awsutil.Prettify(s)
18740}
18741
18742// GoString returns the string representation
18743func (s DescribeInstanceAssociationsStatusOutput) GoString() string {
18744	return s.String()
18745}
18746
18747// SetInstanceAssociationStatusInfos sets the InstanceAssociationStatusInfos field's value.
18748func (s *DescribeInstanceAssociationsStatusOutput) SetInstanceAssociationStatusInfos(v []*InstanceAssociationStatusInfo) *DescribeInstanceAssociationsStatusOutput {
18749	s.InstanceAssociationStatusInfos = v
18750	return s
18751}
18752
18753// SetNextToken sets the NextToken field's value.
18754func (s *DescribeInstanceAssociationsStatusOutput) SetNextToken(v string) *DescribeInstanceAssociationsStatusOutput {
18755	s.NextToken = &v
18756	return s
18757}
18758
18759type DescribeInstanceInformationInput struct {
18760	_ struct{} `type:"structure"`
18761
18762	// One or more filters. Use a filter to return a more specific list of instances.
18763	// You can filter on Amazon EC2 tag. Specify tags by using a key-value mapping.
18764	Filters []*InstanceInformationStringFilter `type:"list"`
18765
18766	// This is a legacy method. We recommend that you don't use this method. Instead,
18767	// use the InstanceInformationFilter action. The InstanceInformationFilter action
18768	// enables you to return instance information by using tags that are specified
18769	// as a key-value mapping.
18770	//
18771	// If you do use this method, then you can't use the InstanceInformationFilter
18772	// action. Using this method and the InstanceInformationFilter action causes
18773	// an exception error.
18774	InstanceInformationFilterList []*InstanceInformationFilter `type:"list"`
18775
18776	// The maximum number of items to return for this call. The call also returns
18777	// a token that you can specify in a subsequent call to get the next set of
18778	// results.
18779	MaxResults *int64 `min:"5" type:"integer"`
18780
18781	// The token for the next set of items to return. (You received this token from
18782	// a previous call.)
18783	NextToken *string `type:"string"`
18784}
18785
18786// String returns the string representation
18787func (s DescribeInstanceInformationInput) String() string {
18788	return awsutil.Prettify(s)
18789}
18790
18791// GoString returns the string representation
18792func (s DescribeInstanceInformationInput) GoString() string {
18793	return s.String()
18794}
18795
18796// Validate inspects the fields of the type to determine if they are valid.
18797func (s *DescribeInstanceInformationInput) Validate() error {
18798	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"}
18799	if s.MaxResults != nil && *s.MaxResults < 5 {
18800		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
18801	}
18802	if s.Filters != nil {
18803		for i, v := range s.Filters {
18804			if v == nil {
18805				continue
18806			}
18807			if err := v.Validate(); err != nil {
18808				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18809			}
18810		}
18811	}
18812	if s.InstanceInformationFilterList != nil {
18813		for i, v := range s.InstanceInformationFilterList {
18814			if v == nil {
18815				continue
18816			}
18817			if err := v.Validate(); err != nil {
18818				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams))
18819			}
18820		}
18821	}
18822
18823	if invalidParams.Len() > 0 {
18824		return invalidParams
18825	}
18826	return nil
18827}
18828
18829// SetFilters sets the Filters field's value.
18830func (s *DescribeInstanceInformationInput) SetFilters(v []*InstanceInformationStringFilter) *DescribeInstanceInformationInput {
18831	s.Filters = v
18832	return s
18833}
18834
18835// SetInstanceInformationFilterList sets the InstanceInformationFilterList field's value.
18836func (s *DescribeInstanceInformationInput) SetInstanceInformationFilterList(v []*InstanceInformationFilter) *DescribeInstanceInformationInput {
18837	s.InstanceInformationFilterList = v
18838	return s
18839}
18840
18841// SetMaxResults sets the MaxResults field's value.
18842func (s *DescribeInstanceInformationInput) SetMaxResults(v int64) *DescribeInstanceInformationInput {
18843	s.MaxResults = &v
18844	return s
18845}
18846
18847// SetNextToken sets the NextToken field's value.
18848func (s *DescribeInstanceInformationInput) SetNextToken(v string) *DescribeInstanceInformationInput {
18849	s.NextToken = &v
18850	return s
18851}
18852
18853type DescribeInstanceInformationOutput struct {
18854	_ struct{} `type:"structure"`
18855
18856	// The instance information list.
18857	InstanceInformationList []*InstanceInformation `type:"list"`
18858
18859	// The token to use when requesting the next set of items. If there are no additional
18860	// items to return, the string is empty.
18861	NextToken *string `type:"string"`
18862}
18863
18864// String returns the string representation
18865func (s DescribeInstanceInformationOutput) String() string {
18866	return awsutil.Prettify(s)
18867}
18868
18869// GoString returns the string representation
18870func (s DescribeInstanceInformationOutput) GoString() string {
18871	return s.String()
18872}
18873
18874// SetInstanceInformationList sets the InstanceInformationList field's value.
18875func (s *DescribeInstanceInformationOutput) SetInstanceInformationList(v []*InstanceInformation) *DescribeInstanceInformationOutput {
18876	s.InstanceInformationList = v
18877	return s
18878}
18879
18880// SetNextToken sets the NextToken field's value.
18881func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInstanceInformationOutput {
18882	s.NextToken = &v
18883	return s
18884}
18885
18886type DescribeInstancePatchStatesForPatchGroupInput struct {
18887	_ struct{} `type:"structure"`
18888
18889	// Each entry in the array is a structure containing:
18890	//
18891	// Key (string between 1 and 200 characters)
18892	//
18893	// Values (array containing a single string)
18894	//
18895	// Type (string "Equal", "NotEqual", "LessThan", "GreaterThan")
18896	Filters []*InstancePatchStateFilter `type:"list"`
18897
18898	// The maximum number of patches to return (per page).
18899	MaxResults *int64 `min:"10" type:"integer"`
18900
18901	// The token for the next set of items to return. (You received this token from
18902	// a previous call.)
18903	NextToken *string `type:"string"`
18904
18905	// The name of the patch group for which the patch state information should
18906	// be retrieved.
18907	//
18908	// PatchGroup is a required field
18909	PatchGroup *string `min:"1" type:"string" required:"true"`
18910}
18911
18912// String returns the string representation
18913func (s DescribeInstancePatchStatesForPatchGroupInput) String() string {
18914	return awsutil.Prettify(s)
18915}
18916
18917// GoString returns the string representation
18918func (s DescribeInstancePatchStatesForPatchGroupInput) GoString() string {
18919	return s.String()
18920}
18921
18922// Validate inspects the fields of the type to determine if they are valid.
18923func (s *DescribeInstancePatchStatesForPatchGroupInput) Validate() error {
18924	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesForPatchGroupInput"}
18925	if s.MaxResults != nil && *s.MaxResults < 10 {
18926		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
18927	}
18928	if s.PatchGroup == nil {
18929		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
18930	}
18931	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
18932		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
18933	}
18934	if s.Filters != nil {
18935		for i, v := range s.Filters {
18936			if v == nil {
18937				continue
18938			}
18939			if err := v.Validate(); err != nil {
18940				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18941			}
18942		}
18943	}
18944
18945	if invalidParams.Len() > 0 {
18946		return invalidParams
18947	}
18948	return nil
18949}
18950
18951// SetFilters sets the Filters field's value.
18952func (s *DescribeInstancePatchStatesForPatchGroupInput) SetFilters(v []*InstancePatchStateFilter) *DescribeInstancePatchStatesForPatchGroupInput {
18953	s.Filters = v
18954	return s
18955}
18956
18957// SetMaxResults sets the MaxResults field's value.
18958func (s *DescribeInstancePatchStatesForPatchGroupInput) SetMaxResults(v int64) *DescribeInstancePatchStatesForPatchGroupInput {
18959	s.MaxResults = &v
18960	return s
18961}
18962
18963// SetNextToken sets the NextToken field's value.
18964func (s *DescribeInstancePatchStatesForPatchGroupInput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupInput {
18965	s.NextToken = &v
18966	return s
18967}
18968
18969// SetPatchGroup sets the PatchGroup field's value.
18970func (s *DescribeInstancePatchStatesForPatchGroupInput) SetPatchGroup(v string) *DescribeInstancePatchStatesForPatchGroupInput {
18971	s.PatchGroup = &v
18972	return s
18973}
18974
18975type DescribeInstancePatchStatesForPatchGroupOutput struct {
18976	_ struct{} `type:"structure"`
18977
18978	// The high-level patch state for the requested instances.
18979	InstancePatchStates []*InstancePatchState `min:"1" type:"list"`
18980
18981	// The token to use when requesting the next set of items. If there are no additional
18982	// items to return, the string is empty.
18983	NextToken *string `type:"string"`
18984}
18985
18986// String returns the string representation
18987func (s DescribeInstancePatchStatesForPatchGroupOutput) String() string {
18988	return awsutil.Prettify(s)
18989}
18990
18991// GoString returns the string representation
18992func (s DescribeInstancePatchStatesForPatchGroupOutput) GoString() string {
18993	return s.String()
18994}
18995
18996// SetInstancePatchStates sets the InstancePatchStates field's value.
18997func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesForPatchGroupOutput {
18998	s.InstancePatchStates = v
18999	return s
19000}
19001
19002// SetNextToken sets the NextToken field's value.
19003func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupOutput {
19004	s.NextToken = &v
19005	return s
19006}
19007
19008type DescribeInstancePatchStatesInput struct {
19009	_ struct{} `type:"structure"`
19010
19011	// The ID of the instance whose patch state information should be retrieved.
19012	//
19013	// InstanceIds is a required field
19014	InstanceIds []*string `type:"list" required:"true"`
19015
19016	// The maximum number of instances to return (per page).
19017	MaxResults *int64 `min:"10" type:"integer"`
19018
19019	// The token for the next set of items to return. (You received this token from
19020	// a previous call.)
19021	NextToken *string `type:"string"`
19022}
19023
19024// String returns the string representation
19025func (s DescribeInstancePatchStatesInput) String() string {
19026	return awsutil.Prettify(s)
19027}
19028
19029// GoString returns the string representation
19030func (s DescribeInstancePatchStatesInput) GoString() string {
19031	return s.String()
19032}
19033
19034// Validate inspects the fields of the type to determine if they are valid.
19035func (s *DescribeInstancePatchStatesInput) Validate() error {
19036	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesInput"}
19037	if s.InstanceIds == nil {
19038		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
19039	}
19040	if s.MaxResults != nil && *s.MaxResults < 10 {
19041		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19042	}
19043
19044	if invalidParams.Len() > 0 {
19045		return invalidParams
19046	}
19047	return nil
19048}
19049
19050// SetInstanceIds sets the InstanceIds field's value.
19051func (s *DescribeInstancePatchStatesInput) SetInstanceIds(v []*string) *DescribeInstancePatchStatesInput {
19052	s.InstanceIds = v
19053	return s
19054}
19055
19056// SetMaxResults sets the MaxResults field's value.
19057func (s *DescribeInstancePatchStatesInput) SetMaxResults(v int64) *DescribeInstancePatchStatesInput {
19058	s.MaxResults = &v
19059	return s
19060}
19061
19062// SetNextToken sets the NextToken field's value.
19063func (s *DescribeInstancePatchStatesInput) SetNextToken(v string) *DescribeInstancePatchStatesInput {
19064	s.NextToken = &v
19065	return s
19066}
19067
19068type DescribeInstancePatchStatesOutput struct {
19069	_ struct{} `type:"structure"`
19070
19071	// The high-level patch state for the requested instances.
19072	InstancePatchStates []*InstancePatchState `type:"list"`
19073
19074	// The token to use when requesting the next set of items. If there are no additional
19075	// items to return, the string is empty.
19076	NextToken *string `type:"string"`
19077}
19078
19079// String returns the string representation
19080func (s DescribeInstancePatchStatesOutput) String() string {
19081	return awsutil.Prettify(s)
19082}
19083
19084// GoString returns the string representation
19085func (s DescribeInstancePatchStatesOutput) GoString() string {
19086	return s.String()
19087}
19088
19089// SetInstancePatchStates sets the InstancePatchStates field's value.
19090func (s *DescribeInstancePatchStatesOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesOutput {
19091	s.InstancePatchStates = v
19092	return s
19093}
19094
19095// SetNextToken sets the NextToken field's value.
19096func (s *DescribeInstancePatchStatesOutput) SetNextToken(v string) *DescribeInstancePatchStatesOutput {
19097	s.NextToken = &v
19098	return s
19099}
19100
19101type DescribeInstancePatchesInput struct {
19102	_ struct{} `type:"structure"`
19103
19104	// An array of structures. Each entry in the array is a structure containing
19105	// a Key, Value combination. Valid values for Key are Classification | KBId
19106	// | Severity | State.
19107	Filters []*PatchOrchestratorFilter `type:"list"`
19108
19109	// The ID of the instance whose patch state information should be retrieved.
19110	//
19111	// InstanceId is a required field
19112	InstanceId *string `type:"string" required:"true"`
19113
19114	// The maximum number of patches to return (per page).
19115	MaxResults *int64 `min:"10" type:"integer"`
19116
19117	// The token for the next set of items to return. (You received this token from
19118	// a previous call.)
19119	NextToken *string `type:"string"`
19120}
19121
19122// String returns the string representation
19123func (s DescribeInstancePatchesInput) String() string {
19124	return awsutil.Prettify(s)
19125}
19126
19127// GoString returns the string representation
19128func (s DescribeInstancePatchesInput) GoString() string {
19129	return s.String()
19130}
19131
19132// Validate inspects the fields of the type to determine if they are valid.
19133func (s *DescribeInstancePatchesInput) Validate() error {
19134	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchesInput"}
19135	if s.InstanceId == nil {
19136		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19137	}
19138	if s.MaxResults != nil && *s.MaxResults < 10 {
19139		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19140	}
19141	if s.Filters != nil {
19142		for i, v := range s.Filters {
19143			if v == nil {
19144				continue
19145			}
19146			if err := v.Validate(); err != nil {
19147				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19148			}
19149		}
19150	}
19151
19152	if invalidParams.Len() > 0 {
19153		return invalidParams
19154	}
19155	return nil
19156}
19157
19158// SetFilters sets the Filters field's value.
19159func (s *DescribeInstancePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeInstancePatchesInput {
19160	s.Filters = v
19161	return s
19162}
19163
19164// SetInstanceId sets the InstanceId field's value.
19165func (s *DescribeInstancePatchesInput) SetInstanceId(v string) *DescribeInstancePatchesInput {
19166	s.InstanceId = &v
19167	return s
19168}
19169
19170// SetMaxResults sets the MaxResults field's value.
19171func (s *DescribeInstancePatchesInput) SetMaxResults(v int64) *DescribeInstancePatchesInput {
19172	s.MaxResults = &v
19173	return s
19174}
19175
19176// SetNextToken sets the NextToken field's value.
19177func (s *DescribeInstancePatchesInput) SetNextToken(v string) *DescribeInstancePatchesInput {
19178	s.NextToken = &v
19179	return s
19180}
19181
19182type DescribeInstancePatchesOutput struct {
19183	_ struct{} `type:"structure"`
19184
19185	// The token to use when requesting the next set of items. If there are no additional
19186	// items to return, the string is empty.
19187	NextToken *string `type:"string"`
19188
19189	// Each entry in the array is a structure containing:
19190	//
19191	// Title (string)
19192	//
19193	// KBId (string)
19194	//
19195	// Classification (string)
19196	//
19197	// Severity (string)
19198	//
19199	// State (string, such as "INSTALLED" or "FAILED")
19200	//
19201	// InstalledTime (DateTime)
19202	//
19203	// InstalledBy (string)
19204	Patches []*PatchComplianceData `type:"list"`
19205}
19206
19207// String returns the string representation
19208func (s DescribeInstancePatchesOutput) String() string {
19209	return awsutil.Prettify(s)
19210}
19211
19212// GoString returns the string representation
19213func (s DescribeInstancePatchesOutput) GoString() string {
19214	return s.String()
19215}
19216
19217// SetNextToken sets the NextToken field's value.
19218func (s *DescribeInstancePatchesOutput) SetNextToken(v string) *DescribeInstancePatchesOutput {
19219	s.NextToken = &v
19220	return s
19221}
19222
19223// SetPatches sets the Patches field's value.
19224func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *DescribeInstancePatchesOutput {
19225	s.Patches = v
19226	return s
19227}
19228
19229type DescribeInventoryDeletionsInput struct {
19230	_ struct{} `type:"structure"`
19231
19232	// Specify the delete inventory ID for which you want information. This ID was
19233	// returned by the DeleteInventory action.
19234	DeletionId *string `type:"string"`
19235
19236	// The maximum number of items to return for this call. The call also returns
19237	// a token that you can specify in a subsequent call to get the next set of
19238	// results.
19239	MaxResults *int64 `min:"1" type:"integer"`
19240
19241	// A token to start the list. Use this token to get the next set of results.
19242	NextToken *string `type:"string"`
19243}
19244
19245// String returns the string representation
19246func (s DescribeInventoryDeletionsInput) String() string {
19247	return awsutil.Prettify(s)
19248}
19249
19250// GoString returns the string representation
19251func (s DescribeInventoryDeletionsInput) GoString() string {
19252	return s.String()
19253}
19254
19255// Validate inspects the fields of the type to determine if they are valid.
19256func (s *DescribeInventoryDeletionsInput) Validate() error {
19257	invalidParams := request.ErrInvalidParams{Context: "DescribeInventoryDeletionsInput"}
19258	if s.MaxResults != nil && *s.MaxResults < 1 {
19259		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19260	}
19261
19262	if invalidParams.Len() > 0 {
19263		return invalidParams
19264	}
19265	return nil
19266}
19267
19268// SetDeletionId sets the DeletionId field's value.
19269func (s *DescribeInventoryDeletionsInput) SetDeletionId(v string) *DescribeInventoryDeletionsInput {
19270	s.DeletionId = &v
19271	return s
19272}
19273
19274// SetMaxResults sets the MaxResults field's value.
19275func (s *DescribeInventoryDeletionsInput) SetMaxResults(v int64) *DescribeInventoryDeletionsInput {
19276	s.MaxResults = &v
19277	return s
19278}
19279
19280// SetNextToken sets the NextToken field's value.
19281func (s *DescribeInventoryDeletionsInput) SetNextToken(v string) *DescribeInventoryDeletionsInput {
19282	s.NextToken = &v
19283	return s
19284}
19285
19286type DescribeInventoryDeletionsOutput struct {
19287	_ struct{} `type:"structure"`
19288
19289	// A list of status items for deleted inventory.
19290	InventoryDeletions []*InventoryDeletionStatusItem `type:"list"`
19291
19292	// The token for the next set of items to return. Use this token to get the
19293	// next set of results.
19294	NextToken *string `type:"string"`
19295}
19296
19297// String returns the string representation
19298func (s DescribeInventoryDeletionsOutput) String() string {
19299	return awsutil.Prettify(s)
19300}
19301
19302// GoString returns the string representation
19303func (s DescribeInventoryDeletionsOutput) GoString() string {
19304	return s.String()
19305}
19306
19307// SetInventoryDeletions sets the InventoryDeletions field's value.
19308func (s *DescribeInventoryDeletionsOutput) SetInventoryDeletions(v []*InventoryDeletionStatusItem) *DescribeInventoryDeletionsOutput {
19309	s.InventoryDeletions = v
19310	return s
19311}
19312
19313// SetNextToken sets the NextToken field's value.
19314func (s *DescribeInventoryDeletionsOutput) SetNextToken(v string) *DescribeInventoryDeletionsOutput {
19315	s.NextToken = &v
19316	return s
19317}
19318
19319type DescribeMaintenanceWindowExecutionTaskInvocationsInput struct {
19320	_ struct{} `type:"structure"`
19321
19322	// Optional filters used to scope down the returned task invocations. The supported
19323	// filter key is STATUS with the corresponding values PENDING, IN_PROGRESS,
19324	// SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
19325	Filters []*MaintenanceWindowFilter `type:"list"`
19326
19327	// The maximum number of items to return for this call. The call also returns
19328	// a token that you can specify in a subsequent call to get the next set of
19329	// results.
19330	MaxResults *int64 `min:"10" type:"integer"`
19331
19332	// The token for the next set of items to return. (You received this token from
19333	// a previous call.)
19334	NextToken *string `type:"string"`
19335
19336	// The ID of the specific task in the maintenance window task that should be
19337	// retrieved.
19338	//
19339	// TaskId is a required field
19340	TaskId *string `min:"36" type:"string" required:"true"`
19341
19342	// The ID of the maintenance window execution the task is part of.
19343	//
19344	// WindowExecutionId is a required field
19345	WindowExecutionId *string `min:"36" type:"string" required:"true"`
19346}
19347
19348// String returns the string representation
19349func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) String() string {
19350	return awsutil.Prettify(s)
19351}
19352
19353// GoString returns the string representation
19354func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) GoString() string {
19355	return s.String()
19356}
19357
19358// Validate inspects the fields of the type to determine if they are valid.
19359func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) Validate() error {
19360	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTaskInvocationsInput"}
19361	if s.MaxResults != nil && *s.MaxResults < 10 {
19362		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19363	}
19364	if s.TaskId == nil {
19365		invalidParams.Add(request.NewErrParamRequired("TaskId"))
19366	}
19367	if s.TaskId != nil && len(*s.TaskId) < 36 {
19368		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
19369	}
19370	if s.WindowExecutionId == nil {
19371		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
19372	}
19373	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
19374		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
19375	}
19376	if s.Filters != nil {
19377		for i, v := range s.Filters {
19378			if v == nil {
19379				continue
19380			}
19381			if err := v.Validate(); err != nil {
19382				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19383			}
19384		}
19385	}
19386
19387	if invalidParams.Len() > 0 {
19388		return invalidParams
19389	}
19390	return nil
19391}
19392
19393// SetFilters sets the Filters field's value.
19394func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19395	s.Filters = v
19396	return s
19397}
19398
19399// SetMaxResults sets the MaxResults field's value.
19400func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19401	s.MaxResults = &v
19402	return s
19403}
19404
19405// SetNextToken sets the NextToken field's value.
19406func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19407	s.NextToken = &v
19408	return s
19409}
19410
19411// SetTaskId sets the TaskId field's value.
19412func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetTaskId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19413	s.TaskId = &v
19414	return s
19415}
19416
19417// SetWindowExecutionId sets the WindowExecutionId field's value.
19418func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19419	s.WindowExecutionId = &v
19420	return s
19421}
19422
19423type DescribeMaintenanceWindowExecutionTaskInvocationsOutput struct {
19424	_ struct{} `type:"structure"`
19425
19426	// The token to use when requesting the next set of items. If there are no additional
19427	// items to return, the string is empty.
19428	NextToken *string `type:"string"`
19429
19430	// Information about the task invocation results per invocation.
19431	WindowExecutionTaskInvocationIdentities []*MaintenanceWindowExecutionTaskInvocationIdentity `type:"list"`
19432}
19433
19434// String returns the string representation
19435func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) String() string {
19436	return awsutil.Prettify(s)
19437}
19438
19439// GoString returns the string representation
19440func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) GoString() string {
19441	return s.String()
19442}
19443
19444// SetNextToken sets the NextToken field's value.
19445func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
19446	s.NextToken = &v
19447	return s
19448}
19449
19450// SetWindowExecutionTaskInvocationIdentities sets the WindowExecutionTaskInvocationIdentities field's value.
19451func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetWindowExecutionTaskInvocationIdentities(v []*MaintenanceWindowExecutionTaskInvocationIdentity) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
19452	s.WindowExecutionTaskInvocationIdentities = v
19453	return s
19454}
19455
19456type DescribeMaintenanceWindowExecutionTasksInput struct {
19457	_ struct{} `type:"structure"`
19458
19459	// Optional filters used to scope down the returned tasks. The supported filter
19460	// key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS,
19461	// FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
19462	Filters []*MaintenanceWindowFilter `type:"list"`
19463
19464	// The maximum number of items to return for this call. The call also returns
19465	// a token that you can specify in a subsequent call to get the next set of
19466	// results.
19467	MaxResults *int64 `min:"10" type:"integer"`
19468
19469	// The token for the next set of items to return. (You received this token from
19470	// a previous call.)
19471	NextToken *string `type:"string"`
19472
19473	// The ID of the maintenance window execution whose task executions should be
19474	// retrieved.
19475	//
19476	// WindowExecutionId is a required field
19477	WindowExecutionId *string `min:"36" type:"string" required:"true"`
19478}
19479
19480// String returns the string representation
19481func (s DescribeMaintenanceWindowExecutionTasksInput) String() string {
19482	return awsutil.Prettify(s)
19483}
19484
19485// GoString returns the string representation
19486func (s DescribeMaintenanceWindowExecutionTasksInput) GoString() string {
19487	return s.String()
19488}
19489
19490// Validate inspects the fields of the type to determine if they are valid.
19491func (s *DescribeMaintenanceWindowExecutionTasksInput) Validate() error {
19492	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTasksInput"}
19493	if s.MaxResults != nil && *s.MaxResults < 10 {
19494		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19495	}
19496	if s.WindowExecutionId == nil {
19497		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
19498	}
19499	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
19500		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
19501	}
19502	if s.Filters != nil {
19503		for i, v := range s.Filters {
19504			if v == nil {
19505				continue
19506			}
19507			if err := v.Validate(); err != nil {
19508				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19509			}
19510		}
19511	}
19512
19513	if invalidParams.Len() > 0 {
19514		return invalidParams
19515	}
19516	return nil
19517}
19518
19519// SetFilters sets the Filters field's value.
19520func (s *DescribeMaintenanceWindowExecutionTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTasksInput {
19521	s.Filters = v
19522	return s
19523}
19524
19525// SetMaxResults sets the MaxResults field's value.
19526func (s *DescribeMaintenanceWindowExecutionTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTasksInput {
19527	s.MaxResults = &v
19528	return s
19529}
19530
19531// SetNextToken sets the NextToken field's value.
19532func (s *DescribeMaintenanceWindowExecutionTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksInput {
19533	s.NextToken = &v
19534	return s
19535}
19536
19537// SetWindowExecutionId sets the WindowExecutionId field's value.
19538func (s *DescribeMaintenanceWindowExecutionTasksInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTasksInput {
19539	s.WindowExecutionId = &v
19540	return s
19541}
19542
19543type DescribeMaintenanceWindowExecutionTasksOutput struct {
19544	_ struct{} `type:"structure"`
19545
19546	// The token to use when requesting the next set of items. If there are no additional
19547	// items to return, the string is empty.
19548	NextToken *string `type:"string"`
19549
19550	// Information about the task executions.
19551	WindowExecutionTaskIdentities []*MaintenanceWindowExecutionTaskIdentity `type:"list"`
19552}
19553
19554// String returns the string representation
19555func (s DescribeMaintenanceWindowExecutionTasksOutput) String() string {
19556	return awsutil.Prettify(s)
19557}
19558
19559// GoString returns the string representation
19560func (s DescribeMaintenanceWindowExecutionTasksOutput) GoString() string {
19561	return s.String()
19562}
19563
19564// SetNextToken sets the NextToken field's value.
19565func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksOutput {
19566	s.NextToken = &v
19567	return s
19568}
19569
19570// SetWindowExecutionTaskIdentities sets the WindowExecutionTaskIdentities field's value.
19571func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetWindowExecutionTaskIdentities(v []*MaintenanceWindowExecutionTaskIdentity) *DescribeMaintenanceWindowExecutionTasksOutput {
19572	s.WindowExecutionTaskIdentities = v
19573	return s
19574}
19575
19576type DescribeMaintenanceWindowExecutionsInput struct {
19577	_ struct{} `type:"structure"`
19578
19579	// Each entry in the array is a structure containing:
19580	//
19581	// Key (string, between 1 and 128 characters)
19582	//
19583	// Values (array of strings, each string is between 1 and 256 characters)
19584	//
19585	// The supported Keys are ExecutedBefore and ExecutedAfter with the value being
19586	// a date/time string such as 2016-11-04T05:00:00Z.
19587	Filters []*MaintenanceWindowFilter `type:"list"`
19588
19589	// The maximum number of items to return for this call. The call also returns
19590	// a token that you can specify in a subsequent call to get the next set of
19591	// results.
19592	MaxResults *int64 `min:"10" type:"integer"`
19593
19594	// The token for the next set of items to return. (You received this token from
19595	// a previous call.)
19596	NextToken *string `type:"string"`
19597
19598	// The ID of the maintenance window whose executions should be retrieved.
19599	//
19600	// WindowId is a required field
19601	WindowId *string `min:"20" type:"string" required:"true"`
19602}
19603
19604// String returns the string representation
19605func (s DescribeMaintenanceWindowExecutionsInput) String() string {
19606	return awsutil.Prettify(s)
19607}
19608
19609// GoString returns the string representation
19610func (s DescribeMaintenanceWindowExecutionsInput) GoString() string {
19611	return s.String()
19612}
19613
19614// Validate inspects the fields of the type to determine if they are valid.
19615func (s *DescribeMaintenanceWindowExecutionsInput) Validate() error {
19616	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionsInput"}
19617	if s.MaxResults != nil && *s.MaxResults < 10 {
19618		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19619	}
19620	if s.WindowId == nil {
19621		invalidParams.Add(request.NewErrParamRequired("WindowId"))
19622	}
19623	if s.WindowId != nil && len(*s.WindowId) < 20 {
19624		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
19625	}
19626	if s.Filters != nil {
19627		for i, v := range s.Filters {
19628			if v == nil {
19629				continue
19630			}
19631			if err := v.Validate(); err != nil {
19632				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19633			}
19634		}
19635	}
19636
19637	if invalidParams.Len() > 0 {
19638		return invalidParams
19639	}
19640	return nil
19641}
19642
19643// SetFilters sets the Filters field's value.
19644func (s *DescribeMaintenanceWindowExecutionsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionsInput {
19645	s.Filters = v
19646	return s
19647}
19648
19649// SetMaxResults sets the MaxResults field's value.
19650func (s *DescribeMaintenanceWindowExecutionsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionsInput {
19651	s.MaxResults = &v
19652	return s
19653}
19654
19655// SetNextToken sets the NextToken field's value.
19656func (s *DescribeMaintenanceWindowExecutionsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsInput {
19657	s.NextToken = &v
19658	return s
19659}
19660
19661// SetWindowId sets the WindowId field's value.
19662func (s *DescribeMaintenanceWindowExecutionsInput) SetWindowId(v string) *DescribeMaintenanceWindowExecutionsInput {
19663	s.WindowId = &v
19664	return s
19665}
19666
19667type DescribeMaintenanceWindowExecutionsOutput struct {
19668	_ struct{} `type:"structure"`
19669
19670	// The token to use when requesting the next set of items. If there are no additional
19671	// items to return, the string is empty.
19672	NextToken *string `type:"string"`
19673
19674	// Information about the maintenance window executions.
19675	WindowExecutions []*MaintenanceWindowExecution `type:"list"`
19676}
19677
19678// String returns the string representation
19679func (s DescribeMaintenanceWindowExecutionsOutput) String() string {
19680	return awsutil.Prettify(s)
19681}
19682
19683// GoString returns the string representation
19684func (s DescribeMaintenanceWindowExecutionsOutput) GoString() string {
19685	return s.String()
19686}
19687
19688// SetNextToken sets the NextToken field's value.
19689func (s *DescribeMaintenanceWindowExecutionsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsOutput {
19690	s.NextToken = &v
19691	return s
19692}
19693
19694// SetWindowExecutions sets the WindowExecutions field's value.
19695func (s *DescribeMaintenanceWindowExecutionsOutput) SetWindowExecutions(v []*MaintenanceWindowExecution) *DescribeMaintenanceWindowExecutionsOutput {
19696	s.WindowExecutions = v
19697	return s
19698}
19699
19700type DescribeMaintenanceWindowScheduleInput struct {
19701	_ struct{} `type:"structure"`
19702
19703	// Filters used to limit the range of results. For example, you can limit maintenance
19704	// window executions to only those scheduled before or after a certain date
19705	// and time.
19706	Filters []*PatchOrchestratorFilter `type:"list"`
19707
19708	// The maximum number of items to return for this call. The call also returns
19709	// a token that you can specify in a subsequent call to get the next set of
19710	// results.
19711	MaxResults *int64 `min:"1" type:"integer"`
19712
19713	// The token for the next set of items to return. (You received this token from
19714	// a previous call.)
19715	NextToken *string `type:"string"`
19716
19717	// The type of resource you want to retrieve information about. For example,
19718	// "INSTANCE".
19719	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
19720
19721	// The instance ID or key/value pair to retrieve information about.
19722	Targets []*Target `type:"list"`
19723
19724	// The ID of the maintenance window to retrieve information about.
19725	WindowId *string `min:"20" type:"string"`
19726}
19727
19728// String returns the string representation
19729func (s DescribeMaintenanceWindowScheduleInput) String() string {
19730	return awsutil.Prettify(s)
19731}
19732
19733// GoString returns the string representation
19734func (s DescribeMaintenanceWindowScheduleInput) GoString() string {
19735	return s.String()
19736}
19737
19738// Validate inspects the fields of the type to determine if they are valid.
19739func (s *DescribeMaintenanceWindowScheduleInput) Validate() error {
19740	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowScheduleInput"}
19741	if s.MaxResults != nil && *s.MaxResults < 1 {
19742		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19743	}
19744	if s.WindowId != nil && len(*s.WindowId) < 20 {
19745		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
19746	}
19747	if s.Filters != nil {
19748		for i, v := range s.Filters {
19749			if v == nil {
19750				continue
19751			}
19752			if err := v.Validate(); err != nil {
19753				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19754			}
19755		}
19756	}
19757	if s.Targets != nil {
19758		for i, v := range s.Targets {
19759			if v == nil {
19760				continue
19761			}
19762			if err := v.Validate(); err != nil {
19763				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
19764			}
19765		}
19766	}
19767
19768	if invalidParams.Len() > 0 {
19769		return invalidParams
19770	}
19771	return nil
19772}
19773
19774// SetFilters sets the Filters field's value.
19775func (s *DescribeMaintenanceWindowScheduleInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeMaintenanceWindowScheduleInput {
19776	s.Filters = v
19777	return s
19778}
19779
19780// SetMaxResults sets the MaxResults field's value.
19781func (s *DescribeMaintenanceWindowScheduleInput) SetMaxResults(v int64) *DescribeMaintenanceWindowScheduleInput {
19782	s.MaxResults = &v
19783	return s
19784}
19785
19786// SetNextToken sets the NextToken field's value.
19787func (s *DescribeMaintenanceWindowScheduleInput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleInput {
19788	s.NextToken = &v
19789	return s
19790}
19791
19792// SetResourceType sets the ResourceType field's value.
19793func (s *DescribeMaintenanceWindowScheduleInput) SetResourceType(v string) *DescribeMaintenanceWindowScheduleInput {
19794	s.ResourceType = &v
19795	return s
19796}
19797
19798// SetTargets sets the Targets field's value.
19799func (s *DescribeMaintenanceWindowScheduleInput) SetTargets(v []*Target) *DescribeMaintenanceWindowScheduleInput {
19800	s.Targets = v
19801	return s
19802}
19803
19804// SetWindowId sets the WindowId field's value.
19805func (s *DescribeMaintenanceWindowScheduleInput) SetWindowId(v string) *DescribeMaintenanceWindowScheduleInput {
19806	s.WindowId = &v
19807	return s
19808}
19809
19810type DescribeMaintenanceWindowScheduleOutput struct {
19811	_ struct{} `type:"structure"`
19812
19813	// The token for the next set of items to return. (You use this token in the
19814	// next call.)
19815	NextToken *string `type:"string"`
19816
19817	// Information about maintenance window executions scheduled for the specified
19818	// time range.
19819	ScheduledWindowExecutions []*ScheduledWindowExecution `type:"list"`
19820}
19821
19822// String returns the string representation
19823func (s DescribeMaintenanceWindowScheduleOutput) String() string {
19824	return awsutil.Prettify(s)
19825}
19826
19827// GoString returns the string representation
19828func (s DescribeMaintenanceWindowScheduleOutput) GoString() string {
19829	return s.String()
19830}
19831
19832// SetNextToken sets the NextToken field's value.
19833func (s *DescribeMaintenanceWindowScheduleOutput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleOutput {
19834	s.NextToken = &v
19835	return s
19836}
19837
19838// SetScheduledWindowExecutions sets the ScheduledWindowExecutions field's value.
19839func (s *DescribeMaintenanceWindowScheduleOutput) SetScheduledWindowExecutions(v []*ScheduledWindowExecution) *DescribeMaintenanceWindowScheduleOutput {
19840	s.ScheduledWindowExecutions = v
19841	return s
19842}
19843
19844type DescribeMaintenanceWindowTargetsInput struct {
19845	_ struct{} `type:"structure"`
19846
19847	// Optional filters that can be used to narrow down the scope of the returned
19848	// window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.
19849	Filters []*MaintenanceWindowFilter `type:"list"`
19850
19851	// The maximum number of items to return for this call. The call also returns
19852	// a token that you can specify in a subsequent call to get the next set of
19853	// results.
19854	MaxResults *int64 `min:"10" type:"integer"`
19855
19856	// The token for the next set of items to return. (You received this token from
19857	// a previous call.)
19858	NextToken *string `type:"string"`
19859
19860	// The ID of the maintenance window whose targets should be retrieved.
19861	//
19862	// WindowId is a required field
19863	WindowId *string `min:"20" type:"string" required:"true"`
19864}
19865
19866// String returns the string representation
19867func (s DescribeMaintenanceWindowTargetsInput) String() string {
19868	return awsutil.Prettify(s)
19869}
19870
19871// GoString returns the string representation
19872func (s DescribeMaintenanceWindowTargetsInput) GoString() string {
19873	return s.String()
19874}
19875
19876// Validate inspects the fields of the type to determine if they are valid.
19877func (s *DescribeMaintenanceWindowTargetsInput) Validate() error {
19878	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTargetsInput"}
19879	if s.MaxResults != nil && *s.MaxResults < 10 {
19880		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19881	}
19882	if s.WindowId == nil {
19883		invalidParams.Add(request.NewErrParamRequired("WindowId"))
19884	}
19885	if s.WindowId != nil && len(*s.WindowId) < 20 {
19886		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
19887	}
19888	if s.Filters != nil {
19889		for i, v := range s.Filters {
19890			if v == nil {
19891				continue
19892			}
19893			if err := v.Validate(); err != nil {
19894				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19895			}
19896		}
19897	}
19898
19899	if invalidParams.Len() > 0 {
19900		return invalidParams
19901	}
19902	return nil
19903}
19904
19905// SetFilters sets the Filters field's value.
19906func (s *DescribeMaintenanceWindowTargetsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTargetsInput {
19907	s.Filters = v
19908	return s
19909}
19910
19911// SetMaxResults sets the MaxResults field's value.
19912func (s *DescribeMaintenanceWindowTargetsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTargetsInput {
19913	s.MaxResults = &v
19914	return s
19915}
19916
19917// SetNextToken sets the NextToken field's value.
19918func (s *DescribeMaintenanceWindowTargetsInput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsInput {
19919	s.NextToken = &v
19920	return s
19921}
19922
19923// SetWindowId sets the WindowId field's value.
19924func (s *DescribeMaintenanceWindowTargetsInput) SetWindowId(v string) *DescribeMaintenanceWindowTargetsInput {
19925	s.WindowId = &v
19926	return s
19927}
19928
19929type DescribeMaintenanceWindowTargetsOutput struct {
19930	_ struct{} `type:"structure"`
19931
19932	// The token to use when requesting the next set of items. If there are no additional
19933	// items to return, the string is empty.
19934	NextToken *string `type:"string"`
19935
19936	// Information about the targets in the maintenance window.
19937	Targets []*MaintenanceWindowTarget `type:"list"`
19938}
19939
19940// String returns the string representation
19941func (s DescribeMaintenanceWindowTargetsOutput) String() string {
19942	return awsutil.Prettify(s)
19943}
19944
19945// GoString returns the string representation
19946func (s DescribeMaintenanceWindowTargetsOutput) GoString() string {
19947	return s.String()
19948}
19949
19950// SetNextToken sets the NextToken field's value.
19951func (s *DescribeMaintenanceWindowTargetsOutput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsOutput {
19952	s.NextToken = &v
19953	return s
19954}
19955
19956// SetTargets sets the Targets field's value.
19957func (s *DescribeMaintenanceWindowTargetsOutput) SetTargets(v []*MaintenanceWindowTarget) *DescribeMaintenanceWindowTargetsOutput {
19958	s.Targets = v
19959	return s
19960}
19961
19962type DescribeMaintenanceWindowTasksInput struct {
19963	_ struct{} `type:"structure"`
19964
19965	// Optional filters used to narrow down the scope of the returned tasks. The
19966	// supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.
19967	Filters []*MaintenanceWindowFilter `type:"list"`
19968
19969	// The maximum number of items to return for this call. The call also returns
19970	// a token that you can specify in a subsequent call to get the next set of
19971	// results.
19972	MaxResults *int64 `min:"10" type:"integer"`
19973
19974	// The token for the next set of items to return. (You received this token from
19975	// a previous call.)
19976	NextToken *string `type:"string"`
19977
19978	// The ID of the maintenance window whose tasks should be retrieved.
19979	//
19980	// WindowId is a required field
19981	WindowId *string `min:"20" type:"string" required:"true"`
19982}
19983
19984// String returns the string representation
19985func (s DescribeMaintenanceWindowTasksInput) String() string {
19986	return awsutil.Prettify(s)
19987}
19988
19989// GoString returns the string representation
19990func (s DescribeMaintenanceWindowTasksInput) GoString() string {
19991	return s.String()
19992}
19993
19994// Validate inspects the fields of the type to determine if they are valid.
19995func (s *DescribeMaintenanceWindowTasksInput) Validate() error {
19996	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTasksInput"}
19997	if s.MaxResults != nil && *s.MaxResults < 10 {
19998		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19999	}
20000	if s.WindowId == nil {
20001		invalidParams.Add(request.NewErrParamRequired("WindowId"))
20002	}
20003	if s.WindowId != nil && len(*s.WindowId) < 20 {
20004		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
20005	}
20006	if s.Filters != nil {
20007		for i, v := range s.Filters {
20008			if v == nil {
20009				continue
20010			}
20011			if err := v.Validate(); err != nil {
20012				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20013			}
20014		}
20015	}
20016
20017	if invalidParams.Len() > 0 {
20018		return invalidParams
20019	}
20020	return nil
20021}
20022
20023// SetFilters sets the Filters field's value.
20024func (s *DescribeMaintenanceWindowTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTasksInput {
20025	s.Filters = v
20026	return s
20027}
20028
20029// SetMaxResults sets the MaxResults field's value.
20030func (s *DescribeMaintenanceWindowTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTasksInput {
20031	s.MaxResults = &v
20032	return s
20033}
20034
20035// SetNextToken sets the NextToken field's value.
20036func (s *DescribeMaintenanceWindowTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowTasksInput {
20037	s.NextToken = &v
20038	return s
20039}
20040
20041// SetWindowId sets the WindowId field's value.
20042func (s *DescribeMaintenanceWindowTasksInput) SetWindowId(v string) *DescribeMaintenanceWindowTasksInput {
20043	s.WindowId = &v
20044	return s
20045}
20046
20047type DescribeMaintenanceWindowTasksOutput struct {
20048	_ struct{} `type:"structure"`
20049
20050	// The token to use when requesting the next set of items. If there are no additional
20051	// items to return, the string is empty.
20052	NextToken *string `type:"string"`
20053
20054	// Information about the tasks in the maintenance window.
20055	Tasks []*MaintenanceWindowTask `type:"list"`
20056}
20057
20058// String returns the string representation
20059func (s DescribeMaintenanceWindowTasksOutput) String() string {
20060	return awsutil.Prettify(s)
20061}
20062
20063// GoString returns the string representation
20064func (s DescribeMaintenanceWindowTasksOutput) GoString() string {
20065	return s.String()
20066}
20067
20068// SetNextToken sets the NextToken field's value.
20069func (s *DescribeMaintenanceWindowTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowTasksOutput {
20070	s.NextToken = &v
20071	return s
20072}
20073
20074// SetTasks sets the Tasks field's value.
20075func (s *DescribeMaintenanceWindowTasksOutput) SetTasks(v []*MaintenanceWindowTask) *DescribeMaintenanceWindowTasksOutput {
20076	s.Tasks = v
20077	return s
20078}
20079
20080type DescribeMaintenanceWindowsForTargetInput struct {
20081	_ struct{} `type:"structure"`
20082
20083	// The maximum number of items to return for this call. The call also returns
20084	// a token that you can specify in a subsequent call to get the next set of
20085	// results.
20086	MaxResults *int64 `min:"1" type:"integer"`
20087
20088	// The token for the next set of items to return. (You received this token from
20089	// a previous call.)
20090	NextToken *string `type:"string"`
20091
20092	// The type of resource you want to retrieve information about. For example,
20093	// "INSTANCE".
20094	//
20095	// ResourceType is a required field
20096	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
20097
20098	// The instance ID or key/value pair to retrieve information about.
20099	//
20100	// Targets is a required field
20101	Targets []*Target `type:"list" required:"true"`
20102}
20103
20104// String returns the string representation
20105func (s DescribeMaintenanceWindowsForTargetInput) String() string {
20106	return awsutil.Prettify(s)
20107}
20108
20109// GoString returns the string representation
20110func (s DescribeMaintenanceWindowsForTargetInput) GoString() string {
20111	return s.String()
20112}
20113
20114// Validate inspects the fields of the type to determine if they are valid.
20115func (s *DescribeMaintenanceWindowsForTargetInput) Validate() error {
20116	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsForTargetInput"}
20117	if s.MaxResults != nil && *s.MaxResults < 1 {
20118		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20119	}
20120	if s.ResourceType == nil {
20121		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
20122	}
20123	if s.Targets == nil {
20124		invalidParams.Add(request.NewErrParamRequired("Targets"))
20125	}
20126	if s.Targets != nil {
20127		for i, v := range s.Targets {
20128			if v == nil {
20129				continue
20130			}
20131			if err := v.Validate(); err != nil {
20132				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
20133			}
20134		}
20135	}
20136
20137	if invalidParams.Len() > 0 {
20138		return invalidParams
20139	}
20140	return nil
20141}
20142
20143// SetMaxResults sets the MaxResults field's value.
20144func (s *DescribeMaintenanceWindowsForTargetInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsForTargetInput {
20145	s.MaxResults = &v
20146	return s
20147}
20148
20149// SetNextToken sets the NextToken field's value.
20150func (s *DescribeMaintenanceWindowsForTargetInput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetInput {
20151	s.NextToken = &v
20152	return s
20153}
20154
20155// SetResourceType sets the ResourceType field's value.
20156func (s *DescribeMaintenanceWindowsForTargetInput) SetResourceType(v string) *DescribeMaintenanceWindowsForTargetInput {
20157	s.ResourceType = &v
20158	return s
20159}
20160
20161// SetTargets sets the Targets field's value.
20162func (s *DescribeMaintenanceWindowsForTargetInput) SetTargets(v []*Target) *DescribeMaintenanceWindowsForTargetInput {
20163	s.Targets = v
20164	return s
20165}
20166
20167type DescribeMaintenanceWindowsForTargetOutput struct {
20168	_ struct{} `type:"structure"`
20169
20170	// The token for the next set of items to return. (You use this token in the
20171	// next call.)
20172	NextToken *string `type:"string"`
20173
20174	// Information about the maintenance window targets and tasks an instance is
20175	// associated with.
20176	WindowIdentities []*MaintenanceWindowIdentityForTarget `type:"list"`
20177}
20178
20179// String returns the string representation
20180func (s DescribeMaintenanceWindowsForTargetOutput) String() string {
20181	return awsutil.Prettify(s)
20182}
20183
20184// GoString returns the string representation
20185func (s DescribeMaintenanceWindowsForTargetOutput) GoString() string {
20186	return s.String()
20187}
20188
20189// SetNextToken sets the NextToken field's value.
20190func (s *DescribeMaintenanceWindowsForTargetOutput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetOutput {
20191	s.NextToken = &v
20192	return s
20193}
20194
20195// SetWindowIdentities sets the WindowIdentities field's value.
20196func (s *DescribeMaintenanceWindowsForTargetOutput) SetWindowIdentities(v []*MaintenanceWindowIdentityForTarget) *DescribeMaintenanceWindowsForTargetOutput {
20197	s.WindowIdentities = v
20198	return s
20199}
20200
20201type DescribeMaintenanceWindowsInput struct {
20202	_ struct{} `type:"structure"`
20203
20204	// Optional filters used to narrow down the scope of the returned maintenance
20205	// windows. Supported filter keys are Name and Enabled.
20206	Filters []*MaintenanceWindowFilter `type:"list"`
20207
20208	// The maximum number of items to return for this call. The call also returns
20209	// a token that you can specify in a subsequent call to get the next set of
20210	// results.
20211	MaxResults *int64 `min:"10" type:"integer"`
20212
20213	// The token for the next set of items to return. (You received this token from
20214	// a previous call.)
20215	NextToken *string `type:"string"`
20216}
20217
20218// String returns the string representation
20219func (s DescribeMaintenanceWindowsInput) String() string {
20220	return awsutil.Prettify(s)
20221}
20222
20223// GoString returns the string representation
20224func (s DescribeMaintenanceWindowsInput) GoString() string {
20225	return s.String()
20226}
20227
20228// Validate inspects the fields of the type to determine if they are valid.
20229func (s *DescribeMaintenanceWindowsInput) Validate() error {
20230	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsInput"}
20231	if s.MaxResults != nil && *s.MaxResults < 10 {
20232		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
20233	}
20234	if s.Filters != nil {
20235		for i, v := range s.Filters {
20236			if v == nil {
20237				continue
20238			}
20239			if err := v.Validate(); err != nil {
20240				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20241			}
20242		}
20243	}
20244
20245	if invalidParams.Len() > 0 {
20246		return invalidParams
20247	}
20248	return nil
20249}
20250
20251// SetFilters sets the Filters field's value.
20252func (s *DescribeMaintenanceWindowsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowsInput {
20253	s.Filters = v
20254	return s
20255}
20256
20257// SetMaxResults sets the MaxResults field's value.
20258func (s *DescribeMaintenanceWindowsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsInput {
20259	s.MaxResults = &v
20260	return s
20261}
20262
20263// SetNextToken sets the NextToken field's value.
20264func (s *DescribeMaintenanceWindowsInput) SetNextToken(v string) *DescribeMaintenanceWindowsInput {
20265	s.NextToken = &v
20266	return s
20267}
20268
20269type DescribeMaintenanceWindowsOutput struct {
20270	_ struct{} `type:"structure"`
20271
20272	// The token to use when requesting the next set of items. If there are no additional
20273	// items to return, the string is empty.
20274	NextToken *string `type:"string"`
20275
20276	// Information about the maintenance windows.
20277	WindowIdentities []*MaintenanceWindowIdentity `type:"list"`
20278}
20279
20280// String returns the string representation
20281func (s DescribeMaintenanceWindowsOutput) String() string {
20282	return awsutil.Prettify(s)
20283}
20284
20285// GoString returns the string representation
20286func (s DescribeMaintenanceWindowsOutput) GoString() string {
20287	return s.String()
20288}
20289
20290// SetNextToken sets the NextToken field's value.
20291func (s *DescribeMaintenanceWindowsOutput) SetNextToken(v string) *DescribeMaintenanceWindowsOutput {
20292	s.NextToken = &v
20293	return s
20294}
20295
20296// SetWindowIdentities sets the WindowIdentities field's value.
20297func (s *DescribeMaintenanceWindowsOutput) SetWindowIdentities(v []*MaintenanceWindowIdentity) *DescribeMaintenanceWindowsOutput {
20298	s.WindowIdentities = v
20299	return s
20300}
20301
20302type DescribeOpsItemsInput struct {
20303	_ struct{} `type:"structure"`
20304
20305	// The maximum number of items to return for this call. The call also returns
20306	// a token that you can specify in a subsequent call to get the next set of
20307	// results.
20308	MaxResults *int64 `min:"1" type:"integer"`
20309
20310	// A token to start the list. Use this token to get the next set of results.
20311	NextToken *string `type:"string"`
20312
20313	// One or more filters to limit the reponse.
20314	//
20315	//    * Key: CreatedTime Operations: GreaterThan, LessThan
20316	//
20317	//    * Key: LastModifiedBy Operations: Contains, Equals
20318	//
20319	//    * Key: LastModifiedTime Operations: GreaterThan, LessThan
20320	//
20321	//    * Key: Priority Operations: Equals
20322	//
20323	//    * Key: Source Operations: Contains, Equals
20324	//
20325	//    * Key: Status Operations: Equals
20326	//
20327	//    * Key: Title Operations: Contains
20328	//
20329	//    * Key: OperationalData* Operations: Equals
20330	//
20331	//    * Key: OperationalDataKey Operations: Equals
20332	//
20333	//    * Key: OperationalDataValue Operations: Equals, Contains
20334	//
20335	//    * Key: OpsItemId Operations: Equals
20336	//
20337	//    * Key: ResourceId Operations: Contains
20338	//
20339	//    * Key: AutomationId Operations: Equals
20340	//
20341	// *If you filter the response by using the OperationalData operator, specify
20342	// a key-value pair by using the following JSON format: {"key":"key_name","value":"a_value"}
20343	OpsItemFilters []*OpsItemFilter `type:"list"`
20344}
20345
20346// String returns the string representation
20347func (s DescribeOpsItemsInput) String() string {
20348	return awsutil.Prettify(s)
20349}
20350
20351// GoString returns the string representation
20352func (s DescribeOpsItemsInput) GoString() string {
20353	return s.String()
20354}
20355
20356// Validate inspects the fields of the type to determine if they are valid.
20357func (s *DescribeOpsItemsInput) Validate() error {
20358	invalidParams := request.ErrInvalidParams{Context: "DescribeOpsItemsInput"}
20359	if s.MaxResults != nil && *s.MaxResults < 1 {
20360		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20361	}
20362	if s.OpsItemFilters != nil {
20363		for i, v := range s.OpsItemFilters {
20364			if v == nil {
20365				continue
20366			}
20367			if err := v.Validate(); err != nil {
20368				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OpsItemFilters", i), err.(request.ErrInvalidParams))
20369			}
20370		}
20371	}
20372
20373	if invalidParams.Len() > 0 {
20374		return invalidParams
20375	}
20376	return nil
20377}
20378
20379// SetMaxResults sets the MaxResults field's value.
20380func (s *DescribeOpsItemsInput) SetMaxResults(v int64) *DescribeOpsItemsInput {
20381	s.MaxResults = &v
20382	return s
20383}
20384
20385// SetNextToken sets the NextToken field's value.
20386func (s *DescribeOpsItemsInput) SetNextToken(v string) *DescribeOpsItemsInput {
20387	s.NextToken = &v
20388	return s
20389}
20390
20391// SetOpsItemFilters sets the OpsItemFilters field's value.
20392func (s *DescribeOpsItemsInput) SetOpsItemFilters(v []*OpsItemFilter) *DescribeOpsItemsInput {
20393	s.OpsItemFilters = v
20394	return s
20395}
20396
20397type DescribeOpsItemsOutput struct {
20398	_ struct{} `type:"structure"`
20399
20400	// The token for the next set of items to return. Use this token to get the
20401	// next set of results.
20402	NextToken *string `type:"string"`
20403
20404	// A list of OpsItems.
20405	OpsItemSummaries []*OpsItemSummary `type:"list"`
20406}
20407
20408// String returns the string representation
20409func (s DescribeOpsItemsOutput) String() string {
20410	return awsutil.Prettify(s)
20411}
20412
20413// GoString returns the string representation
20414func (s DescribeOpsItemsOutput) GoString() string {
20415	return s.String()
20416}
20417
20418// SetNextToken sets the NextToken field's value.
20419func (s *DescribeOpsItemsOutput) SetNextToken(v string) *DescribeOpsItemsOutput {
20420	s.NextToken = &v
20421	return s
20422}
20423
20424// SetOpsItemSummaries sets the OpsItemSummaries field's value.
20425func (s *DescribeOpsItemsOutput) SetOpsItemSummaries(v []*OpsItemSummary) *DescribeOpsItemsOutput {
20426	s.OpsItemSummaries = v
20427	return s
20428}
20429
20430type DescribeParametersInput struct {
20431	_ struct{} `type:"structure"`
20432
20433	// One or more filters. Use a filter to return a more specific list of results.
20434	Filters []*ParametersFilter `type:"list"`
20435
20436	// The maximum number of items to return for this call. The call also returns
20437	// a token that you can specify in a subsequent call to get the next set of
20438	// results.
20439	MaxResults *int64 `min:"1" type:"integer"`
20440
20441	// The token for the next set of items to return. (You received this token from
20442	// a previous call.)
20443	NextToken *string `type:"string"`
20444
20445	// Filters to limit the request results.
20446	ParameterFilters []*ParameterStringFilter `type:"list"`
20447}
20448
20449// String returns the string representation
20450func (s DescribeParametersInput) String() string {
20451	return awsutil.Prettify(s)
20452}
20453
20454// GoString returns the string representation
20455func (s DescribeParametersInput) GoString() string {
20456	return s.String()
20457}
20458
20459// Validate inspects the fields of the type to determine if they are valid.
20460func (s *DescribeParametersInput) Validate() error {
20461	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
20462	if s.MaxResults != nil && *s.MaxResults < 1 {
20463		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20464	}
20465	if s.Filters != nil {
20466		for i, v := range s.Filters {
20467			if v == nil {
20468				continue
20469			}
20470			if err := v.Validate(); err != nil {
20471				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20472			}
20473		}
20474	}
20475	if s.ParameterFilters != nil {
20476		for i, v := range s.ParameterFilters {
20477			if v == nil {
20478				continue
20479			}
20480			if err := v.Validate(); err != nil {
20481				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
20482			}
20483		}
20484	}
20485
20486	if invalidParams.Len() > 0 {
20487		return invalidParams
20488	}
20489	return nil
20490}
20491
20492// SetFilters sets the Filters field's value.
20493func (s *DescribeParametersInput) SetFilters(v []*ParametersFilter) *DescribeParametersInput {
20494	s.Filters = v
20495	return s
20496}
20497
20498// SetMaxResults sets the MaxResults field's value.
20499func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
20500	s.MaxResults = &v
20501	return s
20502}
20503
20504// SetNextToken sets the NextToken field's value.
20505func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
20506	s.NextToken = &v
20507	return s
20508}
20509
20510// SetParameterFilters sets the ParameterFilters field's value.
20511func (s *DescribeParametersInput) SetParameterFilters(v []*ParameterStringFilter) *DescribeParametersInput {
20512	s.ParameterFilters = v
20513	return s
20514}
20515
20516type DescribeParametersOutput struct {
20517	_ struct{} `type:"structure"`
20518
20519	// The token to use when requesting the next set of items. If there are no additional
20520	// items to return, the string is empty.
20521	NextToken *string `type:"string"`
20522
20523	// Parameters returned by the request.
20524	Parameters []*ParameterMetadata `type:"list"`
20525}
20526
20527// String returns the string representation
20528func (s DescribeParametersOutput) String() string {
20529	return awsutil.Prettify(s)
20530}
20531
20532// GoString returns the string representation
20533func (s DescribeParametersOutput) GoString() string {
20534	return s.String()
20535}
20536
20537// SetNextToken sets the NextToken field's value.
20538func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
20539	s.NextToken = &v
20540	return s
20541}
20542
20543// SetParameters sets the Parameters field's value.
20544func (s *DescribeParametersOutput) SetParameters(v []*ParameterMetadata) *DescribeParametersOutput {
20545	s.Parameters = v
20546	return s
20547}
20548
20549type DescribePatchBaselinesInput struct {
20550	_ struct{} `type:"structure"`
20551
20552	// Each element in the array is a structure containing:
20553	//
20554	// Key: (string, "NAME_PREFIX" or "OWNER")
20555	//
20556	// Value: (array of strings, exactly 1 entry, between 1 and 255 characters)
20557	Filters []*PatchOrchestratorFilter `type:"list"`
20558
20559	// The maximum number of patch baselines to return (per page).
20560	MaxResults *int64 `min:"1" type:"integer"`
20561
20562	// The token for the next set of items to return. (You received this token from
20563	// a previous call.)
20564	NextToken *string `type:"string"`
20565}
20566
20567// String returns the string representation
20568func (s DescribePatchBaselinesInput) String() string {
20569	return awsutil.Prettify(s)
20570}
20571
20572// GoString returns the string representation
20573func (s DescribePatchBaselinesInput) GoString() string {
20574	return s.String()
20575}
20576
20577// Validate inspects the fields of the type to determine if they are valid.
20578func (s *DescribePatchBaselinesInput) Validate() error {
20579	invalidParams := request.ErrInvalidParams{Context: "DescribePatchBaselinesInput"}
20580	if s.MaxResults != nil && *s.MaxResults < 1 {
20581		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20582	}
20583	if s.Filters != nil {
20584		for i, v := range s.Filters {
20585			if v == nil {
20586				continue
20587			}
20588			if err := v.Validate(); err != nil {
20589				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20590			}
20591		}
20592	}
20593
20594	if invalidParams.Len() > 0 {
20595		return invalidParams
20596	}
20597	return nil
20598}
20599
20600// SetFilters sets the Filters field's value.
20601func (s *DescribePatchBaselinesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchBaselinesInput {
20602	s.Filters = v
20603	return s
20604}
20605
20606// SetMaxResults sets the MaxResults field's value.
20607func (s *DescribePatchBaselinesInput) SetMaxResults(v int64) *DescribePatchBaselinesInput {
20608	s.MaxResults = &v
20609	return s
20610}
20611
20612// SetNextToken sets the NextToken field's value.
20613func (s *DescribePatchBaselinesInput) SetNextToken(v string) *DescribePatchBaselinesInput {
20614	s.NextToken = &v
20615	return s
20616}
20617
20618type DescribePatchBaselinesOutput struct {
20619	_ struct{} `type:"structure"`
20620
20621	// An array of PatchBaselineIdentity elements.
20622	BaselineIdentities []*PatchBaselineIdentity `type:"list"`
20623
20624	// The token to use when requesting the next set of items. If there are no additional
20625	// items to return, the string is empty.
20626	NextToken *string `type:"string"`
20627}
20628
20629// String returns the string representation
20630func (s DescribePatchBaselinesOutput) String() string {
20631	return awsutil.Prettify(s)
20632}
20633
20634// GoString returns the string representation
20635func (s DescribePatchBaselinesOutput) GoString() string {
20636	return s.String()
20637}
20638
20639// SetBaselineIdentities sets the BaselineIdentities field's value.
20640func (s *DescribePatchBaselinesOutput) SetBaselineIdentities(v []*PatchBaselineIdentity) *DescribePatchBaselinesOutput {
20641	s.BaselineIdentities = v
20642	return s
20643}
20644
20645// SetNextToken sets the NextToken field's value.
20646func (s *DescribePatchBaselinesOutput) SetNextToken(v string) *DescribePatchBaselinesOutput {
20647	s.NextToken = &v
20648	return s
20649}
20650
20651type DescribePatchGroupStateInput struct {
20652	_ struct{} `type:"structure"`
20653
20654	// The name of the patch group whose patch snapshot should be retrieved.
20655	//
20656	// PatchGroup is a required field
20657	PatchGroup *string `min:"1" type:"string" required:"true"`
20658}
20659
20660// String returns the string representation
20661func (s DescribePatchGroupStateInput) String() string {
20662	return awsutil.Prettify(s)
20663}
20664
20665// GoString returns the string representation
20666func (s DescribePatchGroupStateInput) GoString() string {
20667	return s.String()
20668}
20669
20670// Validate inspects the fields of the type to determine if they are valid.
20671func (s *DescribePatchGroupStateInput) Validate() error {
20672	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupStateInput"}
20673	if s.PatchGroup == nil {
20674		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
20675	}
20676	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
20677		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
20678	}
20679
20680	if invalidParams.Len() > 0 {
20681		return invalidParams
20682	}
20683	return nil
20684}
20685
20686// SetPatchGroup sets the PatchGroup field's value.
20687func (s *DescribePatchGroupStateInput) SetPatchGroup(v string) *DescribePatchGroupStateInput {
20688	s.PatchGroup = &v
20689	return s
20690}
20691
20692type DescribePatchGroupStateOutput struct {
20693	_ struct{} `type:"structure"`
20694
20695	// The number of instances in the patch group.
20696	Instances *int64 `type:"integer"`
20697
20698	// The number of instances with patches from the patch baseline that failed
20699	// to install.
20700	InstancesWithFailedPatches *int64 `type:"integer"`
20701
20702	// The number of instances with patches installed that aren't defined in the
20703	// patch baseline.
20704	InstancesWithInstalledOtherPatches *int64 `type:"integer"`
20705
20706	// The number of instances with installed patches.
20707	InstancesWithInstalledPatches *int64 `type:"integer"`
20708
20709	// The number of instances with patches installed that are specified in a RejectedPatches
20710	// list. Patches with a status of INSTALLED_REJECTED were typically installed
20711	// before they were added to a RejectedPatches list.
20712	//
20713	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
20714	// the value of InstancesWithInstalledRejectedPatches will always be 0 (zero).
20715	InstancesWithInstalledRejectedPatches *int64 `type:"integer"`
20716
20717	// The number of instances with missing patches from the patch baseline.
20718	InstancesWithMissingPatches *int64 `type:"integer"`
20719
20720	// The number of instances with patches that aren't applicable.
20721	InstancesWithNotApplicablePatches *int64 `type:"integer"`
20722
20723	// The number of instances with NotApplicable patches beyond the supported limit,
20724	// which are not reported by name to Systems Manager Inventory.
20725	InstancesWithUnreportedNotApplicablePatches *int64 `type:"integer"`
20726}
20727
20728// String returns the string representation
20729func (s DescribePatchGroupStateOutput) String() string {
20730	return awsutil.Prettify(s)
20731}
20732
20733// GoString returns the string representation
20734func (s DescribePatchGroupStateOutput) GoString() string {
20735	return s.String()
20736}
20737
20738// SetInstances sets the Instances field's value.
20739func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGroupStateOutput {
20740	s.Instances = &v
20741	return s
20742}
20743
20744// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value.
20745func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput {
20746	s.InstancesWithFailedPatches = &v
20747	return s
20748}
20749
20750// SetInstancesWithInstalledOtherPatches sets the InstancesWithInstalledOtherPatches field's value.
20751func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledOtherPatches(v int64) *DescribePatchGroupStateOutput {
20752	s.InstancesWithInstalledOtherPatches = &v
20753	return s
20754}
20755
20756// SetInstancesWithInstalledPatches sets the InstancesWithInstalledPatches field's value.
20757func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64) *DescribePatchGroupStateOutput {
20758	s.InstancesWithInstalledPatches = &v
20759	return s
20760}
20761
20762// SetInstancesWithInstalledRejectedPatches sets the InstancesWithInstalledRejectedPatches field's value.
20763func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledRejectedPatches(v int64) *DescribePatchGroupStateOutput {
20764	s.InstancesWithInstalledRejectedPatches = &v
20765	return s
20766}
20767
20768// SetInstancesWithMissingPatches sets the InstancesWithMissingPatches field's value.
20769func (s *DescribePatchGroupStateOutput) SetInstancesWithMissingPatches(v int64) *DescribePatchGroupStateOutput {
20770	s.InstancesWithMissingPatches = &v
20771	return s
20772}
20773
20774// SetInstancesWithNotApplicablePatches sets the InstancesWithNotApplicablePatches field's value.
20775func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
20776	s.InstancesWithNotApplicablePatches = &v
20777	return s
20778}
20779
20780// SetInstancesWithUnreportedNotApplicablePatches sets the InstancesWithUnreportedNotApplicablePatches field's value.
20781func (s *DescribePatchGroupStateOutput) SetInstancesWithUnreportedNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
20782	s.InstancesWithUnreportedNotApplicablePatches = &v
20783	return s
20784}
20785
20786type DescribePatchGroupsInput struct {
20787	_ struct{} `type:"structure"`
20788
20789	// One or more filters. Use a filter to return a more specific list of results.
20790	Filters []*PatchOrchestratorFilter `type:"list"`
20791
20792	// The maximum number of patch groups to return (per page).
20793	MaxResults *int64 `min:"1" type:"integer"`
20794
20795	// The token for the next set of items to return. (You received this token from
20796	// a previous call.)
20797	NextToken *string `type:"string"`
20798}
20799
20800// String returns the string representation
20801func (s DescribePatchGroupsInput) String() string {
20802	return awsutil.Prettify(s)
20803}
20804
20805// GoString returns the string representation
20806func (s DescribePatchGroupsInput) GoString() string {
20807	return s.String()
20808}
20809
20810// Validate inspects the fields of the type to determine if they are valid.
20811func (s *DescribePatchGroupsInput) Validate() error {
20812	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupsInput"}
20813	if s.MaxResults != nil && *s.MaxResults < 1 {
20814		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20815	}
20816	if s.Filters != nil {
20817		for i, v := range s.Filters {
20818			if v == nil {
20819				continue
20820			}
20821			if err := v.Validate(); err != nil {
20822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20823			}
20824		}
20825	}
20826
20827	if invalidParams.Len() > 0 {
20828		return invalidParams
20829	}
20830	return nil
20831}
20832
20833// SetFilters sets the Filters field's value.
20834func (s *DescribePatchGroupsInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchGroupsInput {
20835	s.Filters = v
20836	return s
20837}
20838
20839// SetMaxResults sets the MaxResults field's value.
20840func (s *DescribePatchGroupsInput) SetMaxResults(v int64) *DescribePatchGroupsInput {
20841	s.MaxResults = &v
20842	return s
20843}
20844
20845// SetNextToken sets the NextToken field's value.
20846func (s *DescribePatchGroupsInput) SetNextToken(v string) *DescribePatchGroupsInput {
20847	s.NextToken = &v
20848	return s
20849}
20850
20851type DescribePatchGroupsOutput struct {
20852	_ struct{} `type:"structure"`
20853
20854	// Each entry in the array contains:
20855	//
20856	// PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$)
20857	//
20858	// PatchBaselineIdentity: A PatchBaselineIdentity element.
20859	Mappings []*PatchGroupPatchBaselineMapping `type:"list"`
20860
20861	// The token to use when requesting the next set of items. If there are no additional
20862	// items to return, the string is empty.
20863	NextToken *string `type:"string"`
20864}
20865
20866// String returns the string representation
20867func (s DescribePatchGroupsOutput) String() string {
20868	return awsutil.Prettify(s)
20869}
20870
20871// GoString returns the string representation
20872func (s DescribePatchGroupsOutput) GoString() string {
20873	return s.String()
20874}
20875
20876// SetMappings sets the Mappings field's value.
20877func (s *DescribePatchGroupsOutput) SetMappings(v []*PatchGroupPatchBaselineMapping) *DescribePatchGroupsOutput {
20878	s.Mappings = v
20879	return s
20880}
20881
20882// SetNextToken sets the NextToken field's value.
20883func (s *DescribePatchGroupsOutput) SetNextToken(v string) *DescribePatchGroupsOutput {
20884	s.NextToken = &v
20885	return s
20886}
20887
20888type DescribePatchPropertiesInput struct {
20889	_ struct{} `type:"structure"`
20890
20891	// The maximum number of items to return for this call. The call also returns
20892	// a token that you can specify in a subsequent call to get the next set of
20893	// results.
20894	MaxResults *int64 `min:"1" type:"integer"`
20895
20896	// The token for the next set of items to return. (You received this token from
20897	// a previous call.)
20898	NextToken *string `type:"string"`
20899
20900	// The operating system type for which to list patches.
20901	//
20902	// OperatingSystem is a required field
20903	OperatingSystem *string `type:"string" required:"true" enum:"OperatingSystem"`
20904
20905	// Indicates whether to list patches for the Windows operating system or for
20906	// Microsoft applications. Not applicable for Linux operating systems.
20907	PatchSet *string `type:"string" enum:"PatchSet"`
20908
20909	// The patch property for which you want to view patch details.
20910	//
20911	// Property is a required field
20912	Property *string `type:"string" required:"true" enum:"PatchProperty"`
20913}
20914
20915// String returns the string representation
20916func (s DescribePatchPropertiesInput) String() string {
20917	return awsutil.Prettify(s)
20918}
20919
20920// GoString returns the string representation
20921func (s DescribePatchPropertiesInput) GoString() string {
20922	return s.String()
20923}
20924
20925// Validate inspects the fields of the type to determine if they are valid.
20926func (s *DescribePatchPropertiesInput) Validate() error {
20927	invalidParams := request.ErrInvalidParams{Context: "DescribePatchPropertiesInput"}
20928	if s.MaxResults != nil && *s.MaxResults < 1 {
20929		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20930	}
20931	if s.OperatingSystem == nil {
20932		invalidParams.Add(request.NewErrParamRequired("OperatingSystem"))
20933	}
20934	if s.Property == nil {
20935		invalidParams.Add(request.NewErrParamRequired("Property"))
20936	}
20937
20938	if invalidParams.Len() > 0 {
20939		return invalidParams
20940	}
20941	return nil
20942}
20943
20944// SetMaxResults sets the MaxResults field's value.
20945func (s *DescribePatchPropertiesInput) SetMaxResults(v int64) *DescribePatchPropertiesInput {
20946	s.MaxResults = &v
20947	return s
20948}
20949
20950// SetNextToken sets the NextToken field's value.
20951func (s *DescribePatchPropertiesInput) SetNextToken(v string) *DescribePatchPropertiesInput {
20952	s.NextToken = &v
20953	return s
20954}
20955
20956// SetOperatingSystem sets the OperatingSystem field's value.
20957func (s *DescribePatchPropertiesInput) SetOperatingSystem(v string) *DescribePatchPropertiesInput {
20958	s.OperatingSystem = &v
20959	return s
20960}
20961
20962// SetPatchSet sets the PatchSet field's value.
20963func (s *DescribePatchPropertiesInput) SetPatchSet(v string) *DescribePatchPropertiesInput {
20964	s.PatchSet = &v
20965	return s
20966}
20967
20968// SetProperty sets the Property field's value.
20969func (s *DescribePatchPropertiesInput) SetProperty(v string) *DescribePatchPropertiesInput {
20970	s.Property = &v
20971	return s
20972}
20973
20974type DescribePatchPropertiesOutput struct {
20975	_ struct{} `type:"structure"`
20976
20977	// The token for the next set of items to return. (You use this token in the
20978	// next call.)
20979	NextToken *string `type:"string"`
20980
20981	// A list of the properties for patches matching the filter request parameters.
20982	Properties []map[string]*string `type:"list"`
20983}
20984
20985// String returns the string representation
20986func (s DescribePatchPropertiesOutput) String() string {
20987	return awsutil.Prettify(s)
20988}
20989
20990// GoString returns the string representation
20991func (s DescribePatchPropertiesOutput) GoString() string {
20992	return s.String()
20993}
20994
20995// SetNextToken sets the NextToken field's value.
20996func (s *DescribePatchPropertiesOutput) SetNextToken(v string) *DescribePatchPropertiesOutput {
20997	s.NextToken = &v
20998	return s
20999}
21000
21001// SetProperties sets the Properties field's value.
21002func (s *DescribePatchPropertiesOutput) SetProperties(v []map[string]*string) *DescribePatchPropertiesOutput {
21003	s.Properties = v
21004	return s
21005}
21006
21007type DescribeSessionsInput struct {
21008	_ struct{} `type:"structure"`
21009
21010	// One or more filters to limit the type of sessions returned by the request.
21011	Filters []*SessionFilter `min:"1" type:"list"`
21012
21013	// The maximum number of items to return for this call. The call also returns
21014	// a token that you can specify in a subsequent call to get the next set of
21015	// results.
21016	MaxResults *int64 `min:"1" type:"integer"`
21017
21018	// The token for the next set of items to return. (You received this token from
21019	// a previous call.)
21020	NextToken *string `type:"string"`
21021
21022	// The session status to retrieve a list of sessions for. For example, "Active".
21023	//
21024	// State is a required field
21025	State *string `type:"string" required:"true" enum:"SessionState"`
21026}
21027
21028// String returns the string representation
21029func (s DescribeSessionsInput) String() string {
21030	return awsutil.Prettify(s)
21031}
21032
21033// GoString returns the string representation
21034func (s DescribeSessionsInput) GoString() string {
21035	return s.String()
21036}
21037
21038// Validate inspects the fields of the type to determine if they are valid.
21039func (s *DescribeSessionsInput) Validate() error {
21040	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
21041	if s.Filters != nil && len(s.Filters) < 1 {
21042		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
21043	}
21044	if s.MaxResults != nil && *s.MaxResults < 1 {
21045		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21046	}
21047	if s.State == nil {
21048		invalidParams.Add(request.NewErrParamRequired("State"))
21049	}
21050	if s.Filters != nil {
21051		for i, v := range s.Filters {
21052			if v == nil {
21053				continue
21054			}
21055			if err := v.Validate(); err != nil {
21056				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21057			}
21058		}
21059	}
21060
21061	if invalidParams.Len() > 0 {
21062		return invalidParams
21063	}
21064	return nil
21065}
21066
21067// SetFilters sets the Filters field's value.
21068func (s *DescribeSessionsInput) SetFilters(v []*SessionFilter) *DescribeSessionsInput {
21069	s.Filters = v
21070	return s
21071}
21072
21073// SetMaxResults sets the MaxResults field's value.
21074func (s *DescribeSessionsInput) SetMaxResults(v int64) *DescribeSessionsInput {
21075	s.MaxResults = &v
21076	return s
21077}
21078
21079// SetNextToken sets the NextToken field's value.
21080func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
21081	s.NextToken = &v
21082	return s
21083}
21084
21085// SetState sets the State field's value.
21086func (s *DescribeSessionsInput) SetState(v string) *DescribeSessionsInput {
21087	s.State = &v
21088	return s
21089}
21090
21091type DescribeSessionsOutput struct {
21092	_ struct{} `type:"structure"`
21093
21094	// The token for the next set of items to return. (You received this token from
21095	// a previous call.)
21096	NextToken *string `type:"string"`
21097
21098	// A list of sessions meeting the request parameters.
21099	Sessions []*Session `type:"list"`
21100}
21101
21102// String returns the string representation
21103func (s DescribeSessionsOutput) String() string {
21104	return awsutil.Prettify(s)
21105}
21106
21107// GoString returns the string representation
21108func (s DescribeSessionsOutput) GoString() string {
21109	return s.String()
21110}
21111
21112// SetNextToken sets the NextToken field's value.
21113func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
21114	s.NextToken = &v
21115	return s
21116}
21117
21118// SetSessions sets the Sessions field's value.
21119func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
21120	s.Sessions = v
21121	return s
21122}
21123
21124// A default version of a document.
21125type DocumentDefaultVersionDescription struct {
21126	_ struct{} `type:"structure"`
21127
21128	// The default version of the document.
21129	DefaultVersion *string `type:"string"`
21130
21131	// The default version of the artifact associated with the document.
21132	DefaultVersionName *string `type:"string"`
21133
21134	// The name of the document.
21135	Name *string `type:"string"`
21136}
21137
21138// String returns the string representation
21139func (s DocumentDefaultVersionDescription) String() string {
21140	return awsutil.Prettify(s)
21141}
21142
21143// GoString returns the string representation
21144func (s DocumentDefaultVersionDescription) GoString() string {
21145	return s.String()
21146}
21147
21148// SetDefaultVersion sets the DefaultVersion field's value.
21149func (s *DocumentDefaultVersionDescription) SetDefaultVersion(v string) *DocumentDefaultVersionDescription {
21150	s.DefaultVersion = &v
21151	return s
21152}
21153
21154// SetDefaultVersionName sets the DefaultVersionName field's value.
21155func (s *DocumentDefaultVersionDescription) SetDefaultVersionName(v string) *DocumentDefaultVersionDescription {
21156	s.DefaultVersionName = &v
21157	return s
21158}
21159
21160// SetName sets the Name field's value.
21161func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription {
21162	s.Name = &v
21163	return s
21164}
21165
21166// Describes a Systems Manager document.
21167type DocumentDescription struct {
21168	_ struct{} `type:"structure"`
21169
21170	// Details about the document attachments, including names, locations, sizes,
21171	// etc.
21172	AttachmentsInformation []*AttachmentInformation `type:"list"`
21173
21174	// The date when the document was created.
21175	CreatedDate *time.Time `type:"timestamp"`
21176
21177	// The default version.
21178	DefaultVersion *string `type:"string"`
21179
21180	// A description of the document.
21181	Description *string `type:"string"`
21182
21183	// The document format, either JSON or YAML.
21184	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21185
21186	// The type of document.
21187	DocumentType *string `type:"string" enum:"DocumentType"`
21188
21189	// The document version.
21190	DocumentVersion *string `type:"string"`
21191
21192	// The Sha256 or Sha1 hash created by the system when the document was created.
21193	//
21194	// Sha1 hashes have been deprecated.
21195	Hash *string `type:"string"`
21196
21197	// The hash type of the document. Valid values include Sha256 or Sha1.
21198	//
21199	// Sha1 hashes have been deprecated.
21200	HashType *string `type:"string" enum:"DocumentHashType"`
21201
21202	// The latest version of the document.
21203	LatestVersion *string `type:"string"`
21204
21205	// The name of the Systems Manager document.
21206	Name *string `type:"string"`
21207
21208	// The AWS user account that created the document.
21209	Owner *string `type:"string"`
21210
21211	// A description of the parameters for a document.
21212	Parameters []*DocumentParameter `type:"list"`
21213
21214	// The list of OS platforms compatible with this Systems Manager document.
21215	PlatformTypes []*string `type:"list"`
21216
21217	// The schema version.
21218	SchemaVersion *string `type:"string"`
21219
21220	// The SHA1 hash of the document, which you can use for verification.
21221	Sha1 *string `type:"string"`
21222
21223	// The status of the Systems Manager document.
21224	Status *string `type:"string" enum:"DocumentStatus"`
21225
21226	// A message returned by AWS Systems Manager that explains the Status value.
21227	// For example, a Failed status might be explained by the StatusInformation
21228	// message, "The specified S3 bucket does not exist. Verify that the URL of
21229	// the S3 bucket is correct."
21230	StatusInformation *string `type:"string"`
21231
21232	// The tags, or metadata, that have been applied to the document.
21233	Tags []*Tag `type:"list"`
21234
21235	// The target type which defines the kinds of resources the document can run
21236	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
21237	// see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
21238	// in the AWS CloudFormation User Guide.
21239	TargetType *string `type:"string"`
21240
21241	// The version of the artifact associated with the document.
21242	VersionName *string `type:"string"`
21243}
21244
21245// String returns the string representation
21246func (s DocumentDescription) String() string {
21247	return awsutil.Prettify(s)
21248}
21249
21250// GoString returns the string representation
21251func (s DocumentDescription) GoString() string {
21252	return s.String()
21253}
21254
21255// SetAttachmentsInformation sets the AttachmentsInformation field's value.
21256func (s *DocumentDescription) SetAttachmentsInformation(v []*AttachmentInformation) *DocumentDescription {
21257	s.AttachmentsInformation = v
21258	return s
21259}
21260
21261// SetCreatedDate sets the CreatedDate field's value.
21262func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription {
21263	s.CreatedDate = &v
21264	return s
21265}
21266
21267// SetDefaultVersion sets the DefaultVersion field's value.
21268func (s *DocumentDescription) SetDefaultVersion(v string) *DocumentDescription {
21269	s.DefaultVersion = &v
21270	return s
21271}
21272
21273// SetDescription sets the Description field's value.
21274func (s *DocumentDescription) SetDescription(v string) *DocumentDescription {
21275	s.Description = &v
21276	return s
21277}
21278
21279// SetDocumentFormat sets the DocumentFormat field's value.
21280func (s *DocumentDescription) SetDocumentFormat(v string) *DocumentDescription {
21281	s.DocumentFormat = &v
21282	return s
21283}
21284
21285// SetDocumentType sets the DocumentType field's value.
21286func (s *DocumentDescription) SetDocumentType(v string) *DocumentDescription {
21287	s.DocumentType = &v
21288	return s
21289}
21290
21291// SetDocumentVersion sets the DocumentVersion field's value.
21292func (s *DocumentDescription) SetDocumentVersion(v string) *DocumentDescription {
21293	s.DocumentVersion = &v
21294	return s
21295}
21296
21297// SetHash sets the Hash field's value.
21298func (s *DocumentDescription) SetHash(v string) *DocumentDescription {
21299	s.Hash = &v
21300	return s
21301}
21302
21303// SetHashType sets the HashType field's value.
21304func (s *DocumentDescription) SetHashType(v string) *DocumentDescription {
21305	s.HashType = &v
21306	return s
21307}
21308
21309// SetLatestVersion sets the LatestVersion field's value.
21310func (s *DocumentDescription) SetLatestVersion(v string) *DocumentDescription {
21311	s.LatestVersion = &v
21312	return s
21313}
21314
21315// SetName sets the Name field's value.
21316func (s *DocumentDescription) SetName(v string) *DocumentDescription {
21317	s.Name = &v
21318	return s
21319}
21320
21321// SetOwner sets the Owner field's value.
21322func (s *DocumentDescription) SetOwner(v string) *DocumentDescription {
21323	s.Owner = &v
21324	return s
21325}
21326
21327// SetParameters sets the Parameters field's value.
21328func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDescription {
21329	s.Parameters = v
21330	return s
21331}
21332
21333// SetPlatformTypes sets the PlatformTypes field's value.
21334func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription {
21335	s.PlatformTypes = v
21336	return s
21337}
21338
21339// SetSchemaVersion sets the SchemaVersion field's value.
21340func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription {
21341	s.SchemaVersion = &v
21342	return s
21343}
21344
21345// SetSha1 sets the Sha1 field's value.
21346func (s *DocumentDescription) SetSha1(v string) *DocumentDescription {
21347	s.Sha1 = &v
21348	return s
21349}
21350
21351// SetStatus sets the Status field's value.
21352func (s *DocumentDescription) SetStatus(v string) *DocumentDescription {
21353	s.Status = &v
21354	return s
21355}
21356
21357// SetStatusInformation sets the StatusInformation field's value.
21358func (s *DocumentDescription) SetStatusInformation(v string) *DocumentDescription {
21359	s.StatusInformation = &v
21360	return s
21361}
21362
21363// SetTags sets the Tags field's value.
21364func (s *DocumentDescription) SetTags(v []*Tag) *DocumentDescription {
21365	s.Tags = v
21366	return s
21367}
21368
21369// SetTargetType sets the TargetType field's value.
21370func (s *DocumentDescription) SetTargetType(v string) *DocumentDescription {
21371	s.TargetType = &v
21372	return s
21373}
21374
21375// SetVersionName sets the VersionName field's value.
21376func (s *DocumentDescription) SetVersionName(v string) *DocumentDescription {
21377	s.VersionName = &v
21378	return s
21379}
21380
21381// Describes a filter.
21382type DocumentFilter struct {
21383	_ struct{} `type:"structure"`
21384
21385	// The name of the filter.
21386	//
21387	// Key is a required field
21388	Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"`
21389
21390	// The value of the filter.
21391	//
21392	// Value is a required field
21393	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
21394}
21395
21396// String returns the string representation
21397func (s DocumentFilter) String() string {
21398	return awsutil.Prettify(s)
21399}
21400
21401// GoString returns the string representation
21402func (s DocumentFilter) GoString() string {
21403	return s.String()
21404}
21405
21406// Validate inspects the fields of the type to determine if they are valid.
21407func (s *DocumentFilter) Validate() error {
21408	invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"}
21409	if s.Key == nil {
21410		invalidParams.Add(request.NewErrParamRequired("Key"))
21411	}
21412	if s.Value == nil {
21413		invalidParams.Add(request.NewErrParamRequired("Value"))
21414	}
21415	if s.Value != nil && len(*s.Value) < 1 {
21416		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
21417	}
21418
21419	if invalidParams.Len() > 0 {
21420		return invalidParams
21421	}
21422	return nil
21423}
21424
21425// SetKey sets the Key field's value.
21426func (s *DocumentFilter) SetKey(v string) *DocumentFilter {
21427	s.Key = &v
21428	return s
21429}
21430
21431// SetValue sets the Value field's value.
21432func (s *DocumentFilter) SetValue(v string) *DocumentFilter {
21433	s.Value = &v
21434	return s
21435}
21436
21437// Describes the name of a Systems Manager document.
21438type DocumentIdentifier struct {
21439	_ struct{} `type:"structure"`
21440
21441	// The document format, either JSON or YAML.
21442	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21443
21444	// The document type.
21445	DocumentType *string `type:"string" enum:"DocumentType"`
21446
21447	// The document version.
21448	DocumentVersion *string `type:"string"`
21449
21450	// The name of the Systems Manager document.
21451	Name *string `type:"string"`
21452
21453	// The AWS user account that created the document.
21454	Owner *string `type:"string"`
21455
21456	// The operating system platform.
21457	PlatformTypes []*string `type:"list"`
21458
21459	// The schema version.
21460	SchemaVersion *string `type:"string"`
21461
21462	// The tags, or metadata, that have been applied to the document.
21463	Tags []*Tag `type:"list"`
21464
21465	// The target type which defines the kinds of resources the document can run
21466	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
21467	// see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
21468	// in the AWS CloudFormation User Guide.
21469	TargetType *string `type:"string"`
21470
21471	// An optional field specifying the version of the artifact associated with
21472	// the document. For example, "Release 12, Update 6". This value is unique across
21473	// all versions of a document, and cannot be changed.
21474	VersionName *string `type:"string"`
21475}
21476
21477// String returns the string representation
21478func (s DocumentIdentifier) String() string {
21479	return awsutil.Prettify(s)
21480}
21481
21482// GoString returns the string representation
21483func (s DocumentIdentifier) GoString() string {
21484	return s.String()
21485}
21486
21487// SetDocumentFormat sets the DocumentFormat field's value.
21488func (s *DocumentIdentifier) SetDocumentFormat(v string) *DocumentIdentifier {
21489	s.DocumentFormat = &v
21490	return s
21491}
21492
21493// SetDocumentType sets the DocumentType field's value.
21494func (s *DocumentIdentifier) SetDocumentType(v string) *DocumentIdentifier {
21495	s.DocumentType = &v
21496	return s
21497}
21498
21499// SetDocumentVersion sets the DocumentVersion field's value.
21500func (s *DocumentIdentifier) SetDocumentVersion(v string) *DocumentIdentifier {
21501	s.DocumentVersion = &v
21502	return s
21503}
21504
21505// SetName sets the Name field's value.
21506func (s *DocumentIdentifier) SetName(v string) *DocumentIdentifier {
21507	s.Name = &v
21508	return s
21509}
21510
21511// SetOwner sets the Owner field's value.
21512func (s *DocumentIdentifier) SetOwner(v string) *DocumentIdentifier {
21513	s.Owner = &v
21514	return s
21515}
21516
21517// SetPlatformTypes sets the PlatformTypes field's value.
21518func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier {
21519	s.PlatformTypes = v
21520	return s
21521}
21522
21523// SetSchemaVersion sets the SchemaVersion field's value.
21524func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier {
21525	s.SchemaVersion = &v
21526	return s
21527}
21528
21529// SetTags sets the Tags field's value.
21530func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier {
21531	s.Tags = v
21532	return s
21533}
21534
21535// SetTargetType sets the TargetType field's value.
21536func (s *DocumentIdentifier) SetTargetType(v string) *DocumentIdentifier {
21537	s.TargetType = &v
21538	return s
21539}
21540
21541// SetVersionName sets the VersionName field's value.
21542func (s *DocumentIdentifier) SetVersionName(v string) *DocumentIdentifier {
21543	s.VersionName = &v
21544	return s
21545}
21546
21547// One or more filters. Use a filter to return a more specific list of documents.
21548//
21549// For keys, you can specify one or more tags that have been applied to a document.
21550//
21551// Other valid values include Owner, Name, PlatformTypes, and DocumentType.
21552//
21553// Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.
21554//
21555// If you use Name as a key, you can use a name prefix to return a list of documents.
21556// For example, in the AWS CLI, to return a list of all documents that begin
21557// with Te, run the following command:
21558//
21559// aws ssm list-documents --filters Key=Name,Values=Te
21560//
21561// If you specify more than two keys, only documents that are identified by
21562// all the tags are returned in the results. If you specify more than two values
21563// for a key, documents that are identified by any of the values are returned
21564// in the results.
21565//
21566// To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName].
21567//
21568// For example, if you created a Key called region and are using the AWS CLI
21569// to call the list-documents command:
21570//
21571// aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
21572type DocumentKeyValuesFilter struct {
21573	_ struct{} `type:"structure"`
21574
21575	// The name of the filter key.
21576	Key *string `min:"1" type:"string"`
21577
21578	// The value for the filter key.
21579	Values []*string `type:"list"`
21580}
21581
21582// String returns the string representation
21583func (s DocumentKeyValuesFilter) String() string {
21584	return awsutil.Prettify(s)
21585}
21586
21587// GoString returns the string representation
21588func (s DocumentKeyValuesFilter) GoString() string {
21589	return s.String()
21590}
21591
21592// Validate inspects the fields of the type to determine if they are valid.
21593func (s *DocumentKeyValuesFilter) Validate() error {
21594	invalidParams := request.ErrInvalidParams{Context: "DocumentKeyValuesFilter"}
21595	if s.Key != nil && len(*s.Key) < 1 {
21596		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21597	}
21598
21599	if invalidParams.Len() > 0 {
21600		return invalidParams
21601	}
21602	return nil
21603}
21604
21605// SetKey sets the Key field's value.
21606func (s *DocumentKeyValuesFilter) SetKey(v string) *DocumentKeyValuesFilter {
21607	s.Key = &v
21608	return s
21609}
21610
21611// SetValues sets the Values field's value.
21612func (s *DocumentKeyValuesFilter) SetValues(v []*string) *DocumentKeyValuesFilter {
21613	s.Values = v
21614	return s
21615}
21616
21617// Parameters specified in a System Manager document that run on the server
21618// when the command is run.
21619type DocumentParameter struct {
21620	_ struct{} `type:"structure"`
21621
21622	// If specified, the default values for the parameters. Parameters without a
21623	// default value are required. Parameters with a default value are optional.
21624	DefaultValue *string `type:"string"`
21625
21626	// A description of what the parameter does, how to use it, the default value,
21627	// and whether or not the parameter is optional.
21628	Description *string `type:"string"`
21629
21630	// The name of the parameter.
21631	Name *string `type:"string"`
21632
21633	// The type of parameter. The type can be either String or StringList.
21634	Type *string `type:"string" enum:"DocumentParameterType"`
21635}
21636
21637// String returns the string representation
21638func (s DocumentParameter) String() string {
21639	return awsutil.Prettify(s)
21640}
21641
21642// GoString returns the string representation
21643func (s DocumentParameter) GoString() string {
21644	return s.String()
21645}
21646
21647// SetDefaultValue sets the DefaultValue field's value.
21648func (s *DocumentParameter) SetDefaultValue(v string) *DocumentParameter {
21649	s.DefaultValue = &v
21650	return s
21651}
21652
21653// SetDescription sets the Description field's value.
21654func (s *DocumentParameter) SetDescription(v string) *DocumentParameter {
21655	s.Description = &v
21656	return s
21657}
21658
21659// SetName sets the Name field's value.
21660func (s *DocumentParameter) SetName(v string) *DocumentParameter {
21661	s.Name = &v
21662	return s
21663}
21664
21665// SetType sets the Type field's value.
21666func (s *DocumentParameter) SetType(v string) *DocumentParameter {
21667	s.Type = &v
21668	return s
21669}
21670
21671// Version information about the document.
21672type DocumentVersionInfo struct {
21673	_ struct{} `type:"structure"`
21674
21675	// The date the document was created.
21676	CreatedDate *time.Time `type:"timestamp"`
21677
21678	// The document format, either JSON or YAML.
21679	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21680
21681	// The document version.
21682	DocumentVersion *string `type:"string"`
21683
21684	// An identifier for the default version of the document.
21685	IsDefaultVersion *bool `type:"boolean"`
21686
21687	// The document name.
21688	Name *string `type:"string"`
21689
21690	// The status of the Systems Manager document, such as Creating, Active, Failed,
21691	// and Deleting.
21692	Status *string `type:"string" enum:"DocumentStatus"`
21693
21694	// A message returned by AWS Systems Manager that explains the Status value.
21695	// For example, a Failed status might be explained by the StatusInformation
21696	// message, "The specified S3 bucket does not exist. Verify that the URL of
21697	// the S3 bucket is correct."
21698	StatusInformation *string `type:"string"`
21699
21700	// The version of the artifact associated with the document. For example, "Release
21701	// 12, Update 6". This value is unique across all versions of a document, and
21702	// cannot be changed.
21703	VersionName *string `type:"string"`
21704}
21705
21706// String returns the string representation
21707func (s DocumentVersionInfo) String() string {
21708	return awsutil.Prettify(s)
21709}
21710
21711// GoString returns the string representation
21712func (s DocumentVersionInfo) GoString() string {
21713	return s.String()
21714}
21715
21716// SetCreatedDate sets the CreatedDate field's value.
21717func (s *DocumentVersionInfo) SetCreatedDate(v time.Time) *DocumentVersionInfo {
21718	s.CreatedDate = &v
21719	return s
21720}
21721
21722// SetDocumentFormat sets the DocumentFormat field's value.
21723func (s *DocumentVersionInfo) SetDocumentFormat(v string) *DocumentVersionInfo {
21724	s.DocumentFormat = &v
21725	return s
21726}
21727
21728// SetDocumentVersion sets the DocumentVersion field's value.
21729func (s *DocumentVersionInfo) SetDocumentVersion(v string) *DocumentVersionInfo {
21730	s.DocumentVersion = &v
21731	return s
21732}
21733
21734// SetIsDefaultVersion sets the IsDefaultVersion field's value.
21735func (s *DocumentVersionInfo) SetIsDefaultVersion(v bool) *DocumentVersionInfo {
21736	s.IsDefaultVersion = &v
21737	return s
21738}
21739
21740// SetName sets the Name field's value.
21741func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo {
21742	s.Name = &v
21743	return s
21744}
21745
21746// SetStatus sets the Status field's value.
21747func (s *DocumentVersionInfo) SetStatus(v string) *DocumentVersionInfo {
21748	s.Status = &v
21749	return s
21750}
21751
21752// SetStatusInformation sets the StatusInformation field's value.
21753func (s *DocumentVersionInfo) SetStatusInformation(v string) *DocumentVersionInfo {
21754	s.StatusInformation = &v
21755	return s
21756}
21757
21758// SetVersionName sets the VersionName field's value.
21759func (s *DocumentVersionInfo) SetVersionName(v string) *DocumentVersionInfo {
21760	s.VersionName = &v
21761	return s
21762}
21763
21764// The EffectivePatch structure defines metadata about a patch along with the
21765// approval state of the patch in a particular patch baseline. The approval
21766// state includes information about whether the patch is currently approved,
21767// due to be approved by a rule, explicitly approved, or explicitly rejected
21768// and the date the patch was or will be approved.
21769type EffectivePatch struct {
21770	_ struct{} `type:"structure"`
21771
21772	// Provides metadata for a patch, including information such as the KB ID, severity,
21773	// classification and a URL for where more information can be obtained about
21774	// the patch.
21775	Patch *Patch `type:"structure"`
21776
21777	// The status of the patch in a patch baseline. This includes information about
21778	// whether the patch is currently approved, due to be approved by a rule, explicitly
21779	// approved, or explicitly rejected and the date the patch was or will be approved.
21780	PatchStatus *PatchStatus `type:"structure"`
21781}
21782
21783// String returns the string representation
21784func (s EffectivePatch) String() string {
21785	return awsutil.Prettify(s)
21786}
21787
21788// GoString returns the string representation
21789func (s EffectivePatch) GoString() string {
21790	return s.String()
21791}
21792
21793// SetPatch sets the Patch field's value.
21794func (s *EffectivePatch) SetPatch(v *Patch) *EffectivePatch {
21795	s.Patch = v
21796	return s
21797}
21798
21799// SetPatchStatus sets the PatchStatus field's value.
21800func (s *EffectivePatch) SetPatchStatus(v *PatchStatus) *EffectivePatch {
21801	s.PatchStatus = v
21802	return s
21803}
21804
21805// Describes a failed association.
21806type FailedCreateAssociation struct {
21807	_ struct{} `type:"structure"`
21808
21809	// The association.
21810	Entry *CreateAssociationBatchRequestEntry `type:"structure"`
21811
21812	// The source of the failure.
21813	Fault *string `type:"string" enum:"Fault"`
21814
21815	// A description of the failure.
21816	Message *string `type:"string"`
21817}
21818
21819// String returns the string representation
21820func (s FailedCreateAssociation) String() string {
21821	return awsutil.Prettify(s)
21822}
21823
21824// GoString returns the string representation
21825func (s FailedCreateAssociation) GoString() string {
21826	return s.String()
21827}
21828
21829// SetEntry sets the Entry field's value.
21830func (s *FailedCreateAssociation) SetEntry(v *CreateAssociationBatchRequestEntry) *FailedCreateAssociation {
21831	s.Entry = v
21832	return s
21833}
21834
21835// SetFault sets the Fault field's value.
21836func (s *FailedCreateAssociation) SetFault(v string) *FailedCreateAssociation {
21837	s.Fault = &v
21838	return s
21839}
21840
21841// SetMessage sets the Message field's value.
21842func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation {
21843	s.Message = &v
21844	return s
21845}
21846
21847// Information about an Automation failure.
21848type FailureDetails struct {
21849	_ struct{} `type:"structure"`
21850
21851	// Detailed information about the Automation step failure.
21852	Details map[string][]*string `min:"1" type:"map"`
21853
21854	// The stage of the Automation execution when the failure occurred. The stages
21855	// include the following: InputValidation, PreVerification, Invocation, PostVerification.
21856	FailureStage *string `type:"string"`
21857
21858	// The type of Automation failure. Failure types include the following: Action,
21859	// Permission, Throttling, Verification, Internal.
21860	FailureType *string `type:"string"`
21861}
21862
21863// String returns the string representation
21864func (s FailureDetails) String() string {
21865	return awsutil.Prettify(s)
21866}
21867
21868// GoString returns the string representation
21869func (s FailureDetails) GoString() string {
21870	return s.String()
21871}
21872
21873// SetDetails sets the Details field's value.
21874func (s *FailureDetails) SetDetails(v map[string][]*string) *FailureDetails {
21875	s.Details = v
21876	return s
21877}
21878
21879// SetFailureStage sets the FailureStage field's value.
21880func (s *FailureDetails) SetFailureStage(v string) *FailureDetails {
21881	s.FailureStage = &v
21882	return s
21883}
21884
21885// SetFailureType sets the FailureType field's value.
21886func (s *FailureDetails) SetFailureType(v string) *FailureDetails {
21887	s.FailureType = &v
21888	return s
21889}
21890
21891type GetAutomationExecutionInput struct {
21892	_ struct{} `type:"structure"`
21893
21894	// The unique identifier for an existing automation execution to examine. The
21895	// execution ID is returned by StartAutomationExecution when the execution of
21896	// an Automation document is initiated.
21897	//
21898	// AutomationExecutionId is a required field
21899	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
21900}
21901
21902// String returns the string representation
21903func (s GetAutomationExecutionInput) String() string {
21904	return awsutil.Prettify(s)
21905}
21906
21907// GoString returns the string representation
21908func (s GetAutomationExecutionInput) GoString() string {
21909	return s.String()
21910}
21911
21912// Validate inspects the fields of the type to determine if they are valid.
21913func (s *GetAutomationExecutionInput) Validate() error {
21914	invalidParams := request.ErrInvalidParams{Context: "GetAutomationExecutionInput"}
21915	if s.AutomationExecutionId == nil {
21916		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
21917	}
21918	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
21919		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
21920	}
21921
21922	if invalidParams.Len() > 0 {
21923		return invalidParams
21924	}
21925	return nil
21926}
21927
21928// SetAutomationExecutionId sets the AutomationExecutionId field's value.
21929func (s *GetAutomationExecutionInput) SetAutomationExecutionId(v string) *GetAutomationExecutionInput {
21930	s.AutomationExecutionId = &v
21931	return s
21932}
21933
21934type GetAutomationExecutionOutput struct {
21935	_ struct{} `type:"structure"`
21936
21937	// Detailed information about the current state of an automation execution.
21938	AutomationExecution *AutomationExecution `type:"structure"`
21939}
21940
21941// String returns the string representation
21942func (s GetAutomationExecutionOutput) String() string {
21943	return awsutil.Prettify(s)
21944}
21945
21946// GoString returns the string representation
21947func (s GetAutomationExecutionOutput) GoString() string {
21948	return s.String()
21949}
21950
21951// SetAutomationExecution sets the AutomationExecution field's value.
21952func (s *GetAutomationExecutionOutput) SetAutomationExecution(v *AutomationExecution) *GetAutomationExecutionOutput {
21953	s.AutomationExecution = v
21954	return s
21955}
21956
21957type GetCommandInvocationInput struct {
21958	_ struct{} `type:"structure"`
21959
21960	// (Required) The parent command ID of the invocation plugin.
21961	//
21962	// CommandId is a required field
21963	CommandId *string `min:"36" type:"string" required:"true"`
21964
21965	// (Required) The ID of the managed instance targeted by the command. A managed
21966	// instance can be an Amazon EC2 instance or an instance in your hybrid environment
21967	// that is configured for Systems Manager.
21968	//
21969	// InstanceId is a required field
21970	InstanceId *string `type:"string" required:"true"`
21971
21972	// (Optional) The name of the plugin for which you want detailed results. If
21973	// the document contains only one plugin, the name can be omitted and the details
21974	// will be returned.
21975	PluginName *string `min:"4" type:"string"`
21976}
21977
21978// String returns the string representation
21979func (s GetCommandInvocationInput) String() string {
21980	return awsutil.Prettify(s)
21981}
21982
21983// GoString returns the string representation
21984func (s GetCommandInvocationInput) GoString() string {
21985	return s.String()
21986}
21987
21988// Validate inspects the fields of the type to determine if they are valid.
21989func (s *GetCommandInvocationInput) Validate() error {
21990	invalidParams := request.ErrInvalidParams{Context: "GetCommandInvocationInput"}
21991	if s.CommandId == nil {
21992		invalidParams.Add(request.NewErrParamRequired("CommandId"))
21993	}
21994	if s.CommandId != nil && len(*s.CommandId) < 36 {
21995		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
21996	}
21997	if s.InstanceId == nil {
21998		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21999	}
22000	if s.PluginName != nil && len(*s.PluginName) < 4 {
22001		invalidParams.Add(request.NewErrParamMinLen("PluginName", 4))
22002	}
22003
22004	if invalidParams.Len() > 0 {
22005		return invalidParams
22006	}
22007	return nil
22008}
22009
22010// SetCommandId sets the CommandId field's value.
22011func (s *GetCommandInvocationInput) SetCommandId(v string) *GetCommandInvocationInput {
22012	s.CommandId = &v
22013	return s
22014}
22015
22016// SetInstanceId sets the InstanceId field's value.
22017func (s *GetCommandInvocationInput) SetInstanceId(v string) *GetCommandInvocationInput {
22018	s.InstanceId = &v
22019	return s
22020}
22021
22022// SetPluginName sets the PluginName field's value.
22023func (s *GetCommandInvocationInput) SetPluginName(v string) *GetCommandInvocationInput {
22024	s.PluginName = &v
22025	return s
22026}
22027
22028type GetCommandInvocationOutput struct {
22029	_ struct{} `type:"structure"`
22030
22031	// CloudWatch Logs information where Systems Manager sent the command output.
22032	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
22033
22034	// The parent command ID of the invocation plugin.
22035	CommandId *string `min:"36" type:"string"`
22036
22037	// The comment text for the command.
22038	Comment *string `type:"string"`
22039
22040	// The name of the document that was run. For example, AWS-RunShellScript.
22041	DocumentName *string `type:"string"`
22042
22043	// The SSM document version used in the request.
22044	DocumentVersion *string `type:"string"`
22045
22046	// Duration since ExecutionStartDateTime.
22047	ExecutionElapsedTime *string `type:"string"`
22048
22049	// The date and time the plugin was finished running. Date and time are written
22050	// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
22051	// The following sample AWS CLI command uses the InvokedAfter filter.
22052	//
22053	// aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z
22054	//
22055	// If the plugin has not started to run, the string is empty.
22056	ExecutionEndDateTime *string `type:"string"`
22057
22058	// The date and time the plugin started running. Date and time are written in
22059	// ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The
22060	// following sample AWS CLI command uses the InvokedBefore filter.
22061	//
22062	// aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z
22063	//
22064	// If the plugin has not started to run, the string is empty.
22065	ExecutionStartDateTime *string `type:"string"`
22066
22067	// The ID of the managed instance targeted by the command. A managed instance
22068	// can be an Amazon EC2 instance or an instance in your hybrid environment that
22069	// is configured for Systems Manager.
22070	InstanceId *string `type:"string"`
22071
22072	// The name of the plugin for which you want detailed results. For example,
22073	// aws:RunShellScript is a plugin.
22074	PluginName *string `min:"4" type:"string"`
22075
22076	// The error level response code for the plugin script. If the response code
22077	// is -1, then the command has not started running on the instance, or it was
22078	// not received by the instance.
22079	ResponseCode *int64 `type:"integer"`
22080
22081	// The first 8,000 characters written by the plugin to stderr. If the command
22082	// has not finished running, then this string is empty.
22083	StandardErrorContent *string `type:"string"`
22084
22085	// The URL for the complete text written by the plugin to stderr. If the command
22086	// has not finished running, then this string is empty.
22087	StandardErrorUrl *string `type:"string"`
22088
22089	// The first 24,000 characters written by the plugin to stdout. If the command
22090	// has not finished running, if ExecutionStatus is neither Succeeded nor Failed,
22091	// then this string is empty.
22092	StandardOutputContent *string `type:"string"`
22093
22094	// The URL for the complete text written by the plugin to stdout in Amazon S3.
22095	// If an Amazon S3 bucket was not specified, then this string is empty.
22096	StandardOutputUrl *string `type:"string"`
22097
22098	// The status of this invocation plugin. This status can be different than StatusDetails.
22099	Status *string `type:"string" enum:"CommandInvocationStatus"`
22100
22101	// A detailed status of the command execution for an invocation. StatusDetails
22102	// includes more information than Status because it includes states resulting
22103	// from error and concurrency control parameters. StatusDetails can show different
22104	// results than Status. For more information about these statuses, see Understanding
22105	// Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
22106	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
22107	// values:
22108	//
22109	//    * Pending: The command has not been sent to the instance.
22110	//
22111	//    * In Progress: The command has been sent to the instance but has not reached
22112	//    a terminal state.
22113	//
22114	//    * Delayed: The system attempted to send the command to the target, but
22115	//    the target was not available. The instance might not be available because
22116	//    of network issues, the instance was stopped, etc. The system will try
22117	//    to deliver the command again.
22118	//
22119	//    * Success: The command or plugin was run successfully. This is a terminal
22120	//    state.
22121	//
22122	//    * Delivery Timed Out: The command was not delivered to the instance before
22123	//    the delivery timeout expired. Delivery timeouts do not count against the
22124	//    parent command's MaxErrors limit, but they do contribute to whether the
22125	//    parent command status is Success or Incomplete. This is a terminal state.
22126	//
22127	//    * Execution Timed Out: The command started to run on the instance, but
22128	//    the execution was not complete before the timeout expired. Execution timeouts
22129	//    count against the MaxErrors limit of the parent command. This is a terminal
22130	//    state.
22131	//
22132	//    * Failed: The command wasn't run successfully on the instance. For a plugin,
22133	//    this indicates that the result code was not zero. For a command invocation,
22134	//    this indicates that the result code for one or more plugins was not zero.
22135	//    Invocation failures count against the MaxErrors limit of the parent command.
22136	//    This is a terminal state.
22137	//
22138	//    * Canceled: The command was terminated before it was completed. This is
22139	//    a terminal state.
22140	//
22141	//    * Undeliverable: The command can't be delivered to the instance. The instance
22142	//    might not exist or might not be responding. Undeliverable invocations
22143	//    don't count against the parent command's MaxErrors limit and don't contribute
22144	//    to whether the parent command status is Success or Incomplete. This is
22145	//    a terminal state.
22146	//
22147	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
22148	//    command invocations were canceled by the system. This is a terminal state.
22149	StatusDetails *string `type:"string"`
22150}
22151
22152// String returns the string representation
22153func (s GetCommandInvocationOutput) String() string {
22154	return awsutil.Prettify(s)
22155}
22156
22157// GoString returns the string representation
22158func (s GetCommandInvocationOutput) GoString() string {
22159	return s.String()
22160}
22161
22162// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
22163func (s *GetCommandInvocationOutput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *GetCommandInvocationOutput {
22164	s.CloudWatchOutputConfig = v
22165	return s
22166}
22167
22168// SetCommandId sets the CommandId field's value.
22169func (s *GetCommandInvocationOutput) SetCommandId(v string) *GetCommandInvocationOutput {
22170	s.CommandId = &v
22171	return s
22172}
22173
22174// SetComment sets the Comment field's value.
22175func (s *GetCommandInvocationOutput) SetComment(v string) *GetCommandInvocationOutput {
22176	s.Comment = &v
22177	return s
22178}
22179
22180// SetDocumentName sets the DocumentName field's value.
22181func (s *GetCommandInvocationOutput) SetDocumentName(v string) *GetCommandInvocationOutput {
22182	s.DocumentName = &v
22183	return s
22184}
22185
22186// SetDocumentVersion sets the DocumentVersion field's value.
22187func (s *GetCommandInvocationOutput) SetDocumentVersion(v string) *GetCommandInvocationOutput {
22188	s.DocumentVersion = &v
22189	return s
22190}
22191
22192// SetExecutionElapsedTime sets the ExecutionElapsedTime field's value.
22193func (s *GetCommandInvocationOutput) SetExecutionElapsedTime(v string) *GetCommandInvocationOutput {
22194	s.ExecutionElapsedTime = &v
22195	return s
22196}
22197
22198// SetExecutionEndDateTime sets the ExecutionEndDateTime field's value.
22199func (s *GetCommandInvocationOutput) SetExecutionEndDateTime(v string) *GetCommandInvocationOutput {
22200	s.ExecutionEndDateTime = &v
22201	return s
22202}
22203
22204// SetExecutionStartDateTime sets the ExecutionStartDateTime field's value.
22205func (s *GetCommandInvocationOutput) SetExecutionStartDateTime(v string) *GetCommandInvocationOutput {
22206	s.ExecutionStartDateTime = &v
22207	return s
22208}
22209
22210// SetInstanceId sets the InstanceId field's value.
22211func (s *GetCommandInvocationOutput) SetInstanceId(v string) *GetCommandInvocationOutput {
22212	s.InstanceId = &v
22213	return s
22214}
22215
22216// SetPluginName sets the PluginName field's value.
22217func (s *GetCommandInvocationOutput) SetPluginName(v string) *GetCommandInvocationOutput {
22218	s.PluginName = &v
22219	return s
22220}
22221
22222// SetResponseCode sets the ResponseCode field's value.
22223func (s *GetCommandInvocationOutput) SetResponseCode(v int64) *GetCommandInvocationOutput {
22224	s.ResponseCode = &v
22225	return s
22226}
22227
22228// SetStandardErrorContent sets the StandardErrorContent field's value.
22229func (s *GetCommandInvocationOutput) SetStandardErrorContent(v string) *GetCommandInvocationOutput {
22230	s.StandardErrorContent = &v
22231	return s
22232}
22233
22234// SetStandardErrorUrl sets the StandardErrorUrl field's value.
22235func (s *GetCommandInvocationOutput) SetStandardErrorUrl(v string) *GetCommandInvocationOutput {
22236	s.StandardErrorUrl = &v
22237	return s
22238}
22239
22240// SetStandardOutputContent sets the StandardOutputContent field's value.
22241func (s *GetCommandInvocationOutput) SetStandardOutputContent(v string) *GetCommandInvocationOutput {
22242	s.StandardOutputContent = &v
22243	return s
22244}
22245
22246// SetStandardOutputUrl sets the StandardOutputUrl field's value.
22247func (s *GetCommandInvocationOutput) SetStandardOutputUrl(v string) *GetCommandInvocationOutput {
22248	s.StandardOutputUrl = &v
22249	return s
22250}
22251
22252// SetStatus sets the Status field's value.
22253func (s *GetCommandInvocationOutput) SetStatus(v string) *GetCommandInvocationOutput {
22254	s.Status = &v
22255	return s
22256}
22257
22258// SetStatusDetails sets the StatusDetails field's value.
22259func (s *GetCommandInvocationOutput) SetStatusDetails(v string) *GetCommandInvocationOutput {
22260	s.StatusDetails = &v
22261	return s
22262}
22263
22264type GetConnectionStatusInput struct {
22265	_ struct{} `type:"structure"`
22266
22267	// The ID of the instance.
22268	//
22269	// Target is a required field
22270	Target *string `min:"1" type:"string" required:"true"`
22271}
22272
22273// String returns the string representation
22274func (s GetConnectionStatusInput) String() string {
22275	return awsutil.Prettify(s)
22276}
22277
22278// GoString returns the string representation
22279func (s GetConnectionStatusInput) GoString() string {
22280	return s.String()
22281}
22282
22283// Validate inspects the fields of the type to determine if they are valid.
22284func (s *GetConnectionStatusInput) Validate() error {
22285	invalidParams := request.ErrInvalidParams{Context: "GetConnectionStatusInput"}
22286	if s.Target == nil {
22287		invalidParams.Add(request.NewErrParamRequired("Target"))
22288	}
22289	if s.Target != nil && len(*s.Target) < 1 {
22290		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
22291	}
22292
22293	if invalidParams.Len() > 0 {
22294		return invalidParams
22295	}
22296	return nil
22297}
22298
22299// SetTarget sets the Target field's value.
22300func (s *GetConnectionStatusInput) SetTarget(v string) *GetConnectionStatusInput {
22301	s.Target = &v
22302	return s
22303}
22304
22305type GetConnectionStatusOutput struct {
22306	_ struct{} `type:"structure"`
22307
22308	// The status of the connection to the instance. For example, 'Connected' or
22309	// 'Not Connected'.
22310	Status *string `type:"string" enum:"ConnectionStatus"`
22311
22312	// The ID of the instance to check connection status.
22313	Target *string `min:"1" type:"string"`
22314}
22315
22316// String returns the string representation
22317func (s GetConnectionStatusOutput) String() string {
22318	return awsutil.Prettify(s)
22319}
22320
22321// GoString returns the string representation
22322func (s GetConnectionStatusOutput) GoString() string {
22323	return s.String()
22324}
22325
22326// SetStatus sets the Status field's value.
22327func (s *GetConnectionStatusOutput) SetStatus(v string) *GetConnectionStatusOutput {
22328	s.Status = &v
22329	return s
22330}
22331
22332// SetTarget sets the Target field's value.
22333func (s *GetConnectionStatusOutput) SetTarget(v string) *GetConnectionStatusOutput {
22334	s.Target = &v
22335	return s
22336}
22337
22338type GetDefaultPatchBaselineInput struct {
22339	_ struct{} `type:"structure"`
22340
22341	// Returns the default patch baseline for the specified operating system.
22342	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22343}
22344
22345// String returns the string representation
22346func (s GetDefaultPatchBaselineInput) String() string {
22347	return awsutil.Prettify(s)
22348}
22349
22350// GoString returns the string representation
22351func (s GetDefaultPatchBaselineInput) GoString() string {
22352	return s.String()
22353}
22354
22355// SetOperatingSystem sets the OperatingSystem field's value.
22356func (s *GetDefaultPatchBaselineInput) SetOperatingSystem(v string) *GetDefaultPatchBaselineInput {
22357	s.OperatingSystem = &v
22358	return s
22359}
22360
22361type GetDefaultPatchBaselineOutput struct {
22362	_ struct{} `type:"structure"`
22363
22364	// The ID of the default patch baseline.
22365	BaselineId *string `min:"20" type:"string"`
22366
22367	// The operating system for the returned patch baseline.
22368	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22369}
22370
22371// String returns the string representation
22372func (s GetDefaultPatchBaselineOutput) String() string {
22373	return awsutil.Prettify(s)
22374}
22375
22376// GoString returns the string representation
22377func (s GetDefaultPatchBaselineOutput) GoString() string {
22378	return s.String()
22379}
22380
22381// SetBaselineId sets the BaselineId field's value.
22382func (s *GetDefaultPatchBaselineOutput) SetBaselineId(v string) *GetDefaultPatchBaselineOutput {
22383	s.BaselineId = &v
22384	return s
22385}
22386
22387// SetOperatingSystem sets the OperatingSystem field's value.
22388func (s *GetDefaultPatchBaselineOutput) SetOperatingSystem(v string) *GetDefaultPatchBaselineOutput {
22389	s.OperatingSystem = &v
22390	return s
22391}
22392
22393type GetDeployablePatchSnapshotForInstanceInput struct {
22394	_ struct{} `type:"structure"`
22395
22396	// The ID of the instance for which the appropriate patch snapshot should be
22397	// retrieved.
22398	//
22399	// InstanceId is a required field
22400	InstanceId *string `type:"string" required:"true"`
22401
22402	// The user-defined snapshot ID.
22403	//
22404	// SnapshotId is a required field
22405	SnapshotId *string `min:"36" type:"string" required:"true"`
22406}
22407
22408// String returns the string representation
22409func (s GetDeployablePatchSnapshotForInstanceInput) String() string {
22410	return awsutil.Prettify(s)
22411}
22412
22413// GoString returns the string representation
22414func (s GetDeployablePatchSnapshotForInstanceInput) GoString() string {
22415	return s.String()
22416}
22417
22418// Validate inspects the fields of the type to determine if they are valid.
22419func (s *GetDeployablePatchSnapshotForInstanceInput) Validate() error {
22420	invalidParams := request.ErrInvalidParams{Context: "GetDeployablePatchSnapshotForInstanceInput"}
22421	if s.InstanceId == nil {
22422		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
22423	}
22424	if s.SnapshotId == nil {
22425		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
22426	}
22427	if s.SnapshotId != nil && len(*s.SnapshotId) < 36 {
22428		invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 36))
22429	}
22430
22431	if invalidParams.Len() > 0 {
22432		return invalidParams
22433	}
22434	return nil
22435}
22436
22437// SetInstanceId sets the InstanceId field's value.
22438func (s *GetDeployablePatchSnapshotForInstanceInput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceInput {
22439	s.InstanceId = &v
22440	return s
22441}
22442
22443// SetSnapshotId sets the SnapshotId field's value.
22444func (s *GetDeployablePatchSnapshotForInstanceInput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceInput {
22445	s.SnapshotId = &v
22446	return s
22447}
22448
22449type GetDeployablePatchSnapshotForInstanceOutput struct {
22450	_ struct{} `type:"structure"`
22451
22452	// The ID of the instance.
22453	InstanceId *string `type:"string"`
22454
22455	// Returns the specific operating system (for example Windows Server 2012 or
22456	// Amazon Linux 2015.09) on the instance for the specified patch snapshot.
22457	Product *string `type:"string"`
22458
22459	// A pre-signed Amazon S3 URL that can be used to download the patch snapshot.
22460	SnapshotDownloadUrl *string `type:"string"`
22461
22462	// The user-defined snapshot ID.
22463	SnapshotId *string `min:"36" type:"string"`
22464}
22465
22466// String returns the string representation
22467func (s GetDeployablePatchSnapshotForInstanceOutput) String() string {
22468	return awsutil.Prettify(s)
22469}
22470
22471// GoString returns the string representation
22472func (s GetDeployablePatchSnapshotForInstanceOutput) GoString() string {
22473	return s.String()
22474}
22475
22476// SetInstanceId sets the InstanceId field's value.
22477func (s *GetDeployablePatchSnapshotForInstanceOutput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22478	s.InstanceId = &v
22479	return s
22480}
22481
22482// SetProduct sets the Product field's value.
22483func (s *GetDeployablePatchSnapshotForInstanceOutput) SetProduct(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22484	s.Product = &v
22485	return s
22486}
22487
22488// SetSnapshotDownloadUrl sets the SnapshotDownloadUrl field's value.
22489func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotDownloadUrl(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22490	s.SnapshotDownloadUrl = &v
22491	return s
22492}
22493
22494// SetSnapshotId sets the SnapshotId field's value.
22495func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22496	s.SnapshotId = &v
22497	return s
22498}
22499
22500type GetDocumentInput struct {
22501	_ struct{} `type:"structure"`
22502
22503	// Returns the document in the specified format. The document format can be
22504	// either JSON or YAML. JSON is the default format.
22505	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
22506
22507	// The document version for which you want information.
22508	DocumentVersion *string `type:"string"`
22509
22510	// The name of the Systems Manager document.
22511	//
22512	// Name is a required field
22513	Name *string `type:"string" required:"true"`
22514
22515	// An optional field specifying the version of the artifact associated with
22516	// the document. For example, "Release 12, Update 6". This value is unique across
22517	// all versions of a document, and cannot be changed.
22518	VersionName *string `type:"string"`
22519}
22520
22521// String returns the string representation
22522func (s GetDocumentInput) String() string {
22523	return awsutil.Prettify(s)
22524}
22525
22526// GoString returns the string representation
22527func (s GetDocumentInput) GoString() string {
22528	return s.String()
22529}
22530
22531// Validate inspects the fields of the type to determine if they are valid.
22532func (s *GetDocumentInput) Validate() error {
22533	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
22534	if s.Name == nil {
22535		invalidParams.Add(request.NewErrParamRequired("Name"))
22536	}
22537
22538	if invalidParams.Len() > 0 {
22539		return invalidParams
22540	}
22541	return nil
22542}
22543
22544// SetDocumentFormat sets the DocumentFormat field's value.
22545func (s *GetDocumentInput) SetDocumentFormat(v string) *GetDocumentInput {
22546	s.DocumentFormat = &v
22547	return s
22548}
22549
22550// SetDocumentVersion sets the DocumentVersion field's value.
22551func (s *GetDocumentInput) SetDocumentVersion(v string) *GetDocumentInput {
22552	s.DocumentVersion = &v
22553	return s
22554}
22555
22556// SetName sets the Name field's value.
22557func (s *GetDocumentInput) SetName(v string) *GetDocumentInput {
22558	s.Name = &v
22559	return s
22560}
22561
22562// SetVersionName sets the VersionName field's value.
22563func (s *GetDocumentInput) SetVersionName(v string) *GetDocumentInput {
22564	s.VersionName = &v
22565	return s
22566}
22567
22568type GetDocumentOutput struct {
22569	_ struct{} `type:"structure"`
22570
22571	// A description of the document attachments, including names, locations, sizes,
22572	// etc.
22573	AttachmentsContent []*AttachmentContent `type:"list"`
22574
22575	// The contents of the Systems Manager document.
22576	Content *string `min:"1" type:"string"`
22577
22578	// The document format, either JSON or YAML.
22579	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
22580
22581	// The document type.
22582	DocumentType *string `type:"string" enum:"DocumentType"`
22583
22584	// The document version.
22585	DocumentVersion *string `type:"string"`
22586
22587	// The name of the Systems Manager document.
22588	Name *string `type:"string"`
22589
22590	// The status of the Systems Manager document, such as Creating, Active, Updating,
22591	// Failed, and Deleting.
22592	Status *string `type:"string" enum:"DocumentStatus"`
22593
22594	// A message returned by AWS Systems Manager that explains the Status value.
22595	// For example, a Failed status might be explained by the StatusInformation
22596	// message, "The specified S3 bucket does not exist. Verify that the URL of
22597	// the S3 bucket is correct."
22598	StatusInformation *string `type:"string"`
22599
22600	// The version of the artifact associated with the document. For example, "Release
22601	// 12, Update 6". This value is unique across all versions of a document, and
22602	// cannot be changed.
22603	VersionName *string `type:"string"`
22604}
22605
22606// String returns the string representation
22607func (s GetDocumentOutput) String() string {
22608	return awsutil.Prettify(s)
22609}
22610
22611// GoString returns the string representation
22612func (s GetDocumentOutput) GoString() string {
22613	return s.String()
22614}
22615
22616// SetAttachmentsContent sets the AttachmentsContent field's value.
22617func (s *GetDocumentOutput) SetAttachmentsContent(v []*AttachmentContent) *GetDocumentOutput {
22618	s.AttachmentsContent = v
22619	return s
22620}
22621
22622// SetContent sets the Content field's value.
22623func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput {
22624	s.Content = &v
22625	return s
22626}
22627
22628// SetDocumentFormat sets the DocumentFormat field's value.
22629func (s *GetDocumentOutput) SetDocumentFormat(v string) *GetDocumentOutput {
22630	s.DocumentFormat = &v
22631	return s
22632}
22633
22634// SetDocumentType sets the DocumentType field's value.
22635func (s *GetDocumentOutput) SetDocumentType(v string) *GetDocumentOutput {
22636	s.DocumentType = &v
22637	return s
22638}
22639
22640// SetDocumentVersion sets the DocumentVersion field's value.
22641func (s *GetDocumentOutput) SetDocumentVersion(v string) *GetDocumentOutput {
22642	s.DocumentVersion = &v
22643	return s
22644}
22645
22646// SetName sets the Name field's value.
22647func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput {
22648	s.Name = &v
22649	return s
22650}
22651
22652// SetStatus sets the Status field's value.
22653func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput {
22654	s.Status = &v
22655	return s
22656}
22657
22658// SetStatusInformation sets the StatusInformation field's value.
22659func (s *GetDocumentOutput) SetStatusInformation(v string) *GetDocumentOutput {
22660	s.StatusInformation = &v
22661	return s
22662}
22663
22664// SetVersionName sets the VersionName field's value.
22665func (s *GetDocumentOutput) SetVersionName(v string) *GetDocumentOutput {
22666	s.VersionName = &v
22667	return s
22668}
22669
22670type GetInventoryInput struct {
22671	_ struct{} `type:"structure"`
22672
22673	// Returns counts of inventory types based on one or more expressions. For example,
22674	// if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType
22675	// type, you can see a count of how many Windows and Linux instances exist in
22676	// your inventoried fleet.
22677	Aggregators []*InventoryAggregator `min:"1" type:"list"`
22678
22679	// One or more filters. Use a filter to return a more specific list of results.
22680	Filters []*InventoryFilter `min:"1" type:"list"`
22681
22682	// The maximum number of items to return for this call. The call also returns
22683	// a token that you can specify in a subsequent call to get the next set of
22684	// results.
22685	MaxResults *int64 `min:"1" type:"integer"`
22686
22687	// The token for the next set of items to return. (You received this token from
22688	// a previous call.)
22689	NextToken *string `type:"string"`
22690
22691	// The list of inventory item types to return.
22692	ResultAttributes []*ResultAttribute `min:"1" type:"list"`
22693}
22694
22695// String returns the string representation
22696func (s GetInventoryInput) String() string {
22697	return awsutil.Prettify(s)
22698}
22699
22700// GoString returns the string representation
22701func (s GetInventoryInput) GoString() string {
22702	return s.String()
22703}
22704
22705// Validate inspects the fields of the type to determine if they are valid.
22706func (s *GetInventoryInput) Validate() error {
22707	invalidParams := request.ErrInvalidParams{Context: "GetInventoryInput"}
22708	if s.Aggregators != nil && len(s.Aggregators) < 1 {
22709		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
22710	}
22711	if s.Filters != nil && len(s.Filters) < 1 {
22712		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
22713	}
22714	if s.MaxResults != nil && *s.MaxResults < 1 {
22715		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22716	}
22717	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
22718		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
22719	}
22720	if s.Aggregators != nil {
22721		for i, v := range s.Aggregators {
22722			if v == nil {
22723				continue
22724			}
22725			if err := v.Validate(); err != nil {
22726				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
22727			}
22728		}
22729	}
22730	if s.Filters != nil {
22731		for i, v := range s.Filters {
22732			if v == nil {
22733				continue
22734			}
22735			if err := v.Validate(); err != nil {
22736				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
22737			}
22738		}
22739	}
22740	if s.ResultAttributes != nil {
22741		for i, v := range s.ResultAttributes {
22742			if v == nil {
22743				continue
22744			}
22745			if err := v.Validate(); err != nil {
22746				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
22747			}
22748		}
22749	}
22750
22751	if invalidParams.Len() > 0 {
22752		return invalidParams
22753	}
22754	return nil
22755}
22756
22757// SetAggregators sets the Aggregators field's value.
22758func (s *GetInventoryInput) SetAggregators(v []*InventoryAggregator) *GetInventoryInput {
22759	s.Aggregators = v
22760	return s
22761}
22762
22763// SetFilters sets the Filters field's value.
22764func (s *GetInventoryInput) SetFilters(v []*InventoryFilter) *GetInventoryInput {
22765	s.Filters = v
22766	return s
22767}
22768
22769// SetMaxResults sets the MaxResults field's value.
22770func (s *GetInventoryInput) SetMaxResults(v int64) *GetInventoryInput {
22771	s.MaxResults = &v
22772	return s
22773}
22774
22775// SetNextToken sets the NextToken field's value.
22776func (s *GetInventoryInput) SetNextToken(v string) *GetInventoryInput {
22777	s.NextToken = &v
22778	return s
22779}
22780
22781// SetResultAttributes sets the ResultAttributes field's value.
22782func (s *GetInventoryInput) SetResultAttributes(v []*ResultAttribute) *GetInventoryInput {
22783	s.ResultAttributes = v
22784	return s
22785}
22786
22787type GetInventoryOutput struct {
22788	_ struct{} `type:"structure"`
22789
22790	// Collection of inventory entities such as a collection of instance inventory.
22791	Entities []*InventoryResultEntity `type:"list"`
22792
22793	// The token to use when requesting the next set of items. If there are no additional
22794	// items to return, the string is empty.
22795	NextToken *string `type:"string"`
22796}
22797
22798// String returns the string representation
22799func (s GetInventoryOutput) String() string {
22800	return awsutil.Prettify(s)
22801}
22802
22803// GoString returns the string representation
22804func (s GetInventoryOutput) GoString() string {
22805	return s.String()
22806}
22807
22808// SetEntities sets the Entities field's value.
22809func (s *GetInventoryOutput) SetEntities(v []*InventoryResultEntity) *GetInventoryOutput {
22810	s.Entities = v
22811	return s
22812}
22813
22814// SetNextToken sets the NextToken field's value.
22815func (s *GetInventoryOutput) SetNextToken(v string) *GetInventoryOutput {
22816	s.NextToken = &v
22817	return s
22818}
22819
22820type GetInventorySchemaInput struct {
22821	_ struct{} `type:"structure"`
22822
22823	// Returns inventory schemas that support aggregation. For example, this call
22824	// returns the AWS:InstanceInformation type, because it supports aggregation
22825	// based on the PlatformName, PlatformType, and PlatformVersion attributes.
22826	Aggregator *bool `type:"boolean"`
22827
22828	// The maximum number of items to return for this call. The call also returns
22829	// a token that you can specify in a subsequent call to get the next set of
22830	// results.
22831	MaxResults *int64 `min:"50" type:"integer"`
22832
22833	// The token for the next set of items to return. (You received this token from
22834	// a previous call.)
22835	NextToken *string `type:"string"`
22836
22837	// Returns the sub-type schema for a specified inventory type.
22838	SubType *bool `type:"boolean"`
22839
22840	// The type of inventory item to return.
22841	TypeName *string `type:"string"`
22842}
22843
22844// String returns the string representation
22845func (s GetInventorySchemaInput) String() string {
22846	return awsutil.Prettify(s)
22847}
22848
22849// GoString returns the string representation
22850func (s GetInventorySchemaInput) GoString() string {
22851	return s.String()
22852}
22853
22854// Validate inspects the fields of the type to determine if they are valid.
22855func (s *GetInventorySchemaInput) Validate() error {
22856	invalidParams := request.ErrInvalidParams{Context: "GetInventorySchemaInput"}
22857	if s.MaxResults != nil && *s.MaxResults < 50 {
22858		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
22859	}
22860
22861	if invalidParams.Len() > 0 {
22862		return invalidParams
22863	}
22864	return nil
22865}
22866
22867// SetAggregator sets the Aggregator field's value.
22868func (s *GetInventorySchemaInput) SetAggregator(v bool) *GetInventorySchemaInput {
22869	s.Aggregator = &v
22870	return s
22871}
22872
22873// SetMaxResults sets the MaxResults field's value.
22874func (s *GetInventorySchemaInput) SetMaxResults(v int64) *GetInventorySchemaInput {
22875	s.MaxResults = &v
22876	return s
22877}
22878
22879// SetNextToken sets the NextToken field's value.
22880func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInput {
22881	s.NextToken = &v
22882	return s
22883}
22884
22885// SetSubType sets the SubType field's value.
22886func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput {
22887	s.SubType = &v
22888	return s
22889}
22890
22891// SetTypeName sets the TypeName field's value.
22892func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput {
22893	s.TypeName = &v
22894	return s
22895}
22896
22897type GetInventorySchemaOutput struct {
22898	_ struct{} `type:"structure"`
22899
22900	// The token to use when requesting the next set of items. If there are no additional
22901	// items to return, the string is empty.
22902	NextToken *string `type:"string"`
22903
22904	// Inventory schemas returned by the request.
22905	Schemas []*InventoryItemSchema `type:"list"`
22906}
22907
22908// String returns the string representation
22909func (s GetInventorySchemaOutput) String() string {
22910	return awsutil.Prettify(s)
22911}
22912
22913// GoString returns the string representation
22914func (s GetInventorySchemaOutput) GoString() string {
22915	return s.String()
22916}
22917
22918// SetNextToken sets the NextToken field's value.
22919func (s *GetInventorySchemaOutput) SetNextToken(v string) *GetInventorySchemaOutput {
22920	s.NextToken = &v
22921	return s
22922}
22923
22924// SetSchemas sets the Schemas field's value.
22925func (s *GetInventorySchemaOutput) SetSchemas(v []*InventoryItemSchema) *GetInventorySchemaOutput {
22926	s.Schemas = v
22927	return s
22928}
22929
22930type GetMaintenanceWindowExecutionInput struct {
22931	_ struct{} `type:"structure"`
22932
22933	// The ID of the maintenance window execution that includes the task.
22934	//
22935	// WindowExecutionId is a required field
22936	WindowExecutionId *string `min:"36" type:"string" required:"true"`
22937}
22938
22939// String returns the string representation
22940func (s GetMaintenanceWindowExecutionInput) String() string {
22941	return awsutil.Prettify(s)
22942}
22943
22944// GoString returns the string representation
22945func (s GetMaintenanceWindowExecutionInput) GoString() string {
22946	return s.String()
22947}
22948
22949// Validate inspects the fields of the type to determine if they are valid.
22950func (s *GetMaintenanceWindowExecutionInput) Validate() error {
22951	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionInput"}
22952	if s.WindowExecutionId == nil {
22953		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
22954	}
22955	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
22956		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
22957	}
22958
22959	if invalidParams.Len() > 0 {
22960		return invalidParams
22961	}
22962	return nil
22963}
22964
22965// SetWindowExecutionId sets the WindowExecutionId field's value.
22966func (s *GetMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionInput {
22967	s.WindowExecutionId = &v
22968	return s
22969}
22970
22971type GetMaintenanceWindowExecutionOutput struct {
22972	_ struct{} `type:"structure"`
22973
22974	// The time the maintenance window finished running.
22975	EndTime *time.Time `type:"timestamp"`
22976
22977	// The time the maintenance window started running.
22978	StartTime *time.Time `type:"timestamp"`
22979
22980	// The status of the maintenance window execution.
22981	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
22982
22983	// The details explaining the Status. Only available for certain status values.
22984	StatusDetails *string `type:"string"`
22985
22986	// The ID of the task executions from the maintenance window execution.
22987	TaskIds []*string `type:"list"`
22988
22989	// The ID of the maintenance window execution.
22990	WindowExecutionId *string `min:"36" type:"string"`
22991}
22992
22993// String returns the string representation
22994func (s GetMaintenanceWindowExecutionOutput) String() string {
22995	return awsutil.Prettify(s)
22996}
22997
22998// GoString returns the string representation
22999func (s GetMaintenanceWindowExecutionOutput) GoString() string {
23000	return s.String()
23001}
23002
23003// SetEndTime sets the EndTime field's value.
23004func (s *GetMaintenanceWindowExecutionOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
23005	s.EndTime = &v
23006	return s
23007}
23008
23009// SetStartTime sets the StartTime field's value.
23010func (s *GetMaintenanceWindowExecutionOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
23011	s.StartTime = &v
23012	return s
23013}
23014
23015// SetStatus sets the Status field's value.
23016func (s *GetMaintenanceWindowExecutionOutput) SetStatus(v string) *GetMaintenanceWindowExecutionOutput {
23017	s.Status = &v
23018	return s
23019}
23020
23021// SetStatusDetails sets the StatusDetails field's value.
23022func (s *GetMaintenanceWindowExecutionOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionOutput {
23023	s.StatusDetails = &v
23024	return s
23025}
23026
23027// SetTaskIds sets the TaskIds field's value.
23028func (s *GetMaintenanceWindowExecutionOutput) SetTaskIds(v []*string) *GetMaintenanceWindowExecutionOutput {
23029	s.TaskIds = v
23030	return s
23031}
23032
23033// SetWindowExecutionId sets the WindowExecutionId field's value.
23034func (s *GetMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionOutput {
23035	s.WindowExecutionId = &v
23036	return s
23037}
23038
23039type GetMaintenanceWindowExecutionTaskInput struct {
23040	_ struct{} `type:"structure"`
23041
23042	// The ID of the specific task execution in the maintenance window task that
23043	// should be retrieved.
23044	//
23045	// TaskId is a required field
23046	TaskId *string `min:"36" type:"string" required:"true"`
23047
23048	// The ID of the maintenance window execution that includes the task.
23049	//
23050	// WindowExecutionId is a required field
23051	WindowExecutionId *string `min:"36" type:"string" required:"true"`
23052}
23053
23054// String returns the string representation
23055func (s GetMaintenanceWindowExecutionTaskInput) String() string {
23056	return awsutil.Prettify(s)
23057}
23058
23059// GoString returns the string representation
23060func (s GetMaintenanceWindowExecutionTaskInput) GoString() string {
23061	return s.String()
23062}
23063
23064// Validate inspects the fields of the type to determine if they are valid.
23065func (s *GetMaintenanceWindowExecutionTaskInput) Validate() error {
23066	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInput"}
23067	if s.TaskId == nil {
23068		invalidParams.Add(request.NewErrParamRequired("TaskId"))
23069	}
23070	if s.TaskId != nil && len(*s.TaskId) < 36 {
23071		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
23072	}
23073	if s.WindowExecutionId == nil {
23074		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
23075	}
23076	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
23077		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
23078	}
23079
23080	if invalidParams.Len() > 0 {
23081		return invalidParams
23082	}
23083	return nil
23084}
23085
23086// SetTaskId sets the TaskId field's value.
23087func (s *GetMaintenanceWindowExecutionTaskInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInput {
23088	s.TaskId = &v
23089	return s
23090}
23091
23092// SetWindowExecutionId sets the WindowExecutionId field's value.
23093func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInput {
23094	s.WindowExecutionId = &v
23095	return s
23096}
23097
23098type GetMaintenanceWindowExecutionTaskInvocationInput struct {
23099	_ struct{} `type:"structure"`
23100
23101	// The invocation ID to retrieve.
23102	//
23103	// InvocationId is a required field
23104	InvocationId *string `min:"36" type:"string" required:"true"`
23105
23106	// The ID of the specific task in the maintenance window task that should be
23107	// retrieved.
23108	//
23109	// TaskId is a required field
23110	TaskId *string `min:"36" type:"string" required:"true"`
23111
23112	// The ID of the maintenance window execution for which the task is a part.
23113	//
23114	// WindowExecutionId is a required field
23115	WindowExecutionId *string `min:"36" type:"string" required:"true"`
23116}
23117
23118// String returns the string representation
23119func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string {
23120	return awsutil.Prettify(s)
23121}
23122
23123// GoString returns the string representation
23124func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string {
23125	return s.String()
23126}
23127
23128// Validate inspects the fields of the type to determine if they are valid.
23129func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error {
23130	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"}
23131	if s.InvocationId == nil {
23132		invalidParams.Add(request.NewErrParamRequired("InvocationId"))
23133	}
23134	if s.InvocationId != nil && len(*s.InvocationId) < 36 {
23135		invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36))
23136	}
23137	if s.TaskId == nil {
23138		invalidParams.Add(request.NewErrParamRequired("TaskId"))
23139	}
23140	if s.TaskId != nil && len(*s.TaskId) < 36 {
23141		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
23142	}
23143	if s.WindowExecutionId == nil {
23144		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
23145	}
23146	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
23147		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
23148	}
23149
23150	if invalidParams.Len() > 0 {
23151		return invalidParams
23152	}
23153	return nil
23154}
23155
23156// SetInvocationId sets the InvocationId field's value.
23157func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23158	s.InvocationId = &v
23159	return s
23160}
23161
23162// SetTaskId sets the TaskId field's value.
23163func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23164	s.TaskId = &v
23165	return s
23166}
23167
23168// SetWindowExecutionId sets the WindowExecutionId field's value.
23169func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23170	s.WindowExecutionId = &v
23171	return s
23172}
23173
23174type GetMaintenanceWindowExecutionTaskInvocationOutput struct {
23175	_ struct{} `type:"structure"`
23176
23177	// The time that the task finished running on the target.
23178	EndTime *time.Time `type:"timestamp"`
23179
23180	// The execution ID.
23181	ExecutionId *string `type:"string"`
23182
23183	// The invocation ID.
23184	InvocationId *string `min:"36" type:"string"`
23185
23186	// User-provided value to be included in any CloudWatch events raised while
23187	// running tasks for these targets in this maintenance window.
23188	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
23189
23190	// The parameters used at the time that the task ran.
23191	Parameters *string `type:"string" sensitive:"true"`
23192
23193	// The time that the task started running on the target.
23194	StartTime *time.Time `type:"timestamp"`
23195
23196	// The task status for an invocation.
23197	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
23198
23199	// The details explaining the status. Details are only available for certain
23200	// status values.
23201	StatusDetails *string `type:"string"`
23202
23203	// The task execution ID.
23204	TaskExecutionId *string `min:"36" type:"string"`
23205
23206	// Retrieves the task type for a maintenance window. Task types include the
23207	// following: LAMBDA, STEP_FUNCTIONS, AUTOMATION, RUN_COMMAND.
23208	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
23209
23210	// The maintenance window execution ID.
23211	WindowExecutionId *string `min:"36" type:"string"`
23212
23213	// The maintenance window target ID.
23214	WindowTargetId *string `type:"string"`
23215}
23216
23217// String returns the string representation
23218func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string {
23219	return awsutil.Prettify(s)
23220}
23221
23222// GoString returns the string representation
23223func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string {
23224	return s.String()
23225}
23226
23227// SetEndTime sets the EndTime field's value.
23228func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23229	s.EndTime = &v
23230	return s
23231}
23232
23233// SetExecutionId sets the ExecutionId field's value.
23234func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23235	s.ExecutionId = &v
23236	return s
23237}
23238
23239// SetInvocationId sets the InvocationId field's value.
23240func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23241	s.InvocationId = &v
23242	return s
23243}
23244
23245// SetOwnerInformation sets the OwnerInformation field's value.
23246func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23247	s.OwnerInformation = &v
23248	return s
23249}
23250
23251// SetParameters sets the Parameters field's value.
23252func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23253	s.Parameters = &v
23254	return s
23255}
23256
23257// SetStartTime sets the StartTime field's value.
23258func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23259	s.StartTime = &v
23260	return s
23261}
23262
23263// SetStatus sets the Status field's value.
23264func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23265	s.Status = &v
23266	return s
23267}
23268
23269// SetStatusDetails sets the StatusDetails field's value.
23270func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23271	s.StatusDetails = &v
23272	return s
23273}
23274
23275// SetTaskExecutionId sets the TaskExecutionId field's value.
23276func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23277	s.TaskExecutionId = &v
23278	return s
23279}
23280
23281// SetTaskType sets the TaskType field's value.
23282func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23283	s.TaskType = &v
23284	return s
23285}
23286
23287// SetWindowExecutionId sets the WindowExecutionId field's value.
23288func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23289	s.WindowExecutionId = &v
23290	return s
23291}
23292
23293// SetWindowTargetId sets the WindowTargetId field's value.
23294func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23295	s.WindowTargetId = &v
23296	return s
23297}
23298
23299type GetMaintenanceWindowExecutionTaskOutput struct {
23300	_ struct{} `type:"structure"`
23301
23302	// The time the task execution completed.
23303	EndTime *time.Time `type:"timestamp"`
23304
23305	// The defined maximum number of task executions that could be run in parallel.
23306	MaxConcurrency *string `min:"1" type:"string"`
23307
23308	// The defined maximum number of task execution errors allowed before scheduling
23309	// of the task execution would have been stopped.
23310	MaxErrors *string `min:"1" type:"string"`
23311
23312	// The priority of the task.
23313	Priority *int64 `type:"integer"`
23314
23315	// The role that was assumed when running the task.
23316	ServiceRole *string `type:"string"`
23317
23318	// The time the task execution started.
23319	StartTime *time.Time `type:"timestamp"`
23320
23321	// The status of the task.
23322	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
23323
23324	// The details explaining the Status. Only available for certain status values.
23325	StatusDetails *string `type:"string"`
23326
23327	// The ARN of the task that ran.
23328	TaskArn *string `min:"1" type:"string"`
23329
23330	// The ID of the specific task execution in the maintenance window task that
23331	// was retrieved.
23332	TaskExecutionId *string `min:"36" type:"string"`
23333
23334	// The parameters passed to the task when it was run.
23335	//
23336	// TaskParameters has been deprecated. To specify parameters to pass to a task
23337	// when it runs, instead use the Parameters option in the TaskInvocationParameters
23338	// structure. For information about how Systems Manager handles these options
23339	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
23340	//
23341	// The map has the following format:
23342	//
23343	// Key: string, between 1 and 255 characters
23344	//
23345	// Value: an array of strings, each string is between 1 and 255 characters
23346	TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list" sensitive:"true"`
23347
23348	// The type of task that was run.
23349	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
23350
23351	// The ID of the maintenance window execution that includes the task.
23352	WindowExecutionId *string `min:"36" type:"string"`
23353}
23354
23355// String returns the string representation
23356func (s GetMaintenanceWindowExecutionTaskOutput) String() string {
23357	return awsutil.Prettify(s)
23358}
23359
23360// GoString returns the string representation
23361func (s GetMaintenanceWindowExecutionTaskOutput) GoString() string {
23362	return s.String()
23363}
23364
23365// SetEndTime sets the EndTime field's value.
23366func (s *GetMaintenanceWindowExecutionTaskOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
23367	s.EndTime = &v
23368	return s
23369}
23370
23371// SetMaxConcurrency sets the MaxConcurrency field's value.
23372func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowExecutionTaskOutput {
23373	s.MaxConcurrency = &v
23374	return s
23375}
23376
23377// SetMaxErrors sets the MaxErrors field's value.
23378func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowExecutionTaskOutput {
23379	s.MaxErrors = &v
23380	return s
23381}
23382
23383// SetPriority sets the Priority field's value.
23384func (s *GetMaintenanceWindowExecutionTaskOutput) SetPriority(v int64) *GetMaintenanceWindowExecutionTaskOutput {
23385	s.Priority = &v
23386	return s
23387}
23388
23389// SetServiceRole sets the ServiceRole field's value.
23390func (s *GetMaintenanceWindowExecutionTaskOutput) SetServiceRole(v string) *GetMaintenanceWindowExecutionTaskOutput {
23391	s.ServiceRole = &v
23392	return s
23393}
23394
23395// SetStartTime sets the StartTime field's value.
23396func (s *GetMaintenanceWindowExecutionTaskOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
23397	s.StartTime = &v
23398	return s
23399}
23400
23401// SetStatus sets the Status field's value.
23402func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskOutput {
23403	s.Status = &v
23404	return s
23405}
23406
23407// SetStatusDetails sets the StatusDetails field's value.
23408func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskOutput {
23409	s.StatusDetails = &v
23410	return s
23411}
23412
23413// SetTaskArn sets the TaskArn field's value.
23414func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowExecutionTaskOutput {
23415	s.TaskArn = &v
23416	return s
23417}
23418
23419// SetTaskExecutionId sets the TaskExecutionId field's value.
23420func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
23421	s.TaskExecutionId = &v
23422	return s
23423}
23424
23425// SetTaskParameters sets the TaskParameters field's value.
23426func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskParameters(v []map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowExecutionTaskOutput {
23427	s.TaskParameters = v
23428	return s
23429}
23430
23431// SetType sets the Type field's value.
23432func (s *GetMaintenanceWindowExecutionTaskOutput) SetType(v string) *GetMaintenanceWindowExecutionTaskOutput {
23433	s.Type = &v
23434	return s
23435}
23436
23437// SetWindowExecutionId sets the WindowExecutionId field's value.
23438func (s *GetMaintenanceWindowExecutionTaskOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
23439	s.WindowExecutionId = &v
23440	return s
23441}
23442
23443type GetMaintenanceWindowInput struct {
23444	_ struct{} `type:"structure"`
23445
23446	// The ID of the maintenance window for which you want to retrieve information.
23447	//
23448	// WindowId is a required field
23449	WindowId *string `min:"20" type:"string" required:"true"`
23450}
23451
23452// String returns the string representation
23453func (s GetMaintenanceWindowInput) String() string {
23454	return awsutil.Prettify(s)
23455}
23456
23457// GoString returns the string representation
23458func (s GetMaintenanceWindowInput) GoString() string {
23459	return s.String()
23460}
23461
23462// Validate inspects the fields of the type to determine if they are valid.
23463func (s *GetMaintenanceWindowInput) Validate() error {
23464	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowInput"}
23465	if s.WindowId == nil {
23466		invalidParams.Add(request.NewErrParamRequired("WindowId"))
23467	}
23468	if s.WindowId != nil && len(*s.WindowId) < 20 {
23469		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
23470	}
23471
23472	if invalidParams.Len() > 0 {
23473		return invalidParams
23474	}
23475	return nil
23476}
23477
23478// SetWindowId sets the WindowId field's value.
23479func (s *GetMaintenanceWindowInput) SetWindowId(v string) *GetMaintenanceWindowInput {
23480	s.WindowId = &v
23481	return s
23482}
23483
23484type GetMaintenanceWindowOutput struct {
23485	_ struct{} `type:"structure"`
23486
23487	// Whether targets must be registered with the maintenance window before tasks
23488	// can be defined for those targets.
23489	AllowUnassociatedTargets *bool `type:"boolean"`
23490
23491	// The date the maintenance window was created.
23492	CreatedDate *time.Time `type:"timestamp"`
23493
23494	// The number of hours before the end of the maintenance window that Systems
23495	// Manager stops scheduling new tasks for execution.
23496	Cutoff *int64 `type:"integer"`
23497
23498	// The description of the maintenance window.
23499	Description *string `min:"1" type:"string" sensitive:"true"`
23500
23501	// The duration of the maintenance window in hours.
23502	Duration *int64 `min:"1" type:"integer"`
23503
23504	// Indicates whether the maintenance window is enabled.
23505	Enabled *bool `type:"boolean"`
23506
23507	// The date and time, in ISO-8601 Extended format, for when the maintenance
23508	// window is scheduled to become inactive. The maintenance window will not run
23509	// after this specified time.
23510	EndDate *string `type:"string"`
23511
23512	// The date the maintenance window was last modified.
23513	ModifiedDate *time.Time `type:"timestamp"`
23514
23515	// The name of the maintenance window.
23516	Name *string `min:"3" type:"string"`
23517
23518	// The next time the maintenance window will actually run, taking into account
23519	// any specified times for the maintenance window to become active or inactive.
23520	NextExecutionTime *string `type:"string"`
23521
23522	// The schedule of the maintenance window in the form of a cron or rate expression.
23523	Schedule *string `min:"1" type:"string"`
23524
23525	// The time zone that the scheduled maintenance window executions are based
23526	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
23527	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
23528	// (https://www.iana.org/time-zones) on the IANA website.
23529	ScheduleTimezone *string `type:"string"`
23530
23531	// The date and time, in ISO-8601 Extended format, for when the maintenance
23532	// window is scheduled to become active. The maintenance window will not run
23533	// before this specified time.
23534	StartDate *string `type:"string"`
23535
23536	// The ID of the created maintenance window.
23537	WindowId *string `min:"20" type:"string"`
23538}
23539
23540// String returns the string representation
23541func (s GetMaintenanceWindowOutput) String() string {
23542	return awsutil.Prettify(s)
23543}
23544
23545// GoString returns the string representation
23546func (s GetMaintenanceWindowOutput) GoString() string {
23547	return s.String()
23548}
23549
23550// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
23551func (s *GetMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *GetMaintenanceWindowOutput {
23552	s.AllowUnassociatedTargets = &v
23553	return s
23554}
23555
23556// SetCreatedDate sets the CreatedDate field's value.
23557func (s *GetMaintenanceWindowOutput) SetCreatedDate(v time.Time) *GetMaintenanceWindowOutput {
23558	s.CreatedDate = &v
23559	return s
23560}
23561
23562// SetCutoff sets the Cutoff field's value.
23563func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOutput {
23564	s.Cutoff = &v
23565	return s
23566}
23567
23568// SetDescription sets the Description field's value.
23569func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput {
23570	s.Description = &v
23571	return s
23572}
23573
23574// SetDuration sets the Duration field's value.
23575func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput {
23576	s.Duration = &v
23577	return s
23578}
23579
23580// SetEnabled sets the Enabled field's value.
23581func (s *GetMaintenanceWindowOutput) SetEnabled(v bool) *GetMaintenanceWindowOutput {
23582	s.Enabled = &v
23583	return s
23584}
23585
23586// SetEndDate sets the EndDate field's value.
23587func (s *GetMaintenanceWindowOutput) SetEndDate(v string) *GetMaintenanceWindowOutput {
23588	s.EndDate = &v
23589	return s
23590}
23591
23592// SetModifiedDate sets the ModifiedDate field's value.
23593func (s *GetMaintenanceWindowOutput) SetModifiedDate(v time.Time) *GetMaintenanceWindowOutput {
23594	s.ModifiedDate = &v
23595	return s
23596}
23597
23598// SetName sets the Name field's value.
23599func (s *GetMaintenanceWindowOutput) SetName(v string) *GetMaintenanceWindowOutput {
23600	s.Name = &v
23601	return s
23602}
23603
23604// SetNextExecutionTime sets the NextExecutionTime field's value.
23605func (s *GetMaintenanceWindowOutput) SetNextExecutionTime(v string) *GetMaintenanceWindowOutput {
23606	s.NextExecutionTime = &v
23607	return s
23608}
23609
23610// SetSchedule sets the Schedule field's value.
23611func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput {
23612	s.Schedule = &v
23613	return s
23614}
23615
23616// SetScheduleTimezone sets the ScheduleTimezone field's value.
23617func (s *GetMaintenanceWindowOutput) SetScheduleTimezone(v string) *GetMaintenanceWindowOutput {
23618	s.ScheduleTimezone = &v
23619	return s
23620}
23621
23622// SetStartDate sets the StartDate field's value.
23623func (s *GetMaintenanceWindowOutput) SetStartDate(v string) *GetMaintenanceWindowOutput {
23624	s.StartDate = &v
23625	return s
23626}
23627
23628// SetWindowId sets the WindowId field's value.
23629func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput {
23630	s.WindowId = &v
23631	return s
23632}
23633
23634type GetMaintenanceWindowTaskInput struct {
23635	_ struct{} `type:"structure"`
23636
23637	// The maintenance window ID that includes the task to retrieve.
23638	//
23639	// WindowId is a required field
23640	WindowId *string `min:"20" type:"string" required:"true"`
23641
23642	// The maintenance window task ID to retrieve.
23643	//
23644	// WindowTaskId is a required field
23645	WindowTaskId *string `min:"36" type:"string" required:"true"`
23646}
23647
23648// String returns the string representation
23649func (s GetMaintenanceWindowTaskInput) String() string {
23650	return awsutil.Prettify(s)
23651}
23652
23653// GoString returns the string representation
23654func (s GetMaintenanceWindowTaskInput) GoString() string {
23655	return s.String()
23656}
23657
23658// Validate inspects the fields of the type to determine if they are valid.
23659func (s *GetMaintenanceWindowTaskInput) Validate() error {
23660	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"}
23661	if s.WindowId == nil {
23662		invalidParams.Add(request.NewErrParamRequired("WindowId"))
23663	}
23664	if s.WindowId != nil && len(*s.WindowId) < 20 {
23665		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
23666	}
23667	if s.WindowTaskId == nil {
23668		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
23669	}
23670	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
23671		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
23672	}
23673
23674	if invalidParams.Len() > 0 {
23675		return invalidParams
23676	}
23677	return nil
23678}
23679
23680// SetWindowId sets the WindowId field's value.
23681func (s *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput {
23682	s.WindowId = &v
23683	return s
23684}
23685
23686// SetWindowTaskId sets the WindowTaskId field's value.
23687func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput {
23688	s.WindowTaskId = &v
23689	return s
23690}
23691
23692type GetMaintenanceWindowTaskOutput struct {
23693	_ struct{} `type:"structure"`
23694
23695	// The retrieved task description.
23696	Description *string `min:"1" type:"string" sensitive:"true"`
23697
23698	// The location in Amazon S3 where the task results are logged.
23699	//
23700	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
23701	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
23702	// structure. For information about how Systems Manager handles these options
23703	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
23704	LoggingInfo *LoggingInfo `type:"structure"`
23705
23706	// The maximum number of targets allowed to run this task in parallel.
23707	MaxConcurrency *string `min:"1" type:"string"`
23708
23709	// The maximum number of errors allowed before the task stops being scheduled.
23710	MaxErrors *string `min:"1" type:"string"`
23711
23712	// The retrieved task name.
23713	Name *string `min:"3" type:"string"`
23714
23715	// The priority of the task when it runs. The lower the number, the higher the
23716	// priority. Tasks that have the same priority are scheduled in parallel.
23717	Priority *int64 `type:"integer"`
23718
23719	// The ARN of the IAM service role to use to publish Amazon Simple Notification
23720	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
23721	ServiceRoleArn *string `type:"string"`
23722
23723	// The targets where the task should run.
23724	Targets []*Target `type:"list"`
23725
23726	// The resource that the task used during execution. For RUN_COMMAND and AUTOMATION
23727	// task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA
23728	// tasks, the value is the function name/ARN. For STEP_FUNCTIONS tasks, the
23729	// value is the state machine ARN.
23730	TaskArn *string `min:"1" type:"string"`
23731
23732	// The parameters to pass to the task when it runs.
23733	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
23734
23735	// The parameters to pass to the task when it runs.
23736	//
23737	// TaskParameters has been deprecated. To specify parameters to pass to a task
23738	// when it runs, instead use the Parameters option in the TaskInvocationParameters
23739	// structure. For information about how Systems Manager handles these options
23740	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
23741	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
23742
23743	// The type of task to run.
23744	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
23745
23746	// The retrieved maintenance window ID.
23747	WindowId *string `min:"20" type:"string"`
23748
23749	// The retrieved maintenance window task ID.
23750	WindowTaskId *string `min:"36" type:"string"`
23751}
23752
23753// String returns the string representation
23754func (s GetMaintenanceWindowTaskOutput) String() string {
23755	return awsutil.Prettify(s)
23756}
23757
23758// GoString returns the string representation
23759func (s GetMaintenanceWindowTaskOutput) GoString() string {
23760	return s.String()
23761}
23762
23763// SetDescription sets the Description field's value.
23764func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput {
23765	s.Description = &v
23766	return s
23767}
23768
23769// SetLoggingInfo sets the LoggingInfo field's value.
23770func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput {
23771	s.LoggingInfo = v
23772	return s
23773}
23774
23775// SetMaxConcurrency sets the MaxConcurrency field's value.
23776func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput {
23777	s.MaxConcurrency = &v
23778	return s
23779}
23780
23781// SetMaxErrors sets the MaxErrors field's value.
23782func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput {
23783	s.MaxErrors = &v
23784	return s
23785}
23786
23787// SetName sets the Name field's value.
23788func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput {
23789	s.Name = &v
23790	return s
23791}
23792
23793// SetPriority sets the Priority field's value.
23794func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput {
23795	s.Priority = &v
23796	return s
23797}
23798
23799// SetServiceRoleArn sets the ServiceRoleArn field's value.
23800func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput {
23801	s.ServiceRoleArn = &v
23802	return s
23803}
23804
23805// SetTargets sets the Targets field's value.
23806func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput {
23807	s.Targets = v
23808	return s
23809}
23810
23811// SetTaskArn sets the TaskArn field's value.
23812func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput {
23813	s.TaskArn = &v
23814	return s
23815}
23816
23817// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
23818func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput {
23819	s.TaskInvocationParameters = v
23820	return s
23821}
23822
23823// SetTaskParameters sets the TaskParameters field's value.
23824func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput {
23825	s.TaskParameters = v
23826	return s
23827}
23828
23829// SetTaskType sets the TaskType field's value.
23830func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput {
23831	s.TaskType = &v
23832	return s
23833}
23834
23835// SetWindowId sets the WindowId field's value.
23836func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput {
23837	s.WindowId = &v
23838	return s
23839}
23840
23841// SetWindowTaskId sets the WindowTaskId field's value.
23842func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput {
23843	s.WindowTaskId = &v
23844	return s
23845}
23846
23847type GetOpsItemInput struct {
23848	_ struct{} `type:"structure"`
23849
23850	// The ID of the OpsItem that you want to get.
23851	//
23852	// OpsItemId is a required field
23853	OpsItemId *string `type:"string" required:"true"`
23854}
23855
23856// String returns the string representation
23857func (s GetOpsItemInput) String() string {
23858	return awsutil.Prettify(s)
23859}
23860
23861// GoString returns the string representation
23862func (s GetOpsItemInput) GoString() string {
23863	return s.String()
23864}
23865
23866// Validate inspects the fields of the type to determine if they are valid.
23867func (s *GetOpsItemInput) Validate() error {
23868	invalidParams := request.ErrInvalidParams{Context: "GetOpsItemInput"}
23869	if s.OpsItemId == nil {
23870		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
23871	}
23872
23873	if invalidParams.Len() > 0 {
23874		return invalidParams
23875	}
23876	return nil
23877}
23878
23879// SetOpsItemId sets the OpsItemId field's value.
23880func (s *GetOpsItemInput) SetOpsItemId(v string) *GetOpsItemInput {
23881	s.OpsItemId = &v
23882	return s
23883}
23884
23885type GetOpsItemOutput struct {
23886	_ struct{} `type:"structure"`
23887
23888	// The OpsItem.
23889	OpsItem *OpsItem `type:"structure"`
23890}
23891
23892// String returns the string representation
23893func (s GetOpsItemOutput) String() string {
23894	return awsutil.Prettify(s)
23895}
23896
23897// GoString returns the string representation
23898func (s GetOpsItemOutput) GoString() string {
23899	return s.String()
23900}
23901
23902// SetOpsItem sets the OpsItem field's value.
23903func (s *GetOpsItemOutput) SetOpsItem(v *OpsItem) *GetOpsItemOutput {
23904	s.OpsItem = v
23905	return s
23906}
23907
23908type GetOpsSummaryInput struct {
23909	_ struct{} `type:"structure"`
23910
23911	// Optional aggregators that return counts of OpsItems based on one or more
23912	// expressions.
23913	//
23914	// Aggregators is a required field
23915	Aggregators []*OpsAggregator `min:"1" type:"list" required:"true"`
23916
23917	// Optional filters used to scope down the returned OpsItems.
23918	Filters []*OpsFilter `min:"1" type:"list"`
23919
23920	// The maximum number of items to return for this call. The call also returns
23921	// a token that you can specify in a subsequent call to get the next set of
23922	// results.
23923	MaxResults *int64 `min:"1" type:"integer"`
23924
23925	// A token to start the list. Use this token to get the next set of results.
23926	NextToken *string `type:"string"`
23927}
23928
23929// String returns the string representation
23930func (s GetOpsSummaryInput) String() string {
23931	return awsutil.Prettify(s)
23932}
23933
23934// GoString returns the string representation
23935func (s GetOpsSummaryInput) GoString() string {
23936	return s.String()
23937}
23938
23939// Validate inspects the fields of the type to determine if they are valid.
23940func (s *GetOpsSummaryInput) Validate() error {
23941	invalidParams := request.ErrInvalidParams{Context: "GetOpsSummaryInput"}
23942	if s.Aggregators == nil {
23943		invalidParams.Add(request.NewErrParamRequired("Aggregators"))
23944	}
23945	if s.Aggregators != nil && len(s.Aggregators) < 1 {
23946		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
23947	}
23948	if s.Filters != nil && len(s.Filters) < 1 {
23949		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
23950	}
23951	if s.MaxResults != nil && *s.MaxResults < 1 {
23952		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
23953	}
23954	if s.Aggregators != nil {
23955		for i, v := range s.Aggregators {
23956			if v == nil {
23957				continue
23958			}
23959			if err := v.Validate(); err != nil {
23960				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
23961			}
23962		}
23963	}
23964	if s.Filters != nil {
23965		for i, v := range s.Filters {
23966			if v == nil {
23967				continue
23968			}
23969			if err := v.Validate(); err != nil {
23970				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
23971			}
23972		}
23973	}
23974
23975	if invalidParams.Len() > 0 {
23976		return invalidParams
23977	}
23978	return nil
23979}
23980
23981// SetAggregators sets the Aggregators field's value.
23982func (s *GetOpsSummaryInput) SetAggregators(v []*OpsAggregator) *GetOpsSummaryInput {
23983	s.Aggregators = v
23984	return s
23985}
23986
23987// SetFilters sets the Filters field's value.
23988func (s *GetOpsSummaryInput) SetFilters(v []*OpsFilter) *GetOpsSummaryInput {
23989	s.Filters = v
23990	return s
23991}
23992
23993// SetMaxResults sets the MaxResults field's value.
23994func (s *GetOpsSummaryInput) SetMaxResults(v int64) *GetOpsSummaryInput {
23995	s.MaxResults = &v
23996	return s
23997}
23998
23999// SetNextToken sets the NextToken field's value.
24000func (s *GetOpsSummaryInput) SetNextToken(v string) *GetOpsSummaryInput {
24001	s.NextToken = &v
24002	return s
24003}
24004
24005type GetOpsSummaryOutput struct {
24006	_ struct{} `type:"structure"`
24007
24008	// The list of aggregated and filtered OpsItems.
24009	Entities []*OpsEntity `type:"list"`
24010
24011	// The token for the next set of items to return. Use this token to get the
24012	// next set of results.
24013	NextToken *string `type:"string"`
24014}
24015
24016// String returns the string representation
24017func (s GetOpsSummaryOutput) String() string {
24018	return awsutil.Prettify(s)
24019}
24020
24021// GoString returns the string representation
24022func (s GetOpsSummaryOutput) GoString() string {
24023	return s.String()
24024}
24025
24026// SetEntities sets the Entities field's value.
24027func (s *GetOpsSummaryOutput) SetEntities(v []*OpsEntity) *GetOpsSummaryOutput {
24028	s.Entities = v
24029	return s
24030}
24031
24032// SetNextToken sets the NextToken field's value.
24033func (s *GetOpsSummaryOutput) SetNextToken(v string) *GetOpsSummaryOutput {
24034	s.NextToken = &v
24035	return s
24036}
24037
24038type GetParameterHistoryInput struct {
24039	_ struct{} `type:"structure"`
24040
24041	// The maximum number of items to return for this call. The call also returns
24042	// a token that you can specify in a subsequent call to get the next set of
24043	// results.
24044	MaxResults *int64 `min:"1" type:"integer"`
24045
24046	// The name of a parameter you want to query.
24047	//
24048	// Name is a required field
24049	Name *string `min:"1" type:"string" required:"true"`
24050
24051	// The token for the next set of items to return. (You received this token from
24052	// a previous call.)
24053	NextToken *string `type:"string"`
24054
24055	// Return decrypted values for secure string parameters. This flag is ignored
24056	// for String and StringList parameter types.
24057	WithDecryption *bool `type:"boolean"`
24058}
24059
24060// String returns the string representation
24061func (s GetParameterHistoryInput) String() string {
24062	return awsutil.Prettify(s)
24063}
24064
24065// GoString returns the string representation
24066func (s GetParameterHistoryInput) GoString() string {
24067	return s.String()
24068}
24069
24070// Validate inspects the fields of the type to determine if they are valid.
24071func (s *GetParameterHistoryInput) Validate() error {
24072	invalidParams := request.ErrInvalidParams{Context: "GetParameterHistoryInput"}
24073	if s.MaxResults != nil && *s.MaxResults < 1 {
24074		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24075	}
24076	if s.Name == nil {
24077		invalidParams.Add(request.NewErrParamRequired("Name"))
24078	}
24079	if s.Name != nil && len(*s.Name) < 1 {
24080		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24081	}
24082
24083	if invalidParams.Len() > 0 {
24084		return invalidParams
24085	}
24086	return nil
24087}
24088
24089// SetMaxResults sets the MaxResults field's value.
24090func (s *GetParameterHistoryInput) SetMaxResults(v int64) *GetParameterHistoryInput {
24091	s.MaxResults = &v
24092	return s
24093}
24094
24095// SetName sets the Name field's value.
24096func (s *GetParameterHistoryInput) SetName(v string) *GetParameterHistoryInput {
24097	s.Name = &v
24098	return s
24099}
24100
24101// SetNextToken sets the NextToken field's value.
24102func (s *GetParameterHistoryInput) SetNextToken(v string) *GetParameterHistoryInput {
24103	s.NextToken = &v
24104	return s
24105}
24106
24107// SetWithDecryption sets the WithDecryption field's value.
24108func (s *GetParameterHistoryInput) SetWithDecryption(v bool) *GetParameterHistoryInput {
24109	s.WithDecryption = &v
24110	return s
24111}
24112
24113type GetParameterHistoryOutput struct {
24114	_ struct{} `type:"structure"`
24115
24116	// The token to use when requesting the next set of items. If there are no additional
24117	// items to return, the string is empty.
24118	NextToken *string `type:"string"`
24119
24120	// A list of parameters returned by the request.
24121	Parameters []*ParameterHistory `type:"list"`
24122}
24123
24124// String returns the string representation
24125func (s GetParameterHistoryOutput) String() string {
24126	return awsutil.Prettify(s)
24127}
24128
24129// GoString returns the string representation
24130func (s GetParameterHistoryOutput) GoString() string {
24131	return s.String()
24132}
24133
24134// SetNextToken sets the NextToken field's value.
24135func (s *GetParameterHistoryOutput) SetNextToken(v string) *GetParameterHistoryOutput {
24136	s.NextToken = &v
24137	return s
24138}
24139
24140// SetParameters sets the Parameters field's value.
24141func (s *GetParameterHistoryOutput) SetParameters(v []*ParameterHistory) *GetParameterHistoryOutput {
24142	s.Parameters = v
24143	return s
24144}
24145
24146type GetParameterInput struct {
24147	_ struct{} `type:"structure"`
24148
24149	// The name of the parameter you want to query.
24150	//
24151	// Name is a required field
24152	Name *string `min:"1" type:"string" required:"true"`
24153
24154	// Return decrypted values for secure string parameters. This flag is ignored
24155	// for String and StringList parameter types.
24156	WithDecryption *bool `type:"boolean"`
24157}
24158
24159// String returns the string representation
24160func (s GetParameterInput) String() string {
24161	return awsutil.Prettify(s)
24162}
24163
24164// GoString returns the string representation
24165func (s GetParameterInput) GoString() string {
24166	return s.String()
24167}
24168
24169// Validate inspects the fields of the type to determine if they are valid.
24170func (s *GetParameterInput) Validate() error {
24171	invalidParams := request.ErrInvalidParams{Context: "GetParameterInput"}
24172	if s.Name == nil {
24173		invalidParams.Add(request.NewErrParamRequired("Name"))
24174	}
24175	if s.Name != nil && len(*s.Name) < 1 {
24176		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24177	}
24178
24179	if invalidParams.Len() > 0 {
24180		return invalidParams
24181	}
24182	return nil
24183}
24184
24185// SetName sets the Name field's value.
24186func (s *GetParameterInput) SetName(v string) *GetParameterInput {
24187	s.Name = &v
24188	return s
24189}
24190
24191// SetWithDecryption sets the WithDecryption field's value.
24192func (s *GetParameterInput) SetWithDecryption(v bool) *GetParameterInput {
24193	s.WithDecryption = &v
24194	return s
24195}
24196
24197type GetParameterOutput struct {
24198	_ struct{} `type:"structure"`
24199
24200	// Information about a parameter.
24201	Parameter *Parameter `type:"structure"`
24202}
24203
24204// String returns the string representation
24205func (s GetParameterOutput) String() string {
24206	return awsutil.Prettify(s)
24207}
24208
24209// GoString returns the string representation
24210func (s GetParameterOutput) GoString() string {
24211	return s.String()
24212}
24213
24214// SetParameter sets the Parameter field's value.
24215func (s *GetParameterOutput) SetParameter(v *Parameter) *GetParameterOutput {
24216	s.Parameter = v
24217	return s
24218}
24219
24220type GetParametersByPathInput struct {
24221	_ struct{} `type:"structure"`
24222
24223	// The maximum number of items to return for this call. The call also returns
24224	// a token that you can specify in a subsequent call to get the next set of
24225	// results.
24226	MaxResults *int64 `min:"1" type:"integer"`
24227
24228	// A token to start the list. Use this token to get the next set of results.
24229	NextToken *string `type:"string"`
24230
24231	// Filters to limit the request results.
24232	//
24233	// You can't filter using the parameter name.
24234	ParameterFilters []*ParameterStringFilter `type:"list"`
24235
24236	// The hierarchy for the parameter. Hierarchies start with a forward slash (/)
24237	// and end with the parameter name. A parameter name hierarchy can have a maximum
24238	// of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33
24239	//
24240	// Path is a required field
24241	Path *string `min:"1" type:"string" required:"true"`
24242
24243	// Retrieve all parameters within a hierarchy.
24244	//
24245	// If a user has access to a path, then the user can access all levels of that
24246	// path. For example, if a user has permission to access path /a, then the user
24247	// can also access /a/b. Even if a user has explicitly been denied access in
24248	// IAM for parameter /a/b, they can still call the GetParametersByPath API action
24249	// recursively for /a and view /a/b.
24250	Recursive *bool `type:"boolean"`
24251
24252	// Retrieve all parameters in a hierarchy with their value decrypted.
24253	WithDecryption *bool `type:"boolean"`
24254}
24255
24256// String returns the string representation
24257func (s GetParametersByPathInput) String() string {
24258	return awsutil.Prettify(s)
24259}
24260
24261// GoString returns the string representation
24262func (s GetParametersByPathInput) GoString() string {
24263	return s.String()
24264}
24265
24266// Validate inspects the fields of the type to determine if they are valid.
24267func (s *GetParametersByPathInput) Validate() error {
24268	invalidParams := request.ErrInvalidParams{Context: "GetParametersByPathInput"}
24269	if s.MaxResults != nil && *s.MaxResults < 1 {
24270		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24271	}
24272	if s.Path == nil {
24273		invalidParams.Add(request.NewErrParamRequired("Path"))
24274	}
24275	if s.Path != nil && len(*s.Path) < 1 {
24276		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
24277	}
24278	if s.ParameterFilters != nil {
24279		for i, v := range s.ParameterFilters {
24280			if v == nil {
24281				continue
24282			}
24283			if err := v.Validate(); err != nil {
24284				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
24285			}
24286		}
24287	}
24288
24289	if invalidParams.Len() > 0 {
24290		return invalidParams
24291	}
24292	return nil
24293}
24294
24295// SetMaxResults sets the MaxResults field's value.
24296func (s *GetParametersByPathInput) SetMaxResults(v int64) *GetParametersByPathInput {
24297	s.MaxResults = &v
24298	return s
24299}
24300
24301// SetNextToken sets the NextToken field's value.
24302func (s *GetParametersByPathInput) SetNextToken(v string) *GetParametersByPathInput {
24303	s.NextToken = &v
24304	return s
24305}
24306
24307// SetParameterFilters sets the ParameterFilters field's value.
24308func (s *GetParametersByPathInput) SetParameterFilters(v []*ParameterStringFilter) *GetParametersByPathInput {
24309	s.ParameterFilters = v
24310	return s
24311}
24312
24313// SetPath sets the Path field's value.
24314func (s *GetParametersByPathInput) SetPath(v string) *GetParametersByPathInput {
24315	s.Path = &v
24316	return s
24317}
24318
24319// SetRecursive sets the Recursive field's value.
24320func (s *GetParametersByPathInput) SetRecursive(v bool) *GetParametersByPathInput {
24321	s.Recursive = &v
24322	return s
24323}
24324
24325// SetWithDecryption sets the WithDecryption field's value.
24326func (s *GetParametersByPathInput) SetWithDecryption(v bool) *GetParametersByPathInput {
24327	s.WithDecryption = &v
24328	return s
24329}
24330
24331type GetParametersByPathOutput struct {
24332	_ struct{} `type:"structure"`
24333
24334	// The token for the next set of items to return. Use this token to get the
24335	// next set of results.
24336	NextToken *string `type:"string"`
24337
24338	// A list of parameters found in the specified hierarchy.
24339	Parameters []*Parameter `type:"list"`
24340}
24341
24342// String returns the string representation
24343func (s GetParametersByPathOutput) String() string {
24344	return awsutil.Prettify(s)
24345}
24346
24347// GoString returns the string representation
24348func (s GetParametersByPathOutput) GoString() string {
24349	return s.String()
24350}
24351
24352// SetNextToken sets the NextToken field's value.
24353func (s *GetParametersByPathOutput) SetNextToken(v string) *GetParametersByPathOutput {
24354	s.NextToken = &v
24355	return s
24356}
24357
24358// SetParameters sets the Parameters field's value.
24359func (s *GetParametersByPathOutput) SetParameters(v []*Parameter) *GetParametersByPathOutput {
24360	s.Parameters = v
24361	return s
24362}
24363
24364type GetParametersInput struct {
24365	_ struct{} `type:"structure"`
24366
24367	// Names of the parameters for which you want to query information.
24368	//
24369	// Names is a required field
24370	Names []*string `min:"1" type:"list" required:"true"`
24371
24372	// Return decrypted secure string value. Return decrypted values for secure
24373	// string parameters. This flag is ignored for String and StringList parameter
24374	// types.
24375	WithDecryption *bool `type:"boolean"`
24376}
24377
24378// String returns the string representation
24379func (s GetParametersInput) String() string {
24380	return awsutil.Prettify(s)
24381}
24382
24383// GoString returns the string representation
24384func (s GetParametersInput) GoString() string {
24385	return s.String()
24386}
24387
24388// Validate inspects the fields of the type to determine if they are valid.
24389func (s *GetParametersInput) Validate() error {
24390	invalidParams := request.ErrInvalidParams{Context: "GetParametersInput"}
24391	if s.Names == nil {
24392		invalidParams.Add(request.NewErrParamRequired("Names"))
24393	}
24394	if s.Names != nil && len(s.Names) < 1 {
24395		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
24396	}
24397
24398	if invalidParams.Len() > 0 {
24399		return invalidParams
24400	}
24401	return nil
24402}
24403
24404// SetNames sets the Names field's value.
24405func (s *GetParametersInput) SetNames(v []*string) *GetParametersInput {
24406	s.Names = v
24407	return s
24408}
24409
24410// SetWithDecryption sets the WithDecryption field's value.
24411func (s *GetParametersInput) SetWithDecryption(v bool) *GetParametersInput {
24412	s.WithDecryption = &v
24413	return s
24414}
24415
24416type GetParametersOutput struct {
24417	_ struct{} `type:"structure"`
24418
24419	// A list of parameters that are not formatted correctly or do not run during
24420	// an execution.
24421	InvalidParameters []*string `min:"1" type:"list"`
24422
24423	// A list of details for a parameter.
24424	Parameters []*Parameter `type:"list"`
24425}
24426
24427// String returns the string representation
24428func (s GetParametersOutput) String() string {
24429	return awsutil.Prettify(s)
24430}
24431
24432// GoString returns the string representation
24433func (s GetParametersOutput) GoString() string {
24434	return s.String()
24435}
24436
24437// SetInvalidParameters sets the InvalidParameters field's value.
24438func (s *GetParametersOutput) SetInvalidParameters(v []*string) *GetParametersOutput {
24439	s.InvalidParameters = v
24440	return s
24441}
24442
24443// SetParameters sets the Parameters field's value.
24444func (s *GetParametersOutput) SetParameters(v []*Parameter) *GetParametersOutput {
24445	s.Parameters = v
24446	return s
24447}
24448
24449type GetPatchBaselineForPatchGroupInput struct {
24450	_ struct{} `type:"structure"`
24451
24452	// Returns he operating system rule specified for patch groups using the patch
24453	// baseline.
24454	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
24455
24456	// The name of the patch group whose patch baseline should be retrieved.
24457	//
24458	// PatchGroup is a required field
24459	PatchGroup *string `min:"1" type:"string" required:"true"`
24460}
24461
24462// String returns the string representation
24463func (s GetPatchBaselineForPatchGroupInput) String() string {
24464	return awsutil.Prettify(s)
24465}
24466
24467// GoString returns the string representation
24468func (s GetPatchBaselineForPatchGroupInput) GoString() string {
24469	return s.String()
24470}
24471
24472// Validate inspects the fields of the type to determine if they are valid.
24473func (s *GetPatchBaselineForPatchGroupInput) Validate() error {
24474	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineForPatchGroupInput"}
24475	if s.PatchGroup == nil {
24476		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
24477	}
24478	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
24479		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
24480	}
24481
24482	if invalidParams.Len() > 0 {
24483		return invalidParams
24484	}
24485	return nil
24486}
24487
24488// SetOperatingSystem sets the OperatingSystem field's value.
24489func (s *GetPatchBaselineForPatchGroupInput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupInput {
24490	s.OperatingSystem = &v
24491	return s
24492}
24493
24494// SetPatchGroup sets the PatchGroup field's value.
24495func (s *GetPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupInput {
24496	s.PatchGroup = &v
24497	return s
24498}
24499
24500type GetPatchBaselineForPatchGroupOutput struct {
24501	_ struct{} `type:"structure"`
24502
24503	// The ID of the patch baseline that should be used for the patch group.
24504	BaselineId *string `min:"20" type:"string"`
24505
24506	// The operating system rule specified for patch groups using the patch baseline.
24507	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
24508
24509	// The name of the patch group.
24510	PatchGroup *string `min:"1" type:"string"`
24511}
24512
24513// String returns the string representation
24514func (s GetPatchBaselineForPatchGroupOutput) String() string {
24515	return awsutil.Prettify(s)
24516}
24517
24518// GoString returns the string representation
24519func (s GetPatchBaselineForPatchGroupOutput) GoString() string {
24520	return s.String()
24521}
24522
24523// SetBaselineId sets the BaselineId field's value.
24524func (s *GetPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *GetPatchBaselineForPatchGroupOutput {
24525	s.BaselineId = &v
24526	return s
24527}
24528
24529// SetOperatingSystem sets the OperatingSystem field's value.
24530func (s *GetPatchBaselineForPatchGroupOutput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupOutput {
24531	s.OperatingSystem = &v
24532	return s
24533}
24534
24535// SetPatchGroup sets the PatchGroup field's value.
24536func (s *GetPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupOutput {
24537	s.PatchGroup = &v
24538	return s
24539}
24540
24541type GetPatchBaselineInput struct {
24542	_ struct{} `type:"structure"`
24543
24544	// The ID of the patch baseline to retrieve.
24545	//
24546	// BaselineId is a required field
24547	BaselineId *string `min:"20" type:"string" required:"true"`
24548}
24549
24550// String returns the string representation
24551func (s GetPatchBaselineInput) String() string {
24552	return awsutil.Prettify(s)
24553}
24554
24555// GoString returns the string representation
24556func (s GetPatchBaselineInput) GoString() string {
24557	return s.String()
24558}
24559
24560// Validate inspects the fields of the type to determine if they are valid.
24561func (s *GetPatchBaselineInput) Validate() error {
24562	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineInput"}
24563	if s.BaselineId == nil {
24564		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
24565	}
24566	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
24567		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
24568	}
24569
24570	if invalidParams.Len() > 0 {
24571		return invalidParams
24572	}
24573	return nil
24574}
24575
24576// SetBaselineId sets the BaselineId field's value.
24577func (s *GetPatchBaselineInput) SetBaselineId(v string) *GetPatchBaselineInput {
24578	s.BaselineId = &v
24579	return s
24580}
24581
24582type GetPatchBaselineOutput struct {
24583	_ struct{} `type:"structure"`
24584
24585	// A set of rules used to include patches in the baseline.
24586	ApprovalRules *PatchRuleGroup `type:"structure"`
24587
24588	// A list of explicitly approved patches for the baseline.
24589	ApprovedPatches []*string `type:"list"`
24590
24591	// Returns the specified compliance severity level for approved patches in the
24592	// patch baseline.
24593	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
24594
24595	// Indicates whether the list of approved patches includes non-security updates
24596	// that should be applied to the instances. The default value is 'false'. Applies
24597	// to Linux instances only.
24598	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
24599
24600	// The ID of the retrieved patch baseline.
24601	BaselineId *string `min:"20" type:"string"`
24602
24603	// The date the patch baseline was created.
24604	CreatedDate *time.Time `type:"timestamp"`
24605
24606	// A description of the patch baseline.
24607	Description *string `min:"1" type:"string"`
24608
24609	// A set of global filters used to exclude patches from the baseline.
24610	GlobalFilters *PatchFilterGroup `type:"structure"`
24611
24612	// The date the patch baseline was last modified.
24613	ModifiedDate *time.Time `type:"timestamp"`
24614
24615	// The name of the patch baseline.
24616	Name *string `min:"3" type:"string"`
24617
24618	// Returns the operating system specified for the patch baseline.
24619	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
24620
24621	// Patch groups included in the patch baseline.
24622	PatchGroups []*string `type:"list"`
24623
24624	// A list of explicitly rejected patches for the baseline.
24625	RejectedPatches []*string `type:"list"`
24626
24627	// The action specified to take on patches included in the RejectedPatches list.
24628	// A patch can be allowed only if it is a dependency of another package, or
24629	// blocked entirely along with packages that include it as a dependency.
24630	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
24631
24632	// Information about the patches to use to update the instances, including target
24633	// operating systems and source repositories. Applies to Linux instances only.
24634	Sources []*PatchSource `type:"list"`
24635}
24636
24637// String returns the string representation
24638func (s GetPatchBaselineOutput) String() string {
24639	return awsutil.Prettify(s)
24640}
24641
24642// GoString returns the string representation
24643func (s GetPatchBaselineOutput) GoString() string {
24644	return s.String()
24645}
24646
24647// SetApprovalRules sets the ApprovalRules field's value.
24648func (s *GetPatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *GetPatchBaselineOutput {
24649	s.ApprovalRules = v
24650	return s
24651}
24652
24653// SetApprovedPatches sets the ApprovedPatches field's value.
24654func (s *GetPatchBaselineOutput) SetApprovedPatches(v []*string) *GetPatchBaselineOutput {
24655	s.ApprovedPatches = v
24656	return s
24657}
24658
24659// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
24660func (s *GetPatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *GetPatchBaselineOutput {
24661	s.ApprovedPatchesComplianceLevel = &v
24662	return s
24663}
24664
24665// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
24666func (s *GetPatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *GetPatchBaselineOutput {
24667	s.ApprovedPatchesEnableNonSecurity = &v
24668	return s
24669}
24670
24671// SetBaselineId sets the BaselineId field's value.
24672func (s *GetPatchBaselineOutput) SetBaselineId(v string) *GetPatchBaselineOutput {
24673	s.BaselineId = &v
24674	return s
24675}
24676
24677// SetCreatedDate sets the CreatedDate field's value.
24678func (s *GetPatchBaselineOutput) SetCreatedDate(v time.Time) *GetPatchBaselineOutput {
24679	s.CreatedDate = &v
24680	return s
24681}
24682
24683// SetDescription sets the Description field's value.
24684func (s *GetPatchBaselineOutput) SetDescription(v string) *GetPatchBaselineOutput {
24685	s.Description = &v
24686	return s
24687}
24688
24689// SetGlobalFilters sets the GlobalFilters field's value.
24690func (s *GetPatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *GetPatchBaselineOutput {
24691	s.GlobalFilters = v
24692	return s
24693}
24694
24695// SetModifiedDate sets the ModifiedDate field's value.
24696func (s *GetPatchBaselineOutput) SetModifiedDate(v time.Time) *GetPatchBaselineOutput {
24697	s.ModifiedDate = &v
24698	return s
24699}
24700
24701// SetName sets the Name field's value.
24702func (s *GetPatchBaselineOutput) SetName(v string) *GetPatchBaselineOutput {
24703	s.Name = &v
24704	return s
24705}
24706
24707// SetOperatingSystem sets the OperatingSystem field's value.
24708func (s *GetPatchBaselineOutput) SetOperatingSystem(v string) *GetPatchBaselineOutput {
24709	s.OperatingSystem = &v
24710	return s
24711}
24712
24713// SetPatchGroups sets the PatchGroups field's value.
24714func (s *GetPatchBaselineOutput) SetPatchGroups(v []*string) *GetPatchBaselineOutput {
24715	s.PatchGroups = v
24716	return s
24717}
24718
24719// SetRejectedPatches sets the RejectedPatches field's value.
24720func (s *GetPatchBaselineOutput) SetRejectedPatches(v []*string) *GetPatchBaselineOutput {
24721	s.RejectedPatches = v
24722	return s
24723}
24724
24725// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
24726func (s *GetPatchBaselineOutput) SetRejectedPatchesAction(v string) *GetPatchBaselineOutput {
24727	s.RejectedPatchesAction = &v
24728	return s
24729}
24730
24731// SetSources sets the Sources field's value.
24732func (s *GetPatchBaselineOutput) SetSources(v []*PatchSource) *GetPatchBaselineOutput {
24733	s.Sources = v
24734	return s
24735}
24736
24737// The request body of the GetServiceSetting API action.
24738type GetServiceSettingInput struct {
24739	_ struct{} `type:"structure"`
24740
24741	// The ID of the service setting to get.
24742	//
24743	// SettingId is a required field
24744	SettingId *string `min:"1" type:"string" required:"true"`
24745}
24746
24747// String returns the string representation
24748func (s GetServiceSettingInput) String() string {
24749	return awsutil.Prettify(s)
24750}
24751
24752// GoString returns the string representation
24753func (s GetServiceSettingInput) GoString() string {
24754	return s.String()
24755}
24756
24757// Validate inspects the fields of the type to determine if they are valid.
24758func (s *GetServiceSettingInput) Validate() error {
24759	invalidParams := request.ErrInvalidParams{Context: "GetServiceSettingInput"}
24760	if s.SettingId == nil {
24761		invalidParams.Add(request.NewErrParamRequired("SettingId"))
24762	}
24763	if s.SettingId != nil && len(*s.SettingId) < 1 {
24764		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
24765	}
24766
24767	if invalidParams.Len() > 0 {
24768		return invalidParams
24769	}
24770	return nil
24771}
24772
24773// SetSettingId sets the SettingId field's value.
24774func (s *GetServiceSettingInput) SetSettingId(v string) *GetServiceSettingInput {
24775	s.SettingId = &v
24776	return s
24777}
24778
24779// The query result body of the GetServiceSetting API action.
24780type GetServiceSettingOutput struct {
24781	_ struct{} `type:"structure"`
24782
24783	// The query result of the current service setting.
24784	ServiceSetting *ServiceSetting `type:"structure"`
24785}
24786
24787// String returns the string representation
24788func (s GetServiceSettingOutput) String() string {
24789	return awsutil.Prettify(s)
24790}
24791
24792// GoString returns the string representation
24793func (s GetServiceSettingOutput) GoString() string {
24794	return s.String()
24795}
24796
24797// SetServiceSetting sets the ServiceSetting field's value.
24798func (s *GetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *GetServiceSettingOutput {
24799	s.ServiceSetting = v
24800	return s
24801}
24802
24803// Status information about the aggregated associations.
24804type InstanceAggregatedAssociationOverview struct {
24805	_ struct{} `type:"structure"`
24806
24807	// Detailed status information about the aggregated associations.
24808	DetailedStatus *string `type:"string"`
24809
24810	// The number of associations for the instance(s).
24811	InstanceAssociationStatusAggregatedCount map[string]*int64 `type:"map"`
24812}
24813
24814// String returns the string representation
24815func (s InstanceAggregatedAssociationOverview) String() string {
24816	return awsutil.Prettify(s)
24817}
24818
24819// GoString returns the string representation
24820func (s InstanceAggregatedAssociationOverview) GoString() string {
24821	return s.String()
24822}
24823
24824// SetDetailedStatus sets the DetailedStatus field's value.
24825func (s *InstanceAggregatedAssociationOverview) SetDetailedStatus(v string) *InstanceAggregatedAssociationOverview {
24826	s.DetailedStatus = &v
24827	return s
24828}
24829
24830// SetInstanceAssociationStatusAggregatedCount sets the InstanceAssociationStatusAggregatedCount field's value.
24831func (s *InstanceAggregatedAssociationOverview) SetInstanceAssociationStatusAggregatedCount(v map[string]*int64) *InstanceAggregatedAssociationOverview {
24832	s.InstanceAssociationStatusAggregatedCount = v
24833	return s
24834}
24835
24836// One or more association documents on the instance.
24837type InstanceAssociation struct {
24838	_ struct{} `type:"structure"`
24839
24840	// The association ID.
24841	AssociationId *string `type:"string"`
24842
24843	// Version information for the association on the instance.
24844	AssociationVersion *string `type:"string"`
24845
24846	// The content of the association document for the instance(s).
24847	Content *string `min:"1" type:"string"`
24848
24849	// The instance ID.
24850	InstanceId *string `type:"string"`
24851}
24852
24853// String returns the string representation
24854func (s InstanceAssociation) String() string {
24855	return awsutil.Prettify(s)
24856}
24857
24858// GoString returns the string representation
24859func (s InstanceAssociation) GoString() string {
24860	return s.String()
24861}
24862
24863// SetAssociationId sets the AssociationId field's value.
24864func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation {
24865	s.AssociationId = &v
24866	return s
24867}
24868
24869// SetAssociationVersion sets the AssociationVersion field's value.
24870func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation {
24871	s.AssociationVersion = &v
24872	return s
24873}
24874
24875// SetContent sets the Content field's value.
24876func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation {
24877	s.Content = &v
24878	return s
24879}
24880
24881// SetInstanceId sets the InstanceId field's value.
24882func (s *InstanceAssociation) SetInstanceId(v string) *InstanceAssociation {
24883	s.InstanceId = &v
24884	return s
24885}
24886
24887// An Amazon S3 bucket where you want to store the results of this request.
24888type InstanceAssociationOutputLocation struct {
24889	_ struct{} `type:"structure"`
24890
24891	// An Amazon S3 bucket where you want to store the results of this request.
24892	S3Location *S3OutputLocation `type:"structure"`
24893}
24894
24895// String returns the string representation
24896func (s InstanceAssociationOutputLocation) String() string {
24897	return awsutil.Prettify(s)
24898}
24899
24900// GoString returns the string representation
24901func (s InstanceAssociationOutputLocation) GoString() string {
24902	return s.String()
24903}
24904
24905// Validate inspects the fields of the type to determine if they are valid.
24906func (s *InstanceAssociationOutputLocation) Validate() error {
24907	invalidParams := request.ErrInvalidParams{Context: "InstanceAssociationOutputLocation"}
24908	if s.S3Location != nil {
24909		if err := s.S3Location.Validate(); err != nil {
24910			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
24911		}
24912	}
24913
24914	if invalidParams.Len() > 0 {
24915		return invalidParams
24916	}
24917	return nil
24918}
24919
24920// SetS3Location sets the S3Location field's value.
24921func (s *InstanceAssociationOutputLocation) SetS3Location(v *S3OutputLocation) *InstanceAssociationOutputLocation {
24922	s.S3Location = v
24923	return s
24924}
24925
24926// The URL of Amazon S3 bucket where you want to store the results of this request.
24927type InstanceAssociationOutputUrl struct {
24928	_ struct{} `type:"structure"`
24929
24930	// The URL of Amazon S3 bucket where you want to store the results of this request.
24931	S3OutputUrl *S3OutputUrl `type:"structure"`
24932}
24933
24934// String returns the string representation
24935func (s InstanceAssociationOutputUrl) String() string {
24936	return awsutil.Prettify(s)
24937}
24938
24939// GoString returns the string representation
24940func (s InstanceAssociationOutputUrl) GoString() string {
24941	return s.String()
24942}
24943
24944// SetS3OutputUrl sets the S3OutputUrl field's value.
24945func (s *InstanceAssociationOutputUrl) SetS3OutputUrl(v *S3OutputUrl) *InstanceAssociationOutputUrl {
24946	s.S3OutputUrl = v
24947	return s
24948}
24949
24950// Status information about the instance association.
24951type InstanceAssociationStatusInfo struct {
24952	_ struct{} `type:"structure"`
24953
24954	// The association ID.
24955	AssociationId *string `type:"string"`
24956
24957	// The name of the association applied to the instance.
24958	AssociationName *string `type:"string"`
24959
24960	// The version of the association applied to the instance.
24961	AssociationVersion *string `type:"string"`
24962
24963	// Detailed status information about the instance association.
24964	DetailedStatus *string `type:"string"`
24965
24966	// The association document versions.
24967	DocumentVersion *string `type:"string"`
24968
24969	// An error code returned by the request to create the association.
24970	ErrorCode *string `type:"string"`
24971
24972	// The date the instance association ran.
24973	ExecutionDate *time.Time `type:"timestamp"`
24974
24975	// Summary information about association execution.
24976	ExecutionSummary *string `min:"1" type:"string"`
24977
24978	// The instance ID where the association was created.
24979	InstanceId *string `type:"string"`
24980
24981	// The name of the association.
24982	Name *string `type:"string"`
24983
24984	// A URL for an Amazon S3 bucket where you want to store the results of this
24985	// request.
24986	OutputUrl *InstanceAssociationOutputUrl `type:"structure"`
24987
24988	// Status information about the instance association.
24989	Status *string `type:"string"`
24990}
24991
24992// String returns the string representation
24993func (s InstanceAssociationStatusInfo) String() string {
24994	return awsutil.Prettify(s)
24995}
24996
24997// GoString returns the string representation
24998func (s InstanceAssociationStatusInfo) GoString() string {
24999	return s.String()
25000}
25001
25002// SetAssociationId sets the AssociationId field's value.
25003func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAssociationStatusInfo {
25004	s.AssociationId = &v
25005	return s
25006}
25007
25008// SetAssociationName sets the AssociationName field's value.
25009func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo {
25010	s.AssociationName = &v
25011	return s
25012}
25013
25014// SetAssociationVersion sets the AssociationVersion field's value.
25015func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo {
25016	s.AssociationVersion = &v
25017	return s
25018}
25019
25020// SetDetailedStatus sets the DetailedStatus field's value.
25021func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo {
25022	s.DetailedStatus = &v
25023	return s
25024}
25025
25026// SetDocumentVersion sets the DocumentVersion field's value.
25027func (s *InstanceAssociationStatusInfo) SetDocumentVersion(v string) *InstanceAssociationStatusInfo {
25028	s.DocumentVersion = &v
25029	return s
25030}
25031
25032// SetErrorCode sets the ErrorCode field's value.
25033func (s *InstanceAssociationStatusInfo) SetErrorCode(v string) *InstanceAssociationStatusInfo {
25034	s.ErrorCode = &v
25035	return s
25036}
25037
25038// SetExecutionDate sets the ExecutionDate field's value.
25039func (s *InstanceAssociationStatusInfo) SetExecutionDate(v time.Time) *InstanceAssociationStatusInfo {
25040	s.ExecutionDate = &v
25041	return s
25042}
25043
25044// SetExecutionSummary sets the ExecutionSummary field's value.
25045func (s *InstanceAssociationStatusInfo) SetExecutionSummary(v string) *InstanceAssociationStatusInfo {
25046	s.ExecutionSummary = &v
25047	return s
25048}
25049
25050// SetInstanceId sets the InstanceId field's value.
25051func (s *InstanceAssociationStatusInfo) SetInstanceId(v string) *InstanceAssociationStatusInfo {
25052	s.InstanceId = &v
25053	return s
25054}
25055
25056// SetName sets the Name field's value.
25057func (s *InstanceAssociationStatusInfo) SetName(v string) *InstanceAssociationStatusInfo {
25058	s.Name = &v
25059	return s
25060}
25061
25062// SetOutputUrl sets the OutputUrl field's value.
25063func (s *InstanceAssociationStatusInfo) SetOutputUrl(v *InstanceAssociationOutputUrl) *InstanceAssociationStatusInfo {
25064	s.OutputUrl = v
25065	return s
25066}
25067
25068// SetStatus sets the Status field's value.
25069func (s *InstanceAssociationStatusInfo) SetStatus(v string) *InstanceAssociationStatusInfo {
25070	s.Status = &v
25071	return s
25072}
25073
25074// Describes a filter for a specific list of instances.
25075type InstanceInformation struct {
25076	_ struct{} `type:"structure"`
25077
25078	// The activation ID created by Systems Manager when the server or VM was registered.
25079	ActivationId *string `type:"string"`
25080
25081	// The version of SSM Agent running on your Linux instance.
25082	AgentVersion *string `type:"string"`
25083
25084	// Information about the association.
25085	AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"`
25086
25087	// The status of the association.
25088	AssociationStatus *string `type:"string"`
25089
25090	// The fully qualified host name of the managed instance.
25091	ComputerName *string `min:"1" type:"string"`
25092
25093	// The IP address of the managed instance.
25094	IPAddress *string `min:"1" type:"string"`
25095
25096	// The Amazon Identity and Access Management (IAM) role assigned to the on-premises
25097	// Systems Manager managed instances. This call does not return the IAM role
25098	// for Amazon EC2 instances.
25099	IamRole *string `type:"string"`
25100
25101	// The instance ID.
25102	InstanceId *string `type:"string"`
25103
25104	// Indicates whether latest version of SSM Agent is running on your instance.
25105	// Some older versions of Windows Server use the EC2Config service to process
25106	// SSM requests. For this reason, this field does not indicate whether or not
25107	// the latest version is installed on Windows managed instances.
25108	IsLatestVersion *bool `type:"boolean"`
25109
25110	// The date the association was last run.
25111	LastAssociationExecutionDate *time.Time `type:"timestamp"`
25112
25113	// The date and time when agent last pinged Systems Manager service.
25114	LastPingDateTime *time.Time `type:"timestamp"`
25115
25116	// The last date the association was successfully run.
25117	LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"`
25118
25119	// The name of the managed instance.
25120	Name *string `type:"string"`
25121
25122	// Connection status of SSM Agent.
25123	PingStatus *string `type:"string" enum:"PingStatus"`
25124
25125	// The name of the operating system platform running on your instance.
25126	PlatformName *string `type:"string"`
25127
25128	// The operating system platform type.
25129	PlatformType *string `type:"string" enum:"PlatformType"`
25130
25131	// The version of the OS platform running on your instance.
25132	PlatformVersion *string `type:"string"`
25133
25134	// The date the server or VM was registered with AWS as a managed instance.
25135	RegistrationDate *time.Time `type:"timestamp"`
25136
25137	// The type of instance. Instances are either EC2 instances or managed instances.
25138	ResourceType *string `type:"string" enum:"ResourceType"`
25139}
25140
25141// String returns the string representation
25142func (s InstanceInformation) String() string {
25143	return awsutil.Prettify(s)
25144}
25145
25146// GoString returns the string representation
25147func (s InstanceInformation) GoString() string {
25148	return s.String()
25149}
25150
25151// SetActivationId sets the ActivationId field's value.
25152func (s *InstanceInformation) SetActivationId(v string) *InstanceInformation {
25153	s.ActivationId = &v
25154	return s
25155}
25156
25157// SetAgentVersion sets the AgentVersion field's value.
25158func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation {
25159	s.AgentVersion = &v
25160	return s
25161}
25162
25163// SetAssociationOverview sets the AssociationOverview field's value.
25164func (s *InstanceInformation) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceInformation {
25165	s.AssociationOverview = v
25166	return s
25167}
25168
25169// SetAssociationStatus sets the AssociationStatus field's value.
25170func (s *InstanceInformation) SetAssociationStatus(v string) *InstanceInformation {
25171	s.AssociationStatus = &v
25172	return s
25173}
25174
25175// SetComputerName sets the ComputerName field's value.
25176func (s *InstanceInformation) SetComputerName(v string) *InstanceInformation {
25177	s.ComputerName = &v
25178	return s
25179}
25180
25181// SetIPAddress sets the IPAddress field's value.
25182func (s *InstanceInformation) SetIPAddress(v string) *InstanceInformation {
25183	s.IPAddress = &v
25184	return s
25185}
25186
25187// SetIamRole sets the IamRole field's value.
25188func (s *InstanceInformation) SetIamRole(v string) *InstanceInformation {
25189	s.IamRole = &v
25190	return s
25191}
25192
25193// SetInstanceId sets the InstanceId field's value.
25194func (s *InstanceInformation) SetInstanceId(v string) *InstanceInformation {
25195	s.InstanceId = &v
25196	return s
25197}
25198
25199// SetIsLatestVersion sets the IsLatestVersion field's value.
25200func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation {
25201	s.IsLatestVersion = &v
25202	return s
25203}
25204
25205// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value.
25206func (s *InstanceInformation) SetLastAssociationExecutionDate(v time.Time) *InstanceInformation {
25207	s.LastAssociationExecutionDate = &v
25208	return s
25209}
25210
25211// SetLastPingDateTime sets the LastPingDateTime field's value.
25212func (s *InstanceInformation) SetLastPingDateTime(v time.Time) *InstanceInformation {
25213	s.LastPingDateTime = &v
25214	return s
25215}
25216
25217// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value.
25218func (s *InstanceInformation) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceInformation {
25219	s.LastSuccessfulAssociationExecutionDate = &v
25220	return s
25221}
25222
25223// SetName sets the Name field's value.
25224func (s *InstanceInformation) SetName(v string) *InstanceInformation {
25225	s.Name = &v
25226	return s
25227}
25228
25229// SetPingStatus sets the PingStatus field's value.
25230func (s *InstanceInformation) SetPingStatus(v string) *InstanceInformation {
25231	s.PingStatus = &v
25232	return s
25233}
25234
25235// SetPlatformName sets the PlatformName field's value.
25236func (s *InstanceInformation) SetPlatformName(v string) *InstanceInformation {
25237	s.PlatformName = &v
25238	return s
25239}
25240
25241// SetPlatformType sets the PlatformType field's value.
25242func (s *InstanceInformation) SetPlatformType(v string) *InstanceInformation {
25243	s.PlatformType = &v
25244	return s
25245}
25246
25247// SetPlatformVersion sets the PlatformVersion field's value.
25248func (s *InstanceInformation) SetPlatformVersion(v string) *InstanceInformation {
25249	s.PlatformVersion = &v
25250	return s
25251}
25252
25253// SetRegistrationDate sets the RegistrationDate field's value.
25254func (s *InstanceInformation) SetRegistrationDate(v time.Time) *InstanceInformation {
25255	s.RegistrationDate = &v
25256	return s
25257}
25258
25259// SetResourceType sets the ResourceType field's value.
25260func (s *InstanceInformation) SetResourceType(v string) *InstanceInformation {
25261	s.ResourceType = &v
25262	return s
25263}
25264
25265// Describes a filter for a specific list of instances. You can filter instances
25266// information by using tags. You specify tags by using a key-value mapping.
25267//
25268// Use this action instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList
25269// method. The InstanceInformationFilterList method is a legacy method and does
25270// not support tags.
25271type InstanceInformationFilter struct {
25272	_ struct{} `type:"structure"`
25273
25274	// The name of the filter.
25275	//
25276	// Key is a required field
25277	Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"`
25278
25279	// The filter values.
25280	//
25281	// ValueSet is a required field
25282	ValueSet []*string `locationName:"valueSet" min:"1" type:"list" required:"true"`
25283}
25284
25285// String returns the string representation
25286func (s InstanceInformationFilter) String() string {
25287	return awsutil.Prettify(s)
25288}
25289
25290// GoString returns the string representation
25291func (s InstanceInformationFilter) GoString() string {
25292	return s.String()
25293}
25294
25295// Validate inspects the fields of the type to determine if they are valid.
25296func (s *InstanceInformationFilter) Validate() error {
25297	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"}
25298	if s.Key == nil {
25299		invalidParams.Add(request.NewErrParamRequired("Key"))
25300	}
25301	if s.ValueSet == nil {
25302		invalidParams.Add(request.NewErrParamRequired("ValueSet"))
25303	}
25304	if s.ValueSet != nil && len(s.ValueSet) < 1 {
25305		invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1))
25306	}
25307
25308	if invalidParams.Len() > 0 {
25309		return invalidParams
25310	}
25311	return nil
25312}
25313
25314// SetKey sets the Key field's value.
25315func (s *InstanceInformationFilter) SetKey(v string) *InstanceInformationFilter {
25316	s.Key = &v
25317	return s
25318}
25319
25320// SetValueSet sets the ValueSet field's value.
25321func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformationFilter {
25322	s.ValueSet = v
25323	return s
25324}
25325
25326// The filters to describe or get information about your managed instances.
25327type InstanceInformationStringFilter struct {
25328	_ struct{} `type:"structure"`
25329
25330	// The filter key name to describe your instances. For example:
25331	//
25332	// "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag
25333	// Key"
25334	//
25335	// Key is a required field
25336	Key *string `min:"1" type:"string" required:"true"`
25337
25338	// The filter values.
25339	//
25340	// Values is a required field
25341	Values []*string `min:"1" type:"list" required:"true"`
25342}
25343
25344// String returns the string representation
25345func (s InstanceInformationStringFilter) String() string {
25346	return awsutil.Prettify(s)
25347}
25348
25349// GoString returns the string representation
25350func (s InstanceInformationStringFilter) GoString() string {
25351	return s.String()
25352}
25353
25354// Validate inspects the fields of the type to determine if they are valid.
25355func (s *InstanceInformationStringFilter) Validate() error {
25356	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationStringFilter"}
25357	if s.Key == nil {
25358		invalidParams.Add(request.NewErrParamRequired("Key"))
25359	}
25360	if s.Key != nil && len(*s.Key) < 1 {
25361		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25362	}
25363	if s.Values == nil {
25364		invalidParams.Add(request.NewErrParamRequired("Values"))
25365	}
25366	if s.Values != nil && len(s.Values) < 1 {
25367		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
25368	}
25369
25370	if invalidParams.Len() > 0 {
25371		return invalidParams
25372	}
25373	return nil
25374}
25375
25376// SetKey sets the Key field's value.
25377func (s *InstanceInformationStringFilter) SetKey(v string) *InstanceInformationStringFilter {
25378	s.Key = &v
25379	return s
25380}
25381
25382// SetValues sets the Values field's value.
25383func (s *InstanceInformationStringFilter) SetValues(v []*string) *InstanceInformationStringFilter {
25384	s.Values = v
25385	return s
25386}
25387
25388// Defines the high-level patch compliance state for a managed instance, providing
25389// information about the number of installed, missing, not applicable, and failed
25390// patches along with metadata about the operation when this information was
25391// gathered for the instance.
25392type InstancePatchState struct {
25393	_ struct{} `type:"structure"`
25394
25395	// The ID of the patch baseline used to patch the instance.
25396	//
25397	// BaselineId is a required field
25398	BaselineId *string `min:"20" type:"string" required:"true"`
25399
25400	// The number of patches from the patch baseline that were attempted to be installed
25401	// during the last patching operation, but failed to install.
25402	FailedCount *int64 `type:"integer"`
25403
25404	// An https URL or an Amazon S3 path-style URL to a list of patches to be installed.
25405	// This patch installation list, which you maintain in an Amazon S3 bucket in
25406	// YAML format and specify in the SSM document AWS-RunPatchBaseline, overrides
25407	// the patches specified by the default patch baseline.
25408	//
25409	// For more information about the InstallOverrideList parameter, see About the
25410	// SSM Document AWS-RunPatchBaseline (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html)
25411	// in the AWS Systems Manager User Guide.
25412	InstallOverrideList *string `min:"1" type:"string"`
25413
25414	// The number of patches from the patch baseline that are installed on the instance.
25415	InstalledCount *int64 `type:"integer"`
25416
25417	// The number of patches not specified in the patch baseline that are installed
25418	// on the instance.
25419	InstalledOtherCount *int64 `type:"integer"`
25420
25421	// The number of instances with patches installed that are specified in a RejectedPatches
25422	// list. Patches with a status of InstalledRejected were typically installed
25423	// before they were added to a RejectedPatches list.
25424	//
25425	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
25426	// the value of InstalledRejectedCount will always be 0 (zero).
25427	InstalledRejectedCount *int64 `type:"integer"`
25428
25429	// The ID of the managed instance the high-level patch compliance information
25430	// was collected for.
25431	//
25432	// InstanceId is a required field
25433	InstanceId *string `type:"string" required:"true"`
25434
25435	// The number of patches from the patch baseline that are applicable for the
25436	// instance but aren't currently installed.
25437	MissingCount *int64 `type:"integer"`
25438
25439	// The number of patches from the patch baseline that aren't applicable for
25440	// the instance and therefore aren't installed on the instance. This number
25441	// may be truncated if the list of patch names is very large. The number of
25442	// patches beyond this limit are reported in UnreportedNotApplicableCount.
25443	NotApplicableCount *int64 `type:"integer"`
25444
25445	// The type of patching operation that was performed: SCAN (assess patch compliance
25446	// state) or INSTALL (install missing patches).
25447	//
25448	// Operation is a required field
25449	Operation *string `type:"string" required:"true" enum:"PatchOperationType"`
25450
25451	// The time the most recent patching operation completed on the instance.
25452	//
25453	// OperationEndTime is a required field
25454	OperationEndTime *time.Time `type:"timestamp" required:"true"`
25455
25456	// The time the most recent patching operation was started on the instance.
25457	//
25458	// OperationStartTime is a required field
25459	OperationStartTime *time.Time `type:"timestamp" required:"true"`
25460
25461	// Placeholder information. This field will always be empty in the current release
25462	// of the service.
25463	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
25464
25465	// The name of the patch group the managed instance belongs to.
25466	//
25467	// PatchGroup is a required field
25468	PatchGroup *string `min:"1" type:"string" required:"true"`
25469
25470	// The ID of the patch baseline snapshot used during the patching operation
25471	// when this compliance data was collected.
25472	SnapshotId *string `min:"36" type:"string"`
25473
25474	// The number of patches beyond the supported limit of NotApplicableCount that
25475	// are not reported by name to Systems Manager Inventory.
25476	UnreportedNotApplicableCount *int64 `type:"integer"`
25477}
25478
25479// String returns the string representation
25480func (s InstancePatchState) String() string {
25481	return awsutil.Prettify(s)
25482}
25483
25484// GoString returns the string representation
25485func (s InstancePatchState) GoString() string {
25486	return s.String()
25487}
25488
25489// SetBaselineId sets the BaselineId field's value.
25490func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState {
25491	s.BaselineId = &v
25492	return s
25493}
25494
25495// SetFailedCount sets the FailedCount field's value.
25496func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState {
25497	s.FailedCount = &v
25498	return s
25499}
25500
25501// SetInstallOverrideList sets the InstallOverrideList field's value.
25502func (s *InstancePatchState) SetInstallOverrideList(v string) *InstancePatchState {
25503	s.InstallOverrideList = &v
25504	return s
25505}
25506
25507// SetInstalledCount sets the InstalledCount field's value.
25508func (s *InstancePatchState) SetInstalledCount(v int64) *InstancePatchState {
25509	s.InstalledCount = &v
25510	return s
25511}
25512
25513// SetInstalledOtherCount sets the InstalledOtherCount field's value.
25514func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState {
25515	s.InstalledOtherCount = &v
25516	return s
25517}
25518
25519// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
25520func (s *InstancePatchState) SetInstalledRejectedCount(v int64) *InstancePatchState {
25521	s.InstalledRejectedCount = &v
25522	return s
25523}
25524
25525// SetInstanceId sets the InstanceId field's value.
25526func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState {
25527	s.InstanceId = &v
25528	return s
25529}
25530
25531// SetMissingCount sets the MissingCount field's value.
25532func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState {
25533	s.MissingCount = &v
25534	return s
25535}
25536
25537// SetNotApplicableCount sets the NotApplicableCount field's value.
25538func (s *InstancePatchState) SetNotApplicableCount(v int64) *InstancePatchState {
25539	s.NotApplicableCount = &v
25540	return s
25541}
25542
25543// SetOperation sets the Operation field's value.
25544func (s *InstancePatchState) SetOperation(v string) *InstancePatchState {
25545	s.Operation = &v
25546	return s
25547}
25548
25549// SetOperationEndTime sets the OperationEndTime field's value.
25550func (s *InstancePatchState) SetOperationEndTime(v time.Time) *InstancePatchState {
25551	s.OperationEndTime = &v
25552	return s
25553}
25554
25555// SetOperationStartTime sets the OperationStartTime field's value.
25556func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchState {
25557	s.OperationStartTime = &v
25558	return s
25559}
25560
25561// SetOwnerInformation sets the OwnerInformation field's value.
25562func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState {
25563	s.OwnerInformation = &v
25564	return s
25565}
25566
25567// SetPatchGroup sets the PatchGroup field's value.
25568func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState {
25569	s.PatchGroup = &v
25570	return s
25571}
25572
25573// SetSnapshotId sets the SnapshotId field's value.
25574func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState {
25575	s.SnapshotId = &v
25576	return s
25577}
25578
25579// SetUnreportedNotApplicableCount sets the UnreportedNotApplicableCount field's value.
25580func (s *InstancePatchState) SetUnreportedNotApplicableCount(v int64) *InstancePatchState {
25581	s.UnreportedNotApplicableCount = &v
25582	return s
25583}
25584
25585// Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to
25586// scope down the information returned by the API.
25587type InstancePatchStateFilter struct {
25588	_ struct{} `type:"structure"`
25589
25590	// The key for the filter. Supported values are FailedCount, InstalledCount,
25591	// InstalledOtherCount, MissingCount and NotApplicableCount.
25592	//
25593	// Key is a required field
25594	Key *string `min:"1" type:"string" required:"true"`
25595
25596	// The type of comparison that should be performed for the value: Equal, NotEqual,
25597	// LessThan or GreaterThan.
25598	//
25599	// Type is a required field
25600	Type *string `type:"string" required:"true" enum:"InstancePatchStateOperatorType"`
25601
25602	// The value for the filter, must be an integer greater than or equal to 0.
25603	//
25604	// Values is a required field
25605	Values []*string `min:"1" type:"list" required:"true"`
25606}
25607
25608// String returns the string representation
25609func (s InstancePatchStateFilter) String() string {
25610	return awsutil.Prettify(s)
25611}
25612
25613// GoString returns the string representation
25614func (s InstancePatchStateFilter) GoString() string {
25615	return s.String()
25616}
25617
25618// Validate inspects the fields of the type to determine if they are valid.
25619func (s *InstancePatchStateFilter) Validate() error {
25620	invalidParams := request.ErrInvalidParams{Context: "InstancePatchStateFilter"}
25621	if s.Key == nil {
25622		invalidParams.Add(request.NewErrParamRequired("Key"))
25623	}
25624	if s.Key != nil && len(*s.Key) < 1 {
25625		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25626	}
25627	if s.Type == nil {
25628		invalidParams.Add(request.NewErrParamRequired("Type"))
25629	}
25630	if s.Values == nil {
25631		invalidParams.Add(request.NewErrParamRequired("Values"))
25632	}
25633	if s.Values != nil && len(s.Values) < 1 {
25634		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
25635	}
25636
25637	if invalidParams.Len() > 0 {
25638		return invalidParams
25639	}
25640	return nil
25641}
25642
25643// SetKey sets the Key field's value.
25644func (s *InstancePatchStateFilter) SetKey(v string) *InstancePatchStateFilter {
25645	s.Key = &v
25646	return s
25647}
25648
25649// SetType sets the Type field's value.
25650func (s *InstancePatchStateFilter) SetType(v string) *InstancePatchStateFilter {
25651	s.Type = &v
25652	return s
25653}
25654
25655// SetValues sets the Values field's value.
25656func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFilter {
25657	s.Values = v
25658	return s
25659}
25660
25661// Specifies the inventory type and attribute for the aggregation execution.
25662type InventoryAggregator struct {
25663	_ struct{} `type:"structure"`
25664
25665	// Nested aggregators to further refine aggregation for an inventory type.
25666	Aggregators []*InventoryAggregator `min:"1" type:"list"`
25667
25668	// The inventory type and attribute name for aggregation.
25669	Expression *string `min:"1" type:"string"`
25670
25671	// A user-defined set of one or more filters on which to aggregate inventory
25672	// data. Groups return a count of resources that match and don't match the specified
25673	// criteria.
25674	Groups []*InventoryGroup `min:"1" type:"list"`
25675}
25676
25677// String returns the string representation
25678func (s InventoryAggregator) String() string {
25679	return awsutil.Prettify(s)
25680}
25681
25682// GoString returns the string representation
25683func (s InventoryAggregator) GoString() string {
25684	return s.String()
25685}
25686
25687// Validate inspects the fields of the type to determine if they are valid.
25688func (s *InventoryAggregator) Validate() error {
25689	invalidParams := request.ErrInvalidParams{Context: "InventoryAggregator"}
25690	if s.Aggregators != nil && len(s.Aggregators) < 1 {
25691		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
25692	}
25693	if s.Expression != nil && len(*s.Expression) < 1 {
25694		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
25695	}
25696	if s.Groups != nil && len(s.Groups) < 1 {
25697		invalidParams.Add(request.NewErrParamMinLen("Groups", 1))
25698	}
25699	if s.Aggregators != nil {
25700		for i, v := range s.Aggregators {
25701			if v == nil {
25702				continue
25703			}
25704			if err := v.Validate(); err != nil {
25705				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
25706			}
25707		}
25708	}
25709	if s.Groups != nil {
25710		for i, v := range s.Groups {
25711			if v == nil {
25712				continue
25713			}
25714			if err := v.Validate(); err != nil {
25715				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
25716			}
25717		}
25718	}
25719
25720	if invalidParams.Len() > 0 {
25721		return invalidParams
25722	}
25723	return nil
25724}
25725
25726// SetAggregators sets the Aggregators field's value.
25727func (s *InventoryAggregator) SetAggregators(v []*InventoryAggregator) *InventoryAggregator {
25728	s.Aggregators = v
25729	return s
25730}
25731
25732// SetExpression sets the Expression field's value.
25733func (s *InventoryAggregator) SetExpression(v string) *InventoryAggregator {
25734	s.Expression = &v
25735	return s
25736}
25737
25738// SetGroups sets the Groups field's value.
25739func (s *InventoryAggregator) SetGroups(v []*InventoryGroup) *InventoryAggregator {
25740	s.Groups = v
25741	return s
25742}
25743
25744// Status information returned by the DeleteInventory action.
25745type InventoryDeletionStatusItem struct {
25746	_ struct{} `type:"structure"`
25747
25748	// The deletion ID returned by the DeleteInventory action.
25749	DeletionId *string `type:"string"`
25750
25751	// The UTC timestamp when the delete operation started.
25752	DeletionStartTime *time.Time `type:"timestamp"`
25753
25754	// Information about the delete operation. For more information about this summary,
25755	// see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete)
25756	// in the AWS Systems Manager User Guide.
25757	DeletionSummary *InventoryDeletionSummary `type:"structure"`
25758
25759	// The status of the operation. Possible values are InProgress and Complete.
25760	LastStatus *string `type:"string" enum:"InventoryDeletionStatus"`
25761
25762	// Information about the status.
25763	LastStatusMessage *string `type:"string"`
25764
25765	// The UTC timestamp of when the last status report.
25766	LastStatusUpdateTime *time.Time `type:"timestamp"`
25767
25768	// The name of the inventory data type.
25769	TypeName *string `min:"1" type:"string"`
25770}
25771
25772// String returns the string representation
25773func (s InventoryDeletionStatusItem) String() string {
25774	return awsutil.Prettify(s)
25775}
25776
25777// GoString returns the string representation
25778func (s InventoryDeletionStatusItem) GoString() string {
25779	return s.String()
25780}
25781
25782// SetDeletionId sets the DeletionId field's value.
25783func (s *InventoryDeletionStatusItem) SetDeletionId(v string) *InventoryDeletionStatusItem {
25784	s.DeletionId = &v
25785	return s
25786}
25787
25788// SetDeletionStartTime sets the DeletionStartTime field's value.
25789func (s *InventoryDeletionStatusItem) SetDeletionStartTime(v time.Time) *InventoryDeletionStatusItem {
25790	s.DeletionStartTime = &v
25791	return s
25792}
25793
25794// SetDeletionSummary sets the DeletionSummary field's value.
25795func (s *InventoryDeletionStatusItem) SetDeletionSummary(v *InventoryDeletionSummary) *InventoryDeletionStatusItem {
25796	s.DeletionSummary = v
25797	return s
25798}
25799
25800// SetLastStatus sets the LastStatus field's value.
25801func (s *InventoryDeletionStatusItem) SetLastStatus(v string) *InventoryDeletionStatusItem {
25802	s.LastStatus = &v
25803	return s
25804}
25805
25806// SetLastStatusMessage sets the LastStatusMessage field's value.
25807func (s *InventoryDeletionStatusItem) SetLastStatusMessage(v string) *InventoryDeletionStatusItem {
25808	s.LastStatusMessage = &v
25809	return s
25810}
25811
25812// SetLastStatusUpdateTime sets the LastStatusUpdateTime field's value.
25813func (s *InventoryDeletionStatusItem) SetLastStatusUpdateTime(v time.Time) *InventoryDeletionStatusItem {
25814	s.LastStatusUpdateTime = &v
25815	return s
25816}
25817
25818// SetTypeName sets the TypeName field's value.
25819func (s *InventoryDeletionStatusItem) SetTypeName(v string) *InventoryDeletionStatusItem {
25820	s.TypeName = &v
25821	return s
25822}
25823
25824// Information about the delete operation.
25825type InventoryDeletionSummary struct {
25826	_ struct{} `type:"structure"`
25827
25828	// Remaining number of items to delete.
25829	RemainingCount *int64 `type:"integer"`
25830
25831	// A list of counts and versions for deleted items.
25832	SummaryItems []*InventoryDeletionSummaryItem `type:"list"`
25833
25834	// The total number of items to delete. This count does not change during the
25835	// delete operation.
25836	TotalCount *int64 `type:"integer"`
25837}
25838
25839// String returns the string representation
25840func (s InventoryDeletionSummary) String() string {
25841	return awsutil.Prettify(s)
25842}
25843
25844// GoString returns the string representation
25845func (s InventoryDeletionSummary) GoString() string {
25846	return s.String()
25847}
25848
25849// SetRemainingCount sets the RemainingCount field's value.
25850func (s *InventoryDeletionSummary) SetRemainingCount(v int64) *InventoryDeletionSummary {
25851	s.RemainingCount = &v
25852	return s
25853}
25854
25855// SetSummaryItems sets the SummaryItems field's value.
25856func (s *InventoryDeletionSummary) SetSummaryItems(v []*InventoryDeletionSummaryItem) *InventoryDeletionSummary {
25857	s.SummaryItems = v
25858	return s
25859}
25860
25861// SetTotalCount sets the TotalCount field's value.
25862func (s *InventoryDeletionSummary) SetTotalCount(v int64) *InventoryDeletionSummary {
25863	s.TotalCount = &v
25864	return s
25865}
25866
25867// Either a count, remaining count, or a version number in a delete inventory
25868// summary.
25869type InventoryDeletionSummaryItem struct {
25870	_ struct{} `type:"structure"`
25871
25872	// A count of the number of deleted items.
25873	Count *int64 `type:"integer"`
25874
25875	// The remaining number of items to delete.
25876	RemainingCount *int64 `type:"integer"`
25877
25878	// The inventory type version.
25879	Version *string `type:"string"`
25880}
25881
25882// String returns the string representation
25883func (s InventoryDeletionSummaryItem) String() string {
25884	return awsutil.Prettify(s)
25885}
25886
25887// GoString returns the string representation
25888func (s InventoryDeletionSummaryItem) GoString() string {
25889	return s.String()
25890}
25891
25892// SetCount sets the Count field's value.
25893func (s *InventoryDeletionSummaryItem) SetCount(v int64) *InventoryDeletionSummaryItem {
25894	s.Count = &v
25895	return s
25896}
25897
25898// SetRemainingCount sets the RemainingCount field's value.
25899func (s *InventoryDeletionSummaryItem) SetRemainingCount(v int64) *InventoryDeletionSummaryItem {
25900	s.RemainingCount = &v
25901	return s
25902}
25903
25904// SetVersion sets the Version field's value.
25905func (s *InventoryDeletionSummaryItem) SetVersion(v string) *InventoryDeletionSummaryItem {
25906	s.Version = &v
25907	return s
25908}
25909
25910// One or more filters. Use a filter to return a more specific list of results.
25911type InventoryFilter struct {
25912	_ struct{} `type:"structure"`
25913
25914	// The name of the filter key.
25915	//
25916	// Key is a required field
25917	Key *string `min:"1" type:"string" required:"true"`
25918
25919	// The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"
25920	Type *string `type:"string" enum:"InventoryQueryOperatorType"`
25921
25922	// Inventory filter values. Example: inventory filter where instance IDs are
25923	// specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
25924	// i-1a2b3c4d5e6,Type=Equal
25925	//
25926	// Values is a required field
25927	Values []*string `min:"1" type:"list" required:"true"`
25928}
25929
25930// String returns the string representation
25931func (s InventoryFilter) String() string {
25932	return awsutil.Prettify(s)
25933}
25934
25935// GoString returns the string representation
25936func (s InventoryFilter) GoString() string {
25937	return s.String()
25938}
25939
25940// Validate inspects the fields of the type to determine if they are valid.
25941func (s *InventoryFilter) Validate() error {
25942	invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
25943	if s.Key == nil {
25944		invalidParams.Add(request.NewErrParamRequired("Key"))
25945	}
25946	if s.Key != nil && len(*s.Key) < 1 {
25947		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25948	}
25949	if s.Values == nil {
25950		invalidParams.Add(request.NewErrParamRequired("Values"))
25951	}
25952	if s.Values != nil && len(s.Values) < 1 {
25953		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
25954	}
25955
25956	if invalidParams.Len() > 0 {
25957		return invalidParams
25958	}
25959	return nil
25960}
25961
25962// SetKey sets the Key field's value.
25963func (s *InventoryFilter) SetKey(v string) *InventoryFilter {
25964	s.Key = &v
25965	return s
25966}
25967
25968// SetType sets the Type field's value.
25969func (s *InventoryFilter) SetType(v string) *InventoryFilter {
25970	s.Type = &v
25971	return s
25972}
25973
25974// SetValues sets the Values field's value.
25975func (s *InventoryFilter) SetValues(v []*string) *InventoryFilter {
25976	s.Values = v
25977	return s
25978}
25979
25980// A user-defined set of one or more filters on which to aggregate inventory
25981// data. Groups return a count of resources that match and don't match the specified
25982// criteria.
25983type InventoryGroup struct {
25984	_ struct{} `type:"structure"`
25985
25986	// Filters define the criteria for the group. The matchingCount field displays
25987	// the number of resources that match the criteria. The notMatchingCount field
25988	// displays the number of resources that don't match the criteria.
25989	//
25990	// Filters is a required field
25991	Filters []*InventoryFilter `min:"1" type:"list" required:"true"`
25992
25993	// The name of the group.
25994	//
25995	// Name is a required field
25996	Name *string `min:"1" type:"string" required:"true"`
25997}
25998
25999// String returns the string representation
26000func (s InventoryGroup) String() string {
26001	return awsutil.Prettify(s)
26002}
26003
26004// GoString returns the string representation
26005func (s InventoryGroup) GoString() string {
26006	return s.String()
26007}
26008
26009// Validate inspects the fields of the type to determine if they are valid.
26010func (s *InventoryGroup) Validate() error {
26011	invalidParams := request.ErrInvalidParams{Context: "InventoryGroup"}
26012	if s.Filters == nil {
26013		invalidParams.Add(request.NewErrParamRequired("Filters"))
26014	}
26015	if s.Filters != nil && len(s.Filters) < 1 {
26016		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
26017	}
26018	if s.Name == nil {
26019		invalidParams.Add(request.NewErrParamRequired("Name"))
26020	}
26021	if s.Name != nil && len(*s.Name) < 1 {
26022		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26023	}
26024	if s.Filters != nil {
26025		for i, v := range s.Filters {
26026			if v == nil {
26027				continue
26028			}
26029			if err := v.Validate(); err != nil {
26030				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26031			}
26032		}
26033	}
26034
26035	if invalidParams.Len() > 0 {
26036		return invalidParams
26037	}
26038	return nil
26039}
26040
26041// SetFilters sets the Filters field's value.
26042func (s *InventoryGroup) SetFilters(v []*InventoryFilter) *InventoryGroup {
26043	s.Filters = v
26044	return s
26045}
26046
26047// SetName sets the Name field's value.
26048func (s *InventoryGroup) SetName(v string) *InventoryGroup {
26049	s.Name = &v
26050	return s
26051}
26052
26053// Information collected from managed instances based on your inventory policy
26054// document
26055type InventoryItem struct {
26056	_ struct{} `type:"structure"`
26057
26058	// The time the inventory information was collected.
26059	//
26060	// CaptureTime is a required field
26061	CaptureTime *string `type:"string" required:"true"`
26062
26063	// The inventory data of the inventory type.
26064	Content []map[string]*string `type:"list"`
26065
26066	// MD5 hash of the inventory item type contents. The content hash is used to
26067	// determine whether to update inventory information. The PutInventory API does
26068	// not update the inventory item type contents if the MD5 hash has not changed
26069	// since last update.
26070	ContentHash *string `type:"string"`
26071
26072	// A map of associated properties for a specified inventory type. For example,
26073	// with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType
26074	// properties of the AWS:ComplianceItem type.
26075	Context map[string]*string `type:"map"`
26076
26077	// The schema version for the inventory item.
26078	//
26079	// SchemaVersion is a required field
26080	SchemaVersion *string `type:"string" required:"true"`
26081
26082	// The name of the inventory type. Default inventory item type names start with
26083	// AWS. Custom inventory type names will start with Custom. Default inventory
26084	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
26085	// AWS:Network, and AWS:WindowsUpdate.
26086	//
26087	// TypeName is a required field
26088	TypeName *string `min:"1" type:"string" required:"true"`
26089}
26090
26091// String returns the string representation
26092func (s InventoryItem) String() string {
26093	return awsutil.Prettify(s)
26094}
26095
26096// GoString returns the string representation
26097func (s InventoryItem) GoString() string {
26098	return s.String()
26099}
26100
26101// Validate inspects the fields of the type to determine if they are valid.
26102func (s *InventoryItem) Validate() error {
26103	invalidParams := request.ErrInvalidParams{Context: "InventoryItem"}
26104	if s.CaptureTime == nil {
26105		invalidParams.Add(request.NewErrParamRequired("CaptureTime"))
26106	}
26107	if s.SchemaVersion == nil {
26108		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
26109	}
26110	if s.TypeName == nil {
26111		invalidParams.Add(request.NewErrParamRequired("TypeName"))
26112	}
26113	if s.TypeName != nil && len(*s.TypeName) < 1 {
26114		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
26115	}
26116
26117	if invalidParams.Len() > 0 {
26118		return invalidParams
26119	}
26120	return nil
26121}
26122
26123// SetCaptureTime sets the CaptureTime field's value.
26124func (s *InventoryItem) SetCaptureTime(v string) *InventoryItem {
26125	s.CaptureTime = &v
26126	return s
26127}
26128
26129// SetContent sets the Content field's value.
26130func (s *InventoryItem) SetContent(v []map[string]*string) *InventoryItem {
26131	s.Content = v
26132	return s
26133}
26134
26135// SetContentHash sets the ContentHash field's value.
26136func (s *InventoryItem) SetContentHash(v string) *InventoryItem {
26137	s.ContentHash = &v
26138	return s
26139}
26140
26141// SetContext sets the Context field's value.
26142func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem {
26143	s.Context = v
26144	return s
26145}
26146
26147// SetSchemaVersion sets the SchemaVersion field's value.
26148func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem {
26149	s.SchemaVersion = &v
26150	return s
26151}
26152
26153// SetTypeName sets the TypeName field's value.
26154func (s *InventoryItem) SetTypeName(v string) *InventoryItem {
26155	s.TypeName = &v
26156	return s
26157}
26158
26159// Attributes are the entries within the inventory item content. It contains
26160// name and value.
26161type InventoryItemAttribute struct {
26162	_ struct{} `type:"structure"`
26163
26164	// The data type of the inventory item attribute.
26165	//
26166	// DataType is a required field
26167	DataType *string `type:"string" required:"true" enum:"InventoryAttributeDataType"`
26168
26169	// Name of the inventory item attribute.
26170	//
26171	// Name is a required field
26172	Name *string `type:"string" required:"true"`
26173}
26174
26175// String returns the string representation
26176func (s InventoryItemAttribute) String() string {
26177	return awsutil.Prettify(s)
26178}
26179
26180// GoString returns the string representation
26181func (s InventoryItemAttribute) GoString() string {
26182	return s.String()
26183}
26184
26185// SetDataType sets the DataType field's value.
26186func (s *InventoryItemAttribute) SetDataType(v string) *InventoryItemAttribute {
26187	s.DataType = &v
26188	return s
26189}
26190
26191// SetName sets the Name field's value.
26192func (s *InventoryItemAttribute) SetName(v string) *InventoryItemAttribute {
26193	s.Name = &v
26194	return s
26195}
26196
26197// The inventory item schema definition. Users can use this to compose inventory
26198// query filters.
26199type InventoryItemSchema struct {
26200	_ struct{} `type:"structure"`
26201
26202	// The schema attributes for inventory. This contains data type and attribute
26203	// name.
26204	//
26205	// Attributes is a required field
26206	Attributes []*InventoryItemAttribute `min:"1" type:"list" required:"true"`
26207
26208	// The alias name of the inventory type. The alias name is used for display
26209	// purposes.
26210	DisplayName *string `type:"string"`
26211
26212	// The name of the inventory type. Default inventory item type names start with
26213	// AWS. Custom inventory type names will start with Custom. Default inventory
26214	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
26215	// AWS:Network, and AWS:WindowsUpdate.
26216	//
26217	// TypeName is a required field
26218	TypeName *string `min:"1" type:"string" required:"true"`
26219
26220	// The schema version for the inventory item.
26221	Version *string `type:"string"`
26222}
26223
26224// String returns the string representation
26225func (s InventoryItemSchema) String() string {
26226	return awsutil.Prettify(s)
26227}
26228
26229// GoString returns the string representation
26230func (s InventoryItemSchema) GoString() string {
26231	return s.String()
26232}
26233
26234// SetAttributes sets the Attributes field's value.
26235func (s *InventoryItemSchema) SetAttributes(v []*InventoryItemAttribute) *InventoryItemSchema {
26236	s.Attributes = v
26237	return s
26238}
26239
26240// SetDisplayName sets the DisplayName field's value.
26241func (s *InventoryItemSchema) SetDisplayName(v string) *InventoryItemSchema {
26242	s.DisplayName = &v
26243	return s
26244}
26245
26246// SetTypeName sets the TypeName field's value.
26247func (s *InventoryItemSchema) SetTypeName(v string) *InventoryItemSchema {
26248	s.TypeName = &v
26249	return s
26250}
26251
26252// SetVersion sets the Version field's value.
26253func (s *InventoryItemSchema) SetVersion(v string) *InventoryItemSchema {
26254	s.Version = &v
26255	return s
26256}
26257
26258// Inventory query results.
26259type InventoryResultEntity struct {
26260	_ struct{} `type:"structure"`
26261
26262	// The data section in the inventory result entity JSON.
26263	Data map[string]*InventoryResultItem `type:"map"`
26264
26265	// ID of the inventory result entity. For example, for managed instance inventory
26266	// the result will be the managed instance ID. For EC2 instance inventory, the
26267	// result will be the instance ID.
26268	Id *string `type:"string"`
26269}
26270
26271// String returns the string representation
26272func (s InventoryResultEntity) String() string {
26273	return awsutil.Prettify(s)
26274}
26275
26276// GoString returns the string representation
26277func (s InventoryResultEntity) GoString() string {
26278	return s.String()
26279}
26280
26281// SetData sets the Data field's value.
26282func (s *InventoryResultEntity) SetData(v map[string]*InventoryResultItem) *InventoryResultEntity {
26283	s.Data = v
26284	return s
26285}
26286
26287// SetId sets the Id field's value.
26288func (s *InventoryResultEntity) SetId(v string) *InventoryResultEntity {
26289	s.Id = &v
26290	return s
26291}
26292
26293// The inventory result item.
26294type InventoryResultItem struct {
26295	_ struct{} `type:"structure"`
26296
26297	// The time inventory item data was captured.
26298	CaptureTime *string `type:"string"`
26299
26300	// Contains all the inventory data of the item type. Results include attribute
26301	// names and values.
26302	//
26303	// Content is a required field
26304	Content []map[string]*string `type:"list" required:"true"`
26305
26306	// MD5 hash of the inventory item type contents. The content hash is used to
26307	// determine whether to update inventory information. The PutInventory API does
26308	// not update the inventory item type contents if the MD5 hash has not changed
26309	// since last update.
26310	ContentHash *string `type:"string"`
26311
26312	// The schema version for the inventory result item/
26313	//
26314	// SchemaVersion is a required field
26315	SchemaVersion *string `type:"string" required:"true"`
26316
26317	// The name of the inventory result item type.
26318	//
26319	// TypeName is a required field
26320	TypeName *string `min:"1" type:"string" required:"true"`
26321}
26322
26323// String returns the string representation
26324func (s InventoryResultItem) String() string {
26325	return awsutil.Prettify(s)
26326}
26327
26328// GoString returns the string representation
26329func (s InventoryResultItem) GoString() string {
26330	return s.String()
26331}
26332
26333// SetCaptureTime sets the CaptureTime field's value.
26334func (s *InventoryResultItem) SetCaptureTime(v string) *InventoryResultItem {
26335	s.CaptureTime = &v
26336	return s
26337}
26338
26339// SetContent sets the Content field's value.
26340func (s *InventoryResultItem) SetContent(v []map[string]*string) *InventoryResultItem {
26341	s.Content = v
26342	return s
26343}
26344
26345// SetContentHash sets the ContentHash field's value.
26346func (s *InventoryResultItem) SetContentHash(v string) *InventoryResultItem {
26347	s.ContentHash = &v
26348	return s
26349}
26350
26351// SetSchemaVersion sets the SchemaVersion field's value.
26352func (s *InventoryResultItem) SetSchemaVersion(v string) *InventoryResultItem {
26353	s.SchemaVersion = &v
26354	return s
26355}
26356
26357// SetTypeName sets the TypeName field's value.
26358func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem {
26359	s.TypeName = &v
26360	return s
26361}
26362
26363type LabelParameterVersionInput struct {
26364	_ struct{} `type:"structure"`
26365
26366	// One or more labels to attach to the specified parameter version.
26367	//
26368	// Labels is a required field
26369	Labels []*string `min:"1" type:"list" required:"true"`
26370
26371	// The parameter name on which you want to attach one or more labels.
26372	//
26373	// Name is a required field
26374	Name *string `min:"1" type:"string" required:"true"`
26375
26376	// The specific version of the parameter on which you want to attach one or
26377	// more labels. If no version is specified, the system attaches the label to
26378	// the latest version.)
26379	ParameterVersion *int64 `type:"long"`
26380}
26381
26382// String returns the string representation
26383func (s LabelParameterVersionInput) String() string {
26384	return awsutil.Prettify(s)
26385}
26386
26387// GoString returns the string representation
26388func (s LabelParameterVersionInput) GoString() string {
26389	return s.String()
26390}
26391
26392// Validate inspects the fields of the type to determine if they are valid.
26393func (s *LabelParameterVersionInput) Validate() error {
26394	invalidParams := request.ErrInvalidParams{Context: "LabelParameterVersionInput"}
26395	if s.Labels == nil {
26396		invalidParams.Add(request.NewErrParamRequired("Labels"))
26397	}
26398	if s.Labels != nil && len(s.Labels) < 1 {
26399		invalidParams.Add(request.NewErrParamMinLen("Labels", 1))
26400	}
26401	if s.Name == nil {
26402		invalidParams.Add(request.NewErrParamRequired("Name"))
26403	}
26404	if s.Name != nil && len(*s.Name) < 1 {
26405		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26406	}
26407
26408	if invalidParams.Len() > 0 {
26409		return invalidParams
26410	}
26411	return nil
26412}
26413
26414// SetLabels sets the Labels field's value.
26415func (s *LabelParameterVersionInput) SetLabels(v []*string) *LabelParameterVersionInput {
26416	s.Labels = v
26417	return s
26418}
26419
26420// SetName sets the Name field's value.
26421func (s *LabelParameterVersionInput) SetName(v string) *LabelParameterVersionInput {
26422	s.Name = &v
26423	return s
26424}
26425
26426// SetParameterVersion sets the ParameterVersion field's value.
26427func (s *LabelParameterVersionInput) SetParameterVersion(v int64) *LabelParameterVersionInput {
26428	s.ParameterVersion = &v
26429	return s
26430}
26431
26432type LabelParameterVersionOutput struct {
26433	_ struct{} `type:"structure"`
26434
26435	// The label does not meet the requirements. For information about parameter
26436	// label requirements, see Labeling Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html)
26437	// in the AWS Systems Manager User Guide.
26438	InvalidLabels []*string `min:"1" type:"list"`
26439}
26440
26441// String returns the string representation
26442func (s LabelParameterVersionOutput) String() string {
26443	return awsutil.Prettify(s)
26444}
26445
26446// GoString returns the string representation
26447func (s LabelParameterVersionOutput) GoString() string {
26448	return s.String()
26449}
26450
26451// SetInvalidLabels sets the InvalidLabels field's value.
26452func (s *LabelParameterVersionOutput) SetInvalidLabels(v []*string) *LabelParameterVersionOutput {
26453	s.InvalidLabels = v
26454	return s
26455}
26456
26457type ListAssociationVersionsInput struct {
26458	_ struct{} `type:"structure"`
26459
26460	// The association ID for which you want to view all versions.
26461	//
26462	// AssociationId is a required field
26463	AssociationId *string `type:"string" required:"true"`
26464
26465	// The maximum number of items to return for this call. The call also returns
26466	// a token that you can specify in a subsequent call to get the next set of
26467	// results.
26468	MaxResults *int64 `min:"1" type:"integer"`
26469
26470	// A token to start the list. Use this token to get the next set of results.
26471	NextToken *string `type:"string"`
26472}
26473
26474// String returns the string representation
26475func (s ListAssociationVersionsInput) String() string {
26476	return awsutil.Prettify(s)
26477}
26478
26479// GoString returns the string representation
26480func (s ListAssociationVersionsInput) GoString() string {
26481	return s.String()
26482}
26483
26484// Validate inspects the fields of the type to determine if they are valid.
26485func (s *ListAssociationVersionsInput) Validate() error {
26486	invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"}
26487	if s.AssociationId == nil {
26488		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
26489	}
26490	if s.MaxResults != nil && *s.MaxResults < 1 {
26491		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26492	}
26493
26494	if invalidParams.Len() > 0 {
26495		return invalidParams
26496	}
26497	return nil
26498}
26499
26500// SetAssociationId sets the AssociationId field's value.
26501func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput {
26502	s.AssociationId = &v
26503	return s
26504}
26505
26506// SetMaxResults sets the MaxResults field's value.
26507func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput {
26508	s.MaxResults = &v
26509	return s
26510}
26511
26512// SetNextToken sets the NextToken field's value.
26513func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput {
26514	s.NextToken = &v
26515	return s
26516}
26517
26518type ListAssociationVersionsOutput struct {
26519	_ struct{} `type:"structure"`
26520
26521	// Information about all versions of the association for the specified association
26522	// ID.
26523	AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"`
26524
26525	// The token for the next set of items to return. Use this token to get the
26526	// next set of results.
26527	NextToken *string `type:"string"`
26528}
26529
26530// String returns the string representation
26531func (s ListAssociationVersionsOutput) String() string {
26532	return awsutil.Prettify(s)
26533}
26534
26535// GoString returns the string representation
26536func (s ListAssociationVersionsOutput) GoString() string {
26537	return s.String()
26538}
26539
26540// SetAssociationVersions sets the AssociationVersions field's value.
26541func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput {
26542	s.AssociationVersions = v
26543	return s
26544}
26545
26546// SetNextToken sets the NextToken field's value.
26547func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput {
26548	s.NextToken = &v
26549	return s
26550}
26551
26552type ListAssociationsInput struct {
26553	_ struct{} `type:"structure"`
26554
26555	// One or more filters. Use a filter to return a more specific list of results.
26556	AssociationFilterList []*AssociationFilter `min:"1" type:"list"`
26557
26558	// The maximum number of items to return for this call. The call also returns
26559	// a token that you can specify in a subsequent call to get the next set of
26560	// results.
26561	MaxResults *int64 `min:"1" type:"integer"`
26562
26563	// The token for the next set of items to return. (You received this token from
26564	// a previous call.)
26565	NextToken *string `type:"string"`
26566}
26567
26568// String returns the string representation
26569func (s ListAssociationsInput) String() string {
26570	return awsutil.Prettify(s)
26571}
26572
26573// GoString returns the string representation
26574func (s ListAssociationsInput) GoString() string {
26575	return s.String()
26576}
26577
26578// Validate inspects the fields of the type to determine if they are valid.
26579func (s *ListAssociationsInput) Validate() error {
26580	invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"}
26581	if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 {
26582		invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1))
26583	}
26584	if s.MaxResults != nil && *s.MaxResults < 1 {
26585		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26586	}
26587	if s.AssociationFilterList != nil {
26588		for i, v := range s.AssociationFilterList {
26589			if v == nil {
26590				continue
26591			}
26592			if err := v.Validate(); err != nil {
26593				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams))
26594			}
26595		}
26596	}
26597
26598	if invalidParams.Len() > 0 {
26599		return invalidParams
26600	}
26601	return nil
26602}
26603
26604// SetAssociationFilterList sets the AssociationFilterList field's value.
26605func (s *ListAssociationsInput) SetAssociationFilterList(v []*AssociationFilter) *ListAssociationsInput {
26606	s.AssociationFilterList = v
26607	return s
26608}
26609
26610// SetMaxResults sets the MaxResults field's value.
26611func (s *ListAssociationsInput) SetMaxResults(v int64) *ListAssociationsInput {
26612	s.MaxResults = &v
26613	return s
26614}
26615
26616// SetNextToken sets the NextToken field's value.
26617func (s *ListAssociationsInput) SetNextToken(v string) *ListAssociationsInput {
26618	s.NextToken = &v
26619	return s
26620}
26621
26622type ListAssociationsOutput struct {
26623	_ struct{} `type:"structure"`
26624
26625	// The associations.
26626	Associations []*Association `type:"list"`
26627
26628	// The token to use when requesting the next set of items. If there are no additional
26629	// items to return, the string is empty.
26630	NextToken *string `type:"string"`
26631}
26632
26633// String returns the string representation
26634func (s ListAssociationsOutput) String() string {
26635	return awsutil.Prettify(s)
26636}
26637
26638// GoString returns the string representation
26639func (s ListAssociationsOutput) GoString() string {
26640	return s.String()
26641}
26642
26643// SetAssociations sets the Associations field's value.
26644func (s *ListAssociationsOutput) SetAssociations(v []*Association) *ListAssociationsOutput {
26645	s.Associations = v
26646	return s
26647}
26648
26649// SetNextToken sets the NextToken field's value.
26650func (s *ListAssociationsOutput) SetNextToken(v string) *ListAssociationsOutput {
26651	s.NextToken = &v
26652	return s
26653}
26654
26655type ListCommandInvocationsInput struct {
26656	_ struct{} `type:"structure"`
26657
26658	// (Optional) The invocations for a specific command ID.
26659	CommandId *string `min:"36" type:"string"`
26660
26661	// (Optional) If set this returns the response of the command executions and
26662	// any command output. By default this is set to False.
26663	Details *bool `type:"boolean"`
26664
26665	// (Optional) One or more filters. Use a filter to return a more specific list
26666	// of results.
26667	Filters []*CommandFilter `min:"1" type:"list"`
26668
26669	// (Optional) The command execution details for a specific instance ID.
26670	InstanceId *string `type:"string"`
26671
26672	// (Optional) The maximum number of items to return for this call. The call
26673	// also returns a token that you can specify in a subsequent call to get the
26674	// next set of results.
26675	MaxResults *int64 `min:"1" type:"integer"`
26676
26677	// (Optional) The token for the next set of items to return. (You received this
26678	// token from a previous call.)
26679	NextToken *string `type:"string"`
26680}
26681
26682// String returns the string representation
26683func (s ListCommandInvocationsInput) String() string {
26684	return awsutil.Prettify(s)
26685}
26686
26687// GoString returns the string representation
26688func (s ListCommandInvocationsInput) GoString() string {
26689	return s.String()
26690}
26691
26692// Validate inspects the fields of the type to determine if they are valid.
26693func (s *ListCommandInvocationsInput) Validate() error {
26694	invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"}
26695	if s.CommandId != nil && len(*s.CommandId) < 36 {
26696		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
26697	}
26698	if s.Filters != nil && len(s.Filters) < 1 {
26699		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
26700	}
26701	if s.MaxResults != nil && *s.MaxResults < 1 {
26702		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26703	}
26704	if s.Filters != nil {
26705		for i, v := range s.Filters {
26706			if v == nil {
26707				continue
26708			}
26709			if err := v.Validate(); err != nil {
26710				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26711			}
26712		}
26713	}
26714
26715	if invalidParams.Len() > 0 {
26716		return invalidParams
26717	}
26718	return nil
26719}
26720
26721// SetCommandId sets the CommandId field's value.
26722func (s *ListCommandInvocationsInput) SetCommandId(v string) *ListCommandInvocationsInput {
26723	s.CommandId = &v
26724	return s
26725}
26726
26727// SetDetails sets the Details field's value.
26728func (s *ListCommandInvocationsInput) SetDetails(v bool) *ListCommandInvocationsInput {
26729	s.Details = &v
26730	return s
26731}
26732
26733// SetFilters sets the Filters field's value.
26734func (s *ListCommandInvocationsInput) SetFilters(v []*CommandFilter) *ListCommandInvocationsInput {
26735	s.Filters = v
26736	return s
26737}
26738
26739// SetInstanceId sets the InstanceId field's value.
26740func (s *ListCommandInvocationsInput) SetInstanceId(v string) *ListCommandInvocationsInput {
26741	s.InstanceId = &v
26742	return s
26743}
26744
26745// SetMaxResults sets the MaxResults field's value.
26746func (s *ListCommandInvocationsInput) SetMaxResults(v int64) *ListCommandInvocationsInput {
26747	s.MaxResults = &v
26748	return s
26749}
26750
26751// SetNextToken sets the NextToken field's value.
26752func (s *ListCommandInvocationsInput) SetNextToken(v string) *ListCommandInvocationsInput {
26753	s.NextToken = &v
26754	return s
26755}
26756
26757type ListCommandInvocationsOutput struct {
26758	_ struct{} `type:"structure"`
26759
26760	// (Optional) A list of all invocations.
26761	CommandInvocations []*CommandInvocation `type:"list"`
26762
26763	// (Optional) The token for the next set of items to return. (You received this
26764	// token from a previous call.)
26765	NextToken *string `type:"string"`
26766}
26767
26768// String returns the string representation
26769func (s ListCommandInvocationsOutput) String() string {
26770	return awsutil.Prettify(s)
26771}
26772
26773// GoString returns the string representation
26774func (s ListCommandInvocationsOutput) GoString() string {
26775	return s.String()
26776}
26777
26778// SetCommandInvocations sets the CommandInvocations field's value.
26779func (s *ListCommandInvocationsOutput) SetCommandInvocations(v []*CommandInvocation) *ListCommandInvocationsOutput {
26780	s.CommandInvocations = v
26781	return s
26782}
26783
26784// SetNextToken sets the NextToken field's value.
26785func (s *ListCommandInvocationsOutput) SetNextToken(v string) *ListCommandInvocationsOutput {
26786	s.NextToken = &v
26787	return s
26788}
26789
26790type ListCommandsInput struct {
26791	_ struct{} `type:"structure"`
26792
26793	// (Optional) If provided, lists only the specified command.
26794	CommandId *string `min:"36" type:"string"`
26795
26796	// (Optional) One or more filters. Use a filter to return a more specific list
26797	// of results.
26798	Filters []*CommandFilter `min:"1" type:"list"`
26799
26800	// (Optional) Lists commands issued against this instance ID.
26801	InstanceId *string `type:"string"`
26802
26803	// (Optional) The maximum number of items to return for this call. The call
26804	// also returns a token that you can specify in a subsequent call to get the
26805	// next set of results.
26806	MaxResults *int64 `min:"1" type:"integer"`
26807
26808	// (Optional) The token for the next set of items to return. (You received this
26809	// token from a previous call.)
26810	NextToken *string `type:"string"`
26811}
26812
26813// String returns the string representation
26814func (s ListCommandsInput) String() string {
26815	return awsutil.Prettify(s)
26816}
26817
26818// GoString returns the string representation
26819func (s ListCommandsInput) GoString() string {
26820	return s.String()
26821}
26822
26823// Validate inspects the fields of the type to determine if they are valid.
26824func (s *ListCommandsInput) Validate() error {
26825	invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"}
26826	if s.CommandId != nil && len(*s.CommandId) < 36 {
26827		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
26828	}
26829	if s.Filters != nil && len(s.Filters) < 1 {
26830		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
26831	}
26832	if s.MaxResults != nil && *s.MaxResults < 1 {
26833		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26834	}
26835	if s.Filters != nil {
26836		for i, v := range s.Filters {
26837			if v == nil {
26838				continue
26839			}
26840			if err := v.Validate(); err != nil {
26841				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26842			}
26843		}
26844	}
26845
26846	if invalidParams.Len() > 0 {
26847		return invalidParams
26848	}
26849	return nil
26850}
26851
26852// SetCommandId sets the CommandId field's value.
26853func (s *ListCommandsInput) SetCommandId(v string) *ListCommandsInput {
26854	s.CommandId = &v
26855	return s
26856}
26857
26858// SetFilters sets the Filters field's value.
26859func (s *ListCommandsInput) SetFilters(v []*CommandFilter) *ListCommandsInput {
26860	s.Filters = v
26861	return s
26862}
26863
26864// SetInstanceId sets the InstanceId field's value.
26865func (s *ListCommandsInput) SetInstanceId(v string) *ListCommandsInput {
26866	s.InstanceId = &v
26867	return s
26868}
26869
26870// SetMaxResults sets the MaxResults field's value.
26871func (s *ListCommandsInput) SetMaxResults(v int64) *ListCommandsInput {
26872	s.MaxResults = &v
26873	return s
26874}
26875
26876// SetNextToken sets the NextToken field's value.
26877func (s *ListCommandsInput) SetNextToken(v string) *ListCommandsInput {
26878	s.NextToken = &v
26879	return s
26880}
26881
26882type ListCommandsOutput struct {
26883	_ struct{} `type:"structure"`
26884
26885	// (Optional) The list of commands requested by the user.
26886	Commands []*Command `type:"list"`
26887
26888	// (Optional) The token for the next set of items to return. (You received this
26889	// token from a previous call.)
26890	NextToken *string `type:"string"`
26891}
26892
26893// String returns the string representation
26894func (s ListCommandsOutput) String() string {
26895	return awsutil.Prettify(s)
26896}
26897
26898// GoString returns the string representation
26899func (s ListCommandsOutput) GoString() string {
26900	return s.String()
26901}
26902
26903// SetCommands sets the Commands field's value.
26904func (s *ListCommandsOutput) SetCommands(v []*Command) *ListCommandsOutput {
26905	s.Commands = v
26906	return s
26907}
26908
26909// SetNextToken sets the NextToken field's value.
26910func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput {
26911	s.NextToken = &v
26912	return s
26913}
26914
26915type ListComplianceItemsInput struct {
26916	_ struct{} `type:"structure"`
26917
26918	// One or more compliance filters. Use a filter to return a more specific list
26919	// of results.
26920	Filters []*ComplianceStringFilter `type:"list"`
26921
26922	// The maximum number of items to return for this call. The call also returns
26923	// a token that you can specify in a subsequent call to get the next set of
26924	// results.
26925	MaxResults *int64 `min:"1" type:"integer"`
26926
26927	// A token to start the list. Use this token to get the next set of results.
26928	NextToken *string `type:"string"`
26929
26930	// The ID for the resources from which to get compliance information. Currently,
26931	// you can only specify one resource ID.
26932	ResourceIds []*string `min:"1" type:"list"`
26933
26934	// The type of resource from which to get compliance information. Currently,
26935	// the only supported resource type is ManagedInstance.
26936	ResourceTypes []*string `min:"1" type:"list"`
26937}
26938
26939// String returns the string representation
26940func (s ListComplianceItemsInput) String() string {
26941	return awsutil.Prettify(s)
26942}
26943
26944// GoString returns the string representation
26945func (s ListComplianceItemsInput) GoString() string {
26946	return s.String()
26947}
26948
26949// Validate inspects the fields of the type to determine if they are valid.
26950func (s *ListComplianceItemsInput) Validate() error {
26951	invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"}
26952	if s.MaxResults != nil && *s.MaxResults < 1 {
26953		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26954	}
26955	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
26956		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
26957	}
26958	if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
26959		invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
26960	}
26961	if s.Filters != nil {
26962		for i, v := range s.Filters {
26963			if v == nil {
26964				continue
26965			}
26966			if err := v.Validate(); err != nil {
26967				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26968			}
26969		}
26970	}
26971
26972	if invalidParams.Len() > 0 {
26973		return invalidParams
26974	}
26975	return nil
26976}
26977
26978// SetFilters sets the Filters field's value.
26979func (s *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput {
26980	s.Filters = v
26981	return s
26982}
26983
26984// SetMaxResults sets the MaxResults field's value.
26985func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput {
26986	s.MaxResults = &v
26987	return s
26988}
26989
26990// SetNextToken sets the NextToken field's value.
26991func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput {
26992	s.NextToken = &v
26993	return s
26994}
26995
26996// SetResourceIds sets the ResourceIds field's value.
26997func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput {
26998	s.ResourceIds = v
26999	return s
27000}
27001
27002// SetResourceTypes sets the ResourceTypes field's value.
27003func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput {
27004	s.ResourceTypes = v
27005	return s
27006}
27007
27008type ListComplianceItemsOutput struct {
27009	_ struct{} `type:"structure"`
27010
27011	// A list of compliance information for the specified resource ID.
27012	ComplianceItems []*ComplianceItem `type:"list"`
27013
27014	// The token for the next set of items to return. Use this token to get the
27015	// next set of results.
27016	NextToken *string `type:"string"`
27017}
27018
27019// String returns the string representation
27020func (s ListComplianceItemsOutput) String() string {
27021	return awsutil.Prettify(s)
27022}
27023
27024// GoString returns the string representation
27025func (s ListComplianceItemsOutput) GoString() string {
27026	return s.String()
27027}
27028
27029// SetComplianceItems sets the ComplianceItems field's value.
27030func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput {
27031	s.ComplianceItems = v
27032	return s
27033}
27034
27035// SetNextToken sets the NextToken field's value.
27036func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput {
27037	s.NextToken = &v
27038	return s
27039}
27040
27041type ListComplianceSummariesInput struct {
27042	_ struct{} `type:"structure"`
27043
27044	// One or more compliance or inventory filters. Use a filter to return a more
27045	// specific list of results.
27046	Filters []*ComplianceStringFilter `type:"list"`
27047
27048	// The maximum number of items to return for this call. Currently, you can specify
27049	// null or 50. The call also returns a token that you can specify in a subsequent
27050	// call to get the next set of results.
27051	MaxResults *int64 `min:"1" type:"integer"`
27052
27053	// A token to start the list. Use this token to get the next set of results.
27054	NextToken *string `type:"string"`
27055}
27056
27057// String returns the string representation
27058func (s ListComplianceSummariesInput) String() string {
27059	return awsutil.Prettify(s)
27060}
27061
27062// GoString returns the string representation
27063func (s ListComplianceSummariesInput) GoString() string {
27064	return s.String()
27065}
27066
27067// Validate inspects the fields of the type to determine if they are valid.
27068func (s *ListComplianceSummariesInput) Validate() error {
27069	invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"}
27070	if s.MaxResults != nil && *s.MaxResults < 1 {
27071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27072	}
27073	if s.Filters != nil {
27074		for i, v := range s.Filters {
27075			if v == nil {
27076				continue
27077			}
27078			if err := v.Validate(); err != nil {
27079				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27080			}
27081		}
27082	}
27083
27084	if invalidParams.Len() > 0 {
27085		return invalidParams
27086	}
27087	return nil
27088}
27089
27090// SetFilters sets the Filters field's value.
27091func (s *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput {
27092	s.Filters = v
27093	return s
27094}
27095
27096// SetMaxResults sets the MaxResults field's value.
27097func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput {
27098	s.MaxResults = &v
27099	return s
27100}
27101
27102// SetNextToken sets the NextToken field's value.
27103func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput {
27104	s.NextToken = &v
27105	return s
27106}
27107
27108type ListComplianceSummariesOutput struct {
27109	_ struct{} `type:"structure"`
27110
27111	// A list of compliant and non-compliant summary counts based on compliance
27112	// types. For example, this call returns State Manager associations, patches,
27113	// or custom compliance types according to the filter criteria that you specified.
27114	ComplianceSummaryItems []*ComplianceSummaryItem `type:"list"`
27115
27116	// The token for the next set of items to return. Use this token to get the
27117	// next set of results.
27118	NextToken *string `type:"string"`
27119}
27120
27121// String returns the string representation
27122func (s ListComplianceSummariesOutput) String() string {
27123	return awsutil.Prettify(s)
27124}
27125
27126// GoString returns the string representation
27127func (s ListComplianceSummariesOutput) GoString() string {
27128	return s.String()
27129}
27130
27131// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value.
27132func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput {
27133	s.ComplianceSummaryItems = v
27134	return s
27135}
27136
27137// SetNextToken sets the NextToken field's value.
27138func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput {
27139	s.NextToken = &v
27140	return s
27141}
27142
27143type ListDocumentVersionsInput struct {
27144	_ struct{} `type:"structure"`
27145
27146	// The maximum number of items to return for this call. The call also returns
27147	// a token that you can specify in a subsequent call to get the next set of
27148	// results.
27149	MaxResults *int64 `min:"1" type:"integer"`
27150
27151	// The name of the document about which you want version information.
27152	//
27153	// Name is a required field
27154	Name *string `type:"string" required:"true"`
27155
27156	// The token for the next set of items to return. (You received this token from
27157	// a previous call.)
27158	NextToken *string `type:"string"`
27159}
27160
27161// String returns the string representation
27162func (s ListDocumentVersionsInput) String() string {
27163	return awsutil.Prettify(s)
27164}
27165
27166// GoString returns the string representation
27167func (s ListDocumentVersionsInput) GoString() string {
27168	return s.String()
27169}
27170
27171// Validate inspects the fields of the type to determine if they are valid.
27172func (s *ListDocumentVersionsInput) Validate() error {
27173	invalidParams := request.ErrInvalidParams{Context: "ListDocumentVersionsInput"}
27174	if s.MaxResults != nil && *s.MaxResults < 1 {
27175		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27176	}
27177	if s.Name == nil {
27178		invalidParams.Add(request.NewErrParamRequired("Name"))
27179	}
27180
27181	if invalidParams.Len() > 0 {
27182		return invalidParams
27183	}
27184	return nil
27185}
27186
27187// SetMaxResults sets the MaxResults field's value.
27188func (s *ListDocumentVersionsInput) SetMaxResults(v int64) *ListDocumentVersionsInput {
27189	s.MaxResults = &v
27190	return s
27191}
27192
27193// SetName sets the Name field's value.
27194func (s *ListDocumentVersionsInput) SetName(v string) *ListDocumentVersionsInput {
27195	s.Name = &v
27196	return s
27197}
27198
27199// SetNextToken sets the NextToken field's value.
27200func (s *ListDocumentVersionsInput) SetNextToken(v string) *ListDocumentVersionsInput {
27201	s.NextToken = &v
27202	return s
27203}
27204
27205type ListDocumentVersionsOutput struct {
27206	_ struct{} `type:"structure"`
27207
27208	// The document versions.
27209	DocumentVersions []*DocumentVersionInfo `min:"1" type:"list"`
27210
27211	// The token to use when requesting the next set of items. If there are no additional
27212	// items to return, the string is empty.
27213	NextToken *string `type:"string"`
27214}
27215
27216// String returns the string representation
27217func (s ListDocumentVersionsOutput) String() string {
27218	return awsutil.Prettify(s)
27219}
27220
27221// GoString returns the string representation
27222func (s ListDocumentVersionsOutput) GoString() string {
27223	return s.String()
27224}
27225
27226// SetDocumentVersions sets the DocumentVersions field's value.
27227func (s *ListDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionInfo) *ListDocumentVersionsOutput {
27228	s.DocumentVersions = v
27229	return s
27230}
27231
27232// SetNextToken sets the NextToken field's value.
27233func (s *ListDocumentVersionsOutput) SetNextToken(v string) *ListDocumentVersionsOutput {
27234	s.NextToken = &v
27235	return s
27236}
27237
27238type ListDocumentsInput struct {
27239	_ struct{} `type:"structure"`
27240
27241	// One or more filters. Use a filter to return a more specific list of results.
27242	DocumentFilterList []*DocumentFilter `min:"1" type:"list"`
27243
27244	// One or more filters. Use a filter to return a more specific list of results.
27245	Filters []*DocumentKeyValuesFilter `type:"list"`
27246
27247	// The maximum number of items to return for this call. The call also returns
27248	// a token that you can specify in a subsequent call to get the next set of
27249	// results.
27250	MaxResults *int64 `min:"1" type:"integer"`
27251
27252	// The token for the next set of items to return. (You received this token from
27253	// a previous call.)
27254	NextToken *string `type:"string"`
27255}
27256
27257// String returns the string representation
27258func (s ListDocumentsInput) String() string {
27259	return awsutil.Prettify(s)
27260}
27261
27262// GoString returns the string representation
27263func (s ListDocumentsInput) GoString() string {
27264	return s.String()
27265}
27266
27267// Validate inspects the fields of the type to determine if they are valid.
27268func (s *ListDocumentsInput) Validate() error {
27269	invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"}
27270	if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 {
27271		invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1))
27272	}
27273	if s.MaxResults != nil && *s.MaxResults < 1 {
27274		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27275	}
27276	if s.DocumentFilterList != nil {
27277		for i, v := range s.DocumentFilterList {
27278			if v == nil {
27279				continue
27280			}
27281			if err := v.Validate(); err != nil {
27282				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams))
27283			}
27284		}
27285	}
27286	if s.Filters != nil {
27287		for i, v := range s.Filters {
27288			if v == nil {
27289				continue
27290			}
27291			if err := v.Validate(); err != nil {
27292				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27293			}
27294		}
27295	}
27296
27297	if invalidParams.Len() > 0 {
27298		return invalidParams
27299	}
27300	return nil
27301}
27302
27303// SetDocumentFilterList sets the DocumentFilterList field's value.
27304func (s *ListDocumentsInput) SetDocumentFilterList(v []*DocumentFilter) *ListDocumentsInput {
27305	s.DocumentFilterList = v
27306	return s
27307}
27308
27309// SetFilters sets the Filters field's value.
27310func (s *ListDocumentsInput) SetFilters(v []*DocumentKeyValuesFilter) *ListDocumentsInput {
27311	s.Filters = v
27312	return s
27313}
27314
27315// SetMaxResults sets the MaxResults field's value.
27316func (s *ListDocumentsInput) SetMaxResults(v int64) *ListDocumentsInput {
27317	s.MaxResults = &v
27318	return s
27319}
27320
27321// SetNextToken sets the NextToken field's value.
27322func (s *ListDocumentsInput) SetNextToken(v string) *ListDocumentsInput {
27323	s.NextToken = &v
27324	return s
27325}
27326
27327type ListDocumentsOutput struct {
27328	_ struct{} `type:"structure"`
27329
27330	// The names of the Systems Manager documents.
27331	DocumentIdentifiers []*DocumentIdentifier `type:"list"`
27332
27333	// The token to use when requesting the next set of items. If there are no additional
27334	// items to return, the string is empty.
27335	NextToken *string `type:"string"`
27336}
27337
27338// String returns the string representation
27339func (s ListDocumentsOutput) String() string {
27340	return awsutil.Prettify(s)
27341}
27342
27343// GoString returns the string representation
27344func (s ListDocumentsOutput) GoString() string {
27345	return s.String()
27346}
27347
27348// SetDocumentIdentifiers sets the DocumentIdentifiers field's value.
27349func (s *ListDocumentsOutput) SetDocumentIdentifiers(v []*DocumentIdentifier) *ListDocumentsOutput {
27350	s.DocumentIdentifiers = v
27351	return s
27352}
27353
27354// SetNextToken sets the NextToken field's value.
27355func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput {
27356	s.NextToken = &v
27357	return s
27358}
27359
27360type ListInventoryEntriesInput struct {
27361	_ struct{} `type:"structure"`
27362
27363	// One or more filters. Use a filter to return a more specific list of results.
27364	Filters []*InventoryFilter `min:"1" type:"list"`
27365
27366	// The instance ID for which you want inventory information.
27367	//
27368	// InstanceId is a required field
27369	InstanceId *string `type:"string" required:"true"`
27370
27371	// The maximum number of items to return for this call. The call also returns
27372	// a token that you can specify in a subsequent call to get the next set of
27373	// results.
27374	MaxResults *int64 `min:"1" type:"integer"`
27375
27376	// The token for the next set of items to return. (You received this token from
27377	// a previous call.)
27378	NextToken *string `type:"string"`
27379
27380	// The type of inventory item for which you want information.
27381	//
27382	// TypeName is a required field
27383	TypeName *string `min:"1" type:"string" required:"true"`
27384}
27385
27386// String returns the string representation
27387func (s ListInventoryEntriesInput) String() string {
27388	return awsutil.Prettify(s)
27389}
27390
27391// GoString returns the string representation
27392func (s ListInventoryEntriesInput) GoString() string {
27393	return s.String()
27394}
27395
27396// Validate inspects the fields of the type to determine if they are valid.
27397func (s *ListInventoryEntriesInput) Validate() error {
27398	invalidParams := request.ErrInvalidParams{Context: "ListInventoryEntriesInput"}
27399	if s.Filters != nil && len(s.Filters) < 1 {
27400		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
27401	}
27402	if s.InstanceId == nil {
27403		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
27404	}
27405	if s.MaxResults != nil && *s.MaxResults < 1 {
27406		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27407	}
27408	if s.TypeName == nil {
27409		invalidParams.Add(request.NewErrParamRequired("TypeName"))
27410	}
27411	if s.TypeName != nil && len(*s.TypeName) < 1 {
27412		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
27413	}
27414	if s.Filters != nil {
27415		for i, v := range s.Filters {
27416			if v == nil {
27417				continue
27418			}
27419			if err := v.Validate(); err != nil {
27420				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27421			}
27422		}
27423	}
27424
27425	if invalidParams.Len() > 0 {
27426		return invalidParams
27427	}
27428	return nil
27429}
27430
27431// SetFilters sets the Filters field's value.
27432func (s *ListInventoryEntriesInput) SetFilters(v []*InventoryFilter) *ListInventoryEntriesInput {
27433	s.Filters = v
27434	return s
27435}
27436
27437// SetInstanceId sets the InstanceId field's value.
27438func (s *ListInventoryEntriesInput) SetInstanceId(v string) *ListInventoryEntriesInput {
27439	s.InstanceId = &v
27440	return s
27441}
27442
27443// SetMaxResults sets the MaxResults field's value.
27444func (s *ListInventoryEntriesInput) SetMaxResults(v int64) *ListInventoryEntriesInput {
27445	s.MaxResults = &v
27446	return s
27447}
27448
27449// SetNextToken sets the NextToken field's value.
27450func (s *ListInventoryEntriesInput) SetNextToken(v string) *ListInventoryEntriesInput {
27451	s.NextToken = &v
27452	return s
27453}
27454
27455// SetTypeName sets the TypeName field's value.
27456func (s *ListInventoryEntriesInput) SetTypeName(v string) *ListInventoryEntriesInput {
27457	s.TypeName = &v
27458	return s
27459}
27460
27461type ListInventoryEntriesOutput struct {
27462	_ struct{} `type:"structure"`
27463
27464	// The time that inventory information was collected for the instance(s).
27465	CaptureTime *string `type:"string"`
27466
27467	// A list of inventory items on the instance(s).
27468	Entries []map[string]*string `type:"list"`
27469
27470	// The instance ID targeted by the request to query inventory information.
27471	InstanceId *string `type:"string"`
27472
27473	// The token to use when requesting the next set of items. If there are no additional
27474	// items to return, the string is empty.
27475	NextToken *string `type:"string"`
27476
27477	// The inventory schema version used by the instance(s).
27478	SchemaVersion *string `type:"string"`
27479
27480	// The type of inventory item returned by the request.
27481	TypeName *string `min:"1" type:"string"`
27482}
27483
27484// String returns the string representation
27485func (s ListInventoryEntriesOutput) String() string {
27486	return awsutil.Prettify(s)
27487}
27488
27489// GoString returns the string representation
27490func (s ListInventoryEntriesOutput) GoString() string {
27491	return s.String()
27492}
27493
27494// SetCaptureTime sets the CaptureTime field's value.
27495func (s *ListInventoryEntriesOutput) SetCaptureTime(v string) *ListInventoryEntriesOutput {
27496	s.CaptureTime = &v
27497	return s
27498}
27499
27500// SetEntries sets the Entries field's value.
27501func (s *ListInventoryEntriesOutput) SetEntries(v []map[string]*string) *ListInventoryEntriesOutput {
27502	s.Entries = v
27503	return s
27504}
27505
27506// SetInstanceId sets the InstanceId field's value.
27507func (s *ListInventoryEntriesOutput) SetInstanceId(v string) *ListInventoryEntriesOutput {
27508	s.InstanceId = &v
27509	return s
27510}
27511
27512// SetNextToken sets the NextToken field's value.
27513func (s *ListInventoryEntriesOutput) SetNextToken(v string) *ListInventoryEntriesOutput {
27514	s.NextToken = &v
27515	return s
27516}
27517
27518// SetSchemaVersion sets the SchemaVersion field's value.
27519func (s *ListInventoryEntriesOutput) SetSchemaVersion(v string) *ListInventoryEntriesOutput {
27520	s.SchemaVersion = &v
27521	return s
27522}
27523
27524// SetTypeName sets the TypeName field's value.
27525func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntriesOutput {
27526	s.TypeName = &v
27527	return s
27528}
27529
27530type ListResourceComplianceSummariesInput struct {
27531	_ struct{} `type:"structure"`
27532
27533	// One or more filters. Use a filter to return a more specific list of results.
27534	Filters []*ComplianceStringFilter `type:"list"`
27535
27536	// The maximum number of items to return for this call. The call also returns
27537	// a token that you can specify in a subsequent call to get the next set of
27538	// results.
27539	MaxResults *int64 `min:"1" type:"integer"`
27540
27541	// A token to start the list. Use this token to get the next set of results.
27542	NextToken *string `type:"string"`
27543}
27544
27545// String returns the string representation
27546func (s ListResourceComplianceSummariesInput) String() string {
27547	return awsutil.Prettify(s)
27548}
27549
27550// GoString returns the string representation
27551func (s ListResourceComplianceSummariesInput) GoString() string {
27552	return s.String()
27553}
27554
27555// Validate inspects the fields of the type to determine if they are valid.
27556func (s *ListResourceComplianceSummariesInput) Validate() error {
27557	invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"}
27558	if s.MaxResults != nil && *s.MaxResults < 1 {
27559		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27560	}
27561	if s.Filters != nil {
27562		for i, v := range s.Filters {
27563			if v == nil {
27564				continue
27565			}
27566			if err := v.Validate(); err != nil {
27567				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27568			}
27569		}
27570	}
27571
27572	if invalidParams.Len() > 0 {
27573		return invalidParams
27574	}
27575	return nil
27576}
27577
27578// SetFilters sets the Filters field's value.
27579func (s *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput {
27580	s.Filters = v
27581	return s
27582}
27583
27584// SetMaxResults sets the MaxResults field's value.
27585func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput {
27586	s.MaxResults = &v
27587	return s
27588}
27589
27590// SetNextToken sets the NextToken field's value.
27591func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput {
27592	s.NextToken = &v
27593	return s
27594}
27595
27596type ListResourceComplianceSummariesOutput struct {
27597	_ struct{} `type:"structure"`
27598
27599	// The token for the next set of items to return. Use this token to get the
27600	// next set of results.
27601	NextToken *string `type:"string"`
27602
27603	// A summary count for specified or targeted managed instances. Summary count
27604	// includes information about compliant and non-compliant State Manager associations,
27605	// patch status, or custom items according to the filter criteria that you specify.
27606	ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `type:"list"`
27607}
27608
27609// String returns the string representation
27610func (s ListResourceComplianceSummariesOutput) String() string {
27611	return awsutil.Prettify(s)
27612}
27613
27614// GoString returns the string representation
27615func (s ListResourceComplianceSummariesOutput) GoString() string {
27616	return s.String()
27617}
27618
27619// SetNextToken sets the NextToken field's value.
27620func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput {
27621	s.NextToken = &v
27622	return s
27623}
27624
27625// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value.
27626func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput {
27627	s.ResourceComplianceSummaryItems = v
27628	return s
27629}
27630
27631type ListResourceDataSyncInput struct {
27632	_ struct{} `type:"structure"`
27633
27634	// The maximum number of items to return for this call. The call also returns
27635	// a token that you can specify in a subsequent call to get the next set of
27636	// results.
27637	MaxResults *int64 `min:"1" type:"integer"`
27638
27639	// A token to start the list. Use this token to get the next set of results.
27640	NextToken *string `type:"string"`
27641}
27642
27643// String returns the string representation
27644func (s ListResourceDataSyncInput) String() string {
27645	return awsutil.Prettify(s)
27646}
27647
27648// GoString returns the string representation
27649func (s ListResourceDataSyncInput) GoString() string {
27650	return s.String()
27651}
27652
27653// Validate inspects the fields of the type to determine if they are valid.
27654func (s *ListResourceDataSyncInput) Validate() error {
27655	invalidParams := request.ErrInvalidParams{Context: "ListResourceDataSyncInput"}
27656	if s.MaxResults != nil && *s.MaxResults < 1 {
27657		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27658	}
27659
27660	if invalidParams.Len() > 0 {
27661		return invalidParams
27662	}
27663	return nil
27664}
27665
27666// SetMaxResults sets the MaxResults field's value.
27667func (s *ListResourceDataSyncInput) SetMaxResults(v int64) *ListResourceDataSyncInput {
27668	s.MaxResults = &v
27669	return s
27670}
27671
27672// SetNextToken sets the NextToken field's value.
27673func (s *ListResourceDataSyncInput) SetNextToken(v string) *ListResourceDataSyncInput {
27674	s.NextToken = &v
27675	return s
27676}
27677
27678type ListResourceDataSyncOutput struct {
27679	_ struct{} `type:"structure"`
27680
27681	// The token for the next set of items to return. Use this token to get the
27682	// next set of results.
27683	NextToken *string `type:"string"`
27684
27685	// A list of your current Resource Data Sync configurations and their statuses.
27686	ResourceDataSyncItems []*ResourceDataSyncItem `type:"list"`
27687}
27688
27689// String returns the string representation
27690func (s ListResourceDataSyncOutput) String() string {
27691	return awsutil.Prettify(s)
27692}
27693
27694// GoString returns the string representation
27695func (s ListResourceDataSyncOutput) GoString() string {
27696	return s.String()
27697}
27698
27699// SetNextToken sets the NextToken field's value.
27700func (s *ListResourceDataSyncOutput) SetNextToken(v string) *ListResourceDataSyncOutput {
27701	s.NextToken = &v
27702	return s
27703}
27704
27705// SetResourceDataSyncItems sets the ResourceDataSyncItems field's value.
27706func (s *ListResourceDataSyncOutput) SetResourceDataSyncItems(v []*ResourceDataSyncItem) *ListResourceDataSyncOutput {
27707	s.ResourceDataSyncItems = v
27708	return s
27709}
27710
27711type ListTagsForResourceInput struct {
27712	_ struct{} `type:"structure"`
27713
27714	// The resource ID for which you want to see a list of tags.
27715	//
27716	// ResourceId is a required field
27717	ResourceId *string `type:"string" required:"true"`
27718
27719	// Returns a list of tags for a specific resource type.
27720	//
27721	// ResourceType is a required field
27722	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
27723}
27724
27725// String returns the string representation
27726func (s ListTagsForResourceInput) String() string {
27727	return awsutil.Prettify(s)
27728}
27729
27730// GoString returns the string representation
27731func (s ListTagsForResourceInput) GoString() string {
27732	return s.String()
27733}
27734
27735// Validate inspects the fields of the type to determine if they are valid.
27736func (s *ListTagsForResourceInput) Validate() error {
27737	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
27738	if s.ResourceId == nil {
27739		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
27740	}
27741	if s.ResourceType == nil {
27742		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
27743	}
27744
27745	if invalidParams.Len() > 0 {
27746		return invalidParams
27747	}
27748	return nil
27749}
27750
27751// SetResourceId sets the ResourceId field's value.
27752func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
27753	s.ResourceId = &v
27754	return s
27755}
27756
27757// SetResourceType sets the ResourceType field's value.
27758func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
27759	s.ResourceType = &v
27760	return s
27761}
27762
27763type ListTagsForResourceOutput struct {
27764	_ struct{} `type:"structure"`
27765
27766	// A list of tags.
27767	TagList []*Tag `type:"list"`
27768}
27769
27770// String returns the string representation
27771func (s ListTagsForResourceOutput) String() string {
27772	return awsutil.Prettify(s)
27773}
27774
27775// GoString returns the string representation
27776func (s ListTagsForResourceOutput) GoString() string {
27777	return s.String()
27778}
27779
27780// SetTagList sets the TagList field's value.
27781func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
27782	s.TagList = v
27783	return s
27784}
27785
27786// Information about an Amazon S3 bucket to write instance-level logs to.
27787//
27788// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
27789// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
27790// structure. For information about how Systems Manager handles these options
27791// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
27792type LoggingInfo struct {
27793	_ struct{} `type:"structure"`
27794
27795	// The name of an Amazon S3 bucket where execution logs are stored .
27796	//
27797	// S3BucketName is a required field
27798	S3BucketName *string `min:"3" type:"string" required:"true"`
27799
27800	// (Optional) The Amazon S3 bucket subfolder.
27801	S3KeyPrefix *string `type:"string"`
27802
27803	// The region where the Amazon S3 bucket is located.
27804	//
27805	// S3Region is a required field
27806	S3Region *string `min:"3" type:"string" required:"true"`
27807}
27808
27809// String returns the string representation
27810func (s LoggingInfo) String() string {
27811	return awsutil.Prettify(s)
27812}
27813
27814// GoString returns the string representation
27815func (s LoggingInfo) GoString() string {
27816	return s.String()
27817}
27818
27819// Validate inspects the fields of the type to determine if they are valid.
27820func (s *LoggingInfo) Validate() error {
27821	invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"}
27822	if s.S3BucketName == nil {
27823		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
27824	}
27825	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
27826		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
27827	}
27828	if s.S3Region == nil {
27829		invalidParams.Add(request.NewErrParamRequired("S3Region"))
27830	}
27831	if s.S3Region != nil && len(*s.S3Region) < 3 {
27832		invalidParams.Add(request.NewErrParamMinLen("S3Region", 3))
27833	}
27834
27835	if invalidParams.Len() > 0 {
27836		return invalidParams
27837	}
27838	return nil
27839}
27840
27841// SetS3BucketName sets the S3BucketName field's value.
27842func (s *LoggingInfo) SetS3BucketName(v string) *LoggingInfo {
27843	s.S3BucketName = &v
27844	return s
27845}
27846
27847// SetS3KeyPrefix sets the S3KeyPrefix field's value.
27848func (s *LoggingInfo) SetS3KeyPrefix(v string) *LoggingInfo {
27849	s.S3KeyPrefix = &v
27850	return s
27851}
27852
27853// SetS3Region sets the S3Region field's value.
27854func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo {
27855	s.S3Region = &v
27856	return s
27857}
27858
27859// The parameters for an AUTOMATION task type.
27860type MaintenanceWindowAutomationParameters struct {
27861	_ struct{} `type:"structure"`
27862
27863	// The version of an Automation document to use during task execution.
27864	DocumentVersion *string `type:"string"`
27865
27866	// The parameters for the AUTOMATION task.
27867	//
27868	// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
27869	// and UpdateMaintenanceWindowTask.
27870	//
27871	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
27872	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
27873	// structure. For information about how Systems Manager handles these options
27874	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
27875	//
27876	// TaskParameters has been deprecated. To specify parameters to pass to a task
27877	// when it runs, instead use the Parameters option in the TaskInvocationParameters
27878	// structure. For information about how Systems Manager handles these options
27879	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
27880	//
27881	// For AUTOMATION task types, Systems Manager ignores any values specified for
27882	// these parameters.
27883	Parameters map[string][]*string `min:"1" type:"map"`
27884}
27885
27886// String returns the string representation
27887func (s MaintenanceWindowAutomationParameters) String() string {
27888	return awsutil.Prettify(s)
27889}
27890
27891// GoString returns the string representation
27892func (s MaintenanceWindowAutomationParameters) GoString() string {
27893	return s.String()
27894}
27895
27896// Validate inspects the fields of the type to determine if they are valid.
27897func (s *MaintenanceWindowAutomationParameters) Validate() error {
27898	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"}
27899	if s.Parameters != nil && len(s.Parameters) < 1 {
27900		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
27901	}
27902
27903	if invalidParams.Len() > 0 {
27904		return invalidParams
27905	}
27906	return nil
27907}
27908
27909// SetDocumentVersion sets the DocumentVersion field's value.
27910func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters {
27911	s.DocumentVersion = &v
27912	return s
27913}
27914
27915// SetParameters sets the Parameters field's value.
27916func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters {
27917	s.Parameters = v
27918	return s
27919}
27920
27921// Describes the information about an execution of a maintenance window.
27922type MaintenanceWindowExecution struct {
27923	_ struct{} `type:"structure"`
27924
27925	// The time the execution finished.
27926	EndTime *time.Time `type:"timestamp"`
27927
27928	// The time the execution started.
27929	StartTime *time.Time `type:"timestamp"`
27930
27931	// The status of the execution.
27932	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
27933
27934	// The details explaining the Status. Only available for certain status values.
27935	StatusDetails *string `type:"string"`
27936
27937	// The ID of the maintenance window execution.
27938	WindowExecutionId *string `min:"36" type:"string"`
27939
27940	// The ID of the maintenance window.
27941	WindowId *string `min:"20" type:"string"`
27942}
27943
27944// String returns the string representation
27945func (s MaintenanceWindowExecution) String() string {
27946	return awsutil.Prettify(s)
27947}
27948
27949// GoString returns the string representation
27950func (s MaintenanceWindowExecution) GoString() string {
27951	return s.String()
27952}
27953
27954// SetEndTime sets the EndTime field's value.
27955func (s *MaintenanceWindowExecution) SetEndTime(v time.Time) *MaintenanceWindowExecution {
27956	s.EndTime = &v
27957	return s
27958}
27959
27960// SetStartTime sets the StartTime field's value.
27961func (s *MaintenanceWindowExecution) SetStartTime(v time.Time) *MaintenanceWindowExecution {
27962	s.StartTime = &v
27963	return s
27964}
27965
27966// SetStatus sets the Status field's value.
27967func (s *MaintenanceWindowExecution) SetStatus(v string) *MaintenanceWindowExecution {
27968	s.Status = &v
27969	return s
27970}
27971
27972// SetStatusDetails sets the StatusDetails field's value.
27973func (s *MaintenanceWindowExecution) SetStatusDetails(v string) *MaintenanceWindowExecution {
27974	s.StatusDetails = &v
27975	return s
27976}
27977
27978// SetWindowExecutionId sets the WindowExecutionId field's value.
27979func (s *MaintenanceWindowExecution) SetWindowExecutionId(v string) *MaintenanceWindowExecution {
27980	s.WindowExecutionId = &v
27981	return s
27982}
27983
27984// SetWindowId sets the WindowId field's value.
27985func (s *MaintenanceWindowExecution) SetWindowId(v string) *MaintenanceWindowExecution {
27986	s.WindowId = &v
27987	return s
27988}
27989
27990// Information about a task execution performed as part of a maintenance window
27991// execution.
27992type MaintenanceWindowExecutionTaskIdentity struct {
27993	_ struct{} `type:"structure"`
27994
27995	// The time the task execution finished.
27996	EndTime *time.Time `type:"timestamp"`
27997
27998	// The time the task execution started.
27999	StartTime *time.Time `type:"timestamp"`
28000
28001	// The status of the task execution.
28002	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
28003
28004	// The details explaining the status of the task execution. Only available for
28005	// certain status values.
28006	StatusDetails *string `type:"string"`
28007
28008	// The ARN of the task that ran.
28009	TaskArn *string `min:"1" type:"string"`
28010
28011	// The ID of the specific task execution in the maintenance window execution.
28012	TaskExecutionId *string `min:"36" type:"string"`
28013
28014	// The type of task that ran.
28015	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
28016
28017	// The ID of the maintenance window execution that ran the task.
28018	WindowExecutionId *string `min:"36" type:"string"`
28019}
28020
28021// String returns the string representation
28022func (s MaintenanceWindowExecutionTaskIdentity) String() string {
28023	return awsutil.Prettify(s)
28024}
28025
28026// GoString returns the string representation
28027func (s MaintenanceWindowExecutionTaskIdentity) GoString() string {
28028	return s.String()
28029}
28030
28031// SetEndTime sets the EndTime field's value.
28032func (s *MaintenanceWindowExecutionTaskIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
28033	s.EndTime = &v
28034	return s
28035}
28036
28037// SetStartTime sets the StartTime field's value.
28038func (s *MaintenanceWindowExecutionTaskIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
28039	s.StartTime = &v
28040	return s
28041}
28042
28043// SetStatus sets the Status field's value.
28044func (s *MaintenanceWindowExecutionTaskIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskIdentity {
28045	s.Status = &v
28046	return s
28047}
28048
28049// SetStatusDetails sets the StatusDetails field's value.
28050func (s *MaintenanceWindowExecutionTaskIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskIdentity {
28051	s.StatusDetails = &v
28052	return s
28053}
28054
28055// SetTaskArn sets the TaskArn field's value.
28056func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskArn(v string) *MaintenanceWindowExecutionTaskIdentity {
28057	s.TaskArn = &v
28058	return s
28059}
28060
28061// SetTaskExecutionId sets the TaskExecutionId field's value.
28062func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
28063	s.TaskExecutionId = &v
28064	return s
28065}
28066
28067// SetTaskType sets the TaskType field's value.
28068func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskIdentity {
28069	s.TaskType = &v
28070	return s
28071}
28072
28073// SetWindowExecutionId sets the WindowExecutionId field's value.
28074func (s *MaintenanceWindowExecutionTaskIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
28075	s.WindowExecutionId = &v
28076	return s
28077}
28078
28079// Describes the information about a task invocation for a particular target
28080// as part of a task execution performed as part of a maintenance window execution.
28081type MaintenanceWindowExecutionTaskInvocationIdentity struct {
28082	_ struct{} `type:"structure"`
28083
28084	// The time the invocation finished.
28085	EndTime *time.Time `type:"timestamp"`
28086
28087	// The ID of the action performed in the service that actually handled the task
28088	// invocation. If the task type is RUN_COMMAND, this value is the command ID.
28089	ExecutionId *string `type:"string"`
28090
28091	// The ID of the task invocation.
28092	InvocationId *string `min:"36" type:"string"`
28093
28094	// User-provided value that was specified when the target was registered with
28095	// the maintenance window. This was also included in any CloudWatch events raised
28096	// during the task invocation.
28097	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
28098
28099	// The parameters that were provided for the invocation when it was run.
28100	Parameters *string `type:"string" sensitive:"true"`
28101
28102	// The time the invocation started.
28103	StartTime *time.Time `type:"timestamp"`
28104
28105	// The status of the task invocation.
28106	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
28107
28108	// The details explaining the status of the task invocation. Only available
28109	// for certain Status values.
28110	StatusDetails *string `type:"string"`
28111
28112	// The ID of the specific task execution in the maintenance window execution.
28113	TaskExecutionId *string `min:"36" type:"string"`
28114
28115	// The task type.
28116	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
28117
28118	// The ID of the maintenance window execution that ran the task.
28119	WindowExecutionId *string `min:"36" type:"string"`
28120
28121	// The ID of the target definition in this maintenance window the invocation
28122	// was performed for.
28123	WindowTargetId *string `type:"string"`
28124}
28125
28126// String returns the string representation
28127func (s MaintenanceWindowExecutionTaskInvocationIdentity) String() string {
28128	return awsutil.Prettify(s)
28129}
28130
28131// GoString returns the string representation
28132func (s MaintenanceWindowExecutionTaskInvocationIdentity) GoString() string {
28133	return s.String()
28134}
28135
28136// SetEndTime sets the EndTime field's value.
28137func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
28138	s.EndTime = &v
28139	return s
28140}
28141
28142// SetExecutionId sets the ExecutionId field's value.
28143func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28144	s.ExecutionId = &v
28145	return s
28146}
28147
28148// SetInvocationId sets the InvocationId field's value.
28149func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetInvocationId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28150	s.InvocationId = &v
28151	return s
28152}
28153
28154// SetOwnerInformation sets the OwnerInformation field's value.
28155func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetOwnerInformation(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28156	s.OwnerInformation = &v
28157	return s
28158}
28159
28160// SetParameters sets the Parameters field's value.
28161func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetParameters(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28162	s.Parameters = &v
28163	return s
28164}
28165
28166// SetStartTime sets the StartTime field's value.
28167func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
28168	s.StartTime = &v
28169	return s
28170}
28171
28172// SetStatus sets the Status field's value.
28173func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28174	s.Status = &v
28175	return s
28176}
28177
28178// SetStatusDetails sets the StatusDetails field's value.
28179func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28180	s.StatusDetails = &v
28181	return s
28182}
28183
28184// SetTaskExecutionId sets the TaskExecutionId field's value.
28185func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28186	s.TaskExecutionId = &v
28187	return s
28188}
28189
28190// SetTaskType sets the TaskType field's value.
28191func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28192	s.TaskType = &v
28193	return s
28194}
28195
28196// SetWindowExecutionId sets the WindowExecutionId field's value.
28197func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28198	s.WindowExecutionId = &v
28199	return s
28200}
28201
28202// SetWindowTargetId sets the WindowTargetId field's value.
28203func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowTargetId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28204	s.WindowTargetId = &v
28205	return s
28206}
28207
28208// Filter used in the request. Supported filter keys are Name and Enabled.
28209type MaintenanceWindowFilter struct {
28210	_ struct{} `type:"structure"`
28211
28212	// The name of the filter.
28213	Key *string `min:"1" type:"string"`
28214
28215	// The filter values.
28216	Values []*string `type:"list"`
28217}
28218
28219// String returns the string representation
28220func (s MaintenanceWindowFilter) String() string {
28221	return awsutil.Prettify(s)
28222}
28223
28224// GoString returns the string representation
28225func (s MaintenanceWindowFilter) GoString() string {
28226	return s.String()
28227}
28228
28229// Validate inspects the fields of the type to determine if they are valid.
28230func (s *MaintenanceWindowFilter) Validate() error {
28231	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowFilter"}
28232	if s.Key != nil && len(*s.Key) < 1 {
28233		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
28234	}
28235
28236	if invalidParams.Len() > 0 {
28237		return invalidParams
28238	}
28239	return nil
28240}
28241
28242// SetKey sets the Key field's value.
28243func (s *MaintenanceWindowFilter) SetKey(v string) *MaintenanceWindowFilter {
28244	s.Key = &v
28245	return s
28246}
28247
28248// SetValues sets the Values field's value.
28249func (s *MaintenanceWindowFilter) SetValues(v []*string) *MaintenanceWindowFilter {
28250	s.Values = v
28251	return s
28252}
28253
28254// Information about the maintenance window.
28255type MaintenanceWindowIdentity struct {
28256	_ struct{} `type:"structure"`
28257
28258	// The number of hours before the end of the maintenance window that Systems
28259	// Manager stops scheduling new tasks for execution.
28260	Cutoff *int64 `type:"integer"`
28261
28262	// A description of the maintenance window.
28263	Description *string `min:"1" type:"string" sensitive:"true"`
28264
28265	// The duration of the maintenance window in hours.
28266	Duration *int64 `min:"1" type:"integer"`
28267
28268	// Indicates whether the maintenance window is enabled.
28269	Enabled *bool `type:"boolean"`
28270
28271	// The date and time, in ISO-8601 Extended format, for when the maintenance
28272	// window is scheduled to become inactive.
28273	EndDate *string `type:"string"`
28274
28275	// The name of the maintenance window.
28276	Name *string `min:"3" type:"string"`
28277
28278	// The next time the maintenance window will actually run, taking into account
28279	// any specified times for the maintenance window to become active or inactive.
28280	NextExecutionTime *string `type:"string"`
28281
28282	// The schedule of the maintenance window in the form of a cron or rate expression.
28283	Schedule *string `min:"1" type:"string"`
28284
28285	// The time zone that the scheduled maintenance window executions are based
28286	// on, in Internet Assigned Numbers Authority (IANA) format.
28287	ScheduleTimezone *string `type:"string"`
28288
28289	// The date and time, in ISO-8601 Extended format, for when the maintenance
28290	// window is scheduled to become active.
28291	StartDate *string `type:"string"`
28292
28293	// The ID of the maintenance window.
28294	WindowId *string `min:"20" type:"string"`
28295}
28296
28297// String returns the string representation
28298func (s MaintenanceWindowIdentity) String() string {
28299	return awsutil.Prettify(s)
28300}
28301
28302// GoString returns the string representation
28303func (s MaintenanceWindowIdentity) GoString() string {
28304	return s.String()
28305}
28306
28307// SetCutoff sets the Cutoff field's value.
28308func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentity {
28309	s.Cutoff = &v
28310	return s
28311}
28312
28313// SetDescription sets the Description field's value.
28314func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity {
28315	s.Description = &v
28316	return s
28317}
28318
28319// SetDuration sets the Duration field's value.
28320func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity {
28321	s.Duration = &v
28322	return s
28323}
28324
28325// SetEnabled sets the Enabled field's value.
28326func (s *MaintenanceWindowIdentity) SetEnabled(v bool) *MaintenanceWindowIdentity {
28327	s.Enabled = &v
28328	return s
28329}
28330
28331// SetEndDate sets the EndDate field's value.
28332func (s *MaintenanceWindowIdentity) SetEndDate(v string) *MaintenanceWindowIdentity {
28333	s.EndDate = &v
28334	return s
28335}
28336
28337// SetName sets the Name field's value.
28338func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity {
28339	s.Name = &v
28340	return s
28341}
28342
28343// SetNextExecutionTime sets the NextExecutionTime field's value.
28344func (s *MaintenanceWindowIdentity) SetNextExecutionTime(v string) *MaintenanceWindowIdentity {
28345	s.NextExecutionTime = &v
28346	return s
28347}
28348
28349// SetSchedule sets the Schedule field's value.
28350func (s *MaintenanceWindowIdentity) SetSchedule(v string) *MaintenanceWindowIdentity {
28351	s.Schedule = &v
28352	return s
28353}
28354
28355// SetScheduleTimezone sets the ScheduleTimezone field's value.
28356func (s *MaintenanceWindowIdentity) SetScheduleTimezone(v string) *MaintenanceWindowIdentity {
28357	s.ScheduleTimezone = &v
28358	return s
28359}
28360
28361// SetStartDate sets the StartDate field's value.
28362func (s *MaintenanceWindowIdentity) SetStartDate(v string) *MaintenanceWindowIdentity {
28363	s.StartDate = &v
28364	return s
28365}
28366
28367// SetWindowId sets the WindowId field's value.
28368func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity {
28369	s.WindowId = &v
28370	return s
28371}
28372
28373// The maintenance window to which the specified target belongs.
28374type MaintenanceWindowIdentityForTarget struct {
28375	_ struct{} `type:"structure"`
28376
28377	// The name of the maintenance window.
28378	Name *string `min:"3" type:"string"`
28379
28380	// The ID of the maintenance window.
28381	WindowId *string `min:"20" type:"string"`
28382}
28383
28384// String returns the string representation
28385func (s MaintenanceWindowIdentityForTarget) String() string {
28386	return awsutil.Prettify(s)
28387}
28388
28389// GoString returns the string representation
28390func (s MaintenanceWindowIdentityForTarget) GoString() string {
28391	return s.String()
28392}
28393
28394// SetName sets the Name field's value.
28395func (s *MaintenanceWindowIdentityForTarget) SetName(v string) *MaintenanceWindowIdentityForTarget {
28396	s.Name = &v
28397	return s
28398}
28399
28400// SetWindowId sets the WindowId field's value.
28401func (s *MaintenanceWindowIdentityForTarget) SetWindowId(v string) *MaintenanceWindowIdentityForTarget {
28402	s.WindowId = &v
28403	return s
28404}
28405
28406// The parameters for a LAMBDA task type.
28407//
28408// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28409// and UpdateMaintenanceWindowTask.
28410//
28411// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28412// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28413// structure. For information about how Systems Manager handles these options
28414// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28415//
28416// TaskParameters has been deprecated. To specify parameters to pass to a task
28417// when it runs, instead use the Parameters option in the TaskInvocationParameters
28418// structure. For information about how Systems Manager handles these options
28419// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28420//
28421// For Lambda tasks, Systems Manager ignores any values specified for TaskParameters
28422// and LoggingInfo.
28423type MaintenanceWindowLambdaParameters struct {
28424	_ struct{} `type:"structure"`
28425
28426	// Pass client-specific information to the Lambda function that you are invoking.
28427	// You can then process the client information in your Lambda function as you
28428	// choose through the context variable.
28429	ClientContext *string `min:"1" type:"string"`
28430
28431	// JSON to provide to your Lambda function as input.
28432	//
28433	// Payload is automatically base64 encoded/decoded by the SDK.
28434	Payload []byte `type:"blob" sensitive:"true"`
28435
28436	// (Optional) Specify a Lambda function version or alias name. If you specify
28437	// a function version, the action uses the qualified function ARN to invoke
28438	// a specific Lambda function. If you specify an alias name, the action uses
28439	// the alias ARN to invoke the Lambda function version to which the alias points.
28440	Qualifier *string `min:"1" type:"string"`
28441}
28442
28443// String returns the string representation
28444func (s MaintenanceWindowLambdaParameters) String() string {
28445	return awsutil.Prettify(s)
28446}
28447
28448// GoString returns the string representation
28449func (s MaintenanceWindowLambdaParameters) GoString() string {
28450	return s.String()
28451}
28452
28453// Validate inspects the fields of the type to determine if they are valid.
28454func (s *MaintenanceWindowLambdaParameters) Validate() error {
28455	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"}
28456	if s.ClientContext != nil && len(*s.ClientContext) < 1 {
28457		invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1))
28458	}
28459	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
28460		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
28461	}
28462
28463	if invalidParams.Len() > 0 {
28464		return invalidParams
28465	}
28466	return nil
28467}
28468
28469// SetClientContext sets the ClientContext field's value.
28470func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters {
28471	s.ClientContext = &v
28472	return s
28473}
28474
28475// SetPayload sets the Payload field's value.
28476func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters {
28477	s.Payload = v
28478	return s
28479}
28480
28481// SetQualifier sets the Qualifier field's value.
28482func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters {
28483	s.Qualifier = &v
28484	return s
28485}
28486
28487// The parameters for a RUN_COMMAND task type.
28488//
28489// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28490// and UpdateMaintenanceWindowTask.
28491//
28492// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28493// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28494// structure. For information about how Systems Manager handles these options
28495// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28496//
28497// TaskParameters has been deprecated. To specify parameters to pass to a task
28498// when it runs, instead use the Parameters option in the TaskInvocationParameters
28499// structure. For information about how Systems Manager handles these options
28500// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28501//
28502// For Run Command tasks, Systems Manager uses specified values for TaskParameters
28503// and LoggingInfo only if no values are specified for TaskInvocationParameters.
28504type MaintenanceWindowRunCommandParameters struct {
28505	_ struct{} `type:"structure"`
28506
28507	// Information about the commands to run.
28508	Comment *string `type:"string"`
28509
28510	// The SHA-256 or SHA-1 hash created by the system when the document was created.
28511	// SHA-1 hashes have been deprecated.
28512	DocumentHash *string `type:"string"`
28513
28514	// SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
28515	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
28516
28517	// Configurations for sending notifications about command status changes on
28518	// a per-instance basis.
28519	NotificationConfig *NotificationConfig `type:"structure"`
28520
28521	// The name of the Amazon S3 bucket.
28522	OutputS3BucketName *string `min:"3" type:"string"`
28523
28524	// The Amazon S3 bucket subfolder.
28525	OutputS3KeyPrefix *string `type:"string"`
28526
28527	// The parameters for the RUN_COMMAND task execution.
28528	Parameters map[string][]*string `type:"map"`
28529
28530	// The ARN of the IAM service role to use to publish Amazon Simple Notification
28531	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
28532	ServiceRoleArn *string `type:"string"`
28533
28534	// If this time is reached and the command has not already started running,
28535	// it doesn't run.
28536	TimeoutSeconds *int64 `min:"30" type:"integer"`
28537}
28538
28539// String returns the string representation
28540func (s MaintenanceWindowRunCommandParameters) String() string {
28541	return awsutil.Prettify(s)
28542}
28543
28544// GoString returns the string representation
28545func (s MaintenanceWindowRunCommandParameters) GoString() string {
28546	return s.String()
28547}
28548
28549// Validate inspects the fields of the type to determine if they are valid.
28550func (s *MaintenanceWindowRunCommandParameters) Validate() error {
28551	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"}
28552	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
28553		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
28554	}
28555	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
28556		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
28557	}
28558
28559	if invalidParams.Len() > 0 {
28560		return invalidParams
28561	}
28562	return nil
28563}
28564
28565// SetComment sets the Comment field's value.
28566func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters {
28567	s.Comment = &v
28568	return s
28569}
28570
28571// SetDocumentHash sets the DocumentHash field's value.
28572func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters {
28573	s.DocumentHash = &v
28574	return s
28575}
28576
28577// SetDocumentHashType sets the DocumentHashType field's value.
28578func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters {
28579	s.DocumentHashType = &v
28580	return s
28581}
28582
28583// SetNotificationConfig sets the NotificationConfig field's value.
28584func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters {
28585	s.NotificationConfig = v
28586	return s
28587}
28588
28589// SetOutputS3BucketName sets the OutputS3BucketName field's value.
28590func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters {
28591	s.OutputS3BucketName = &v
28592	return s
28593}
28594
28595// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
28596func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters {
28597	s.OutputS3KeyPrefix = &v
28598	return s
28599}
28600
28601// SetParameters sets the Parameters field's value.
28602func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters {
28603	s.Parameters = v
28604	return s
28605}
28606
28607// SetServiceRoleArn sets the ServiceRoleArn field's value.
28608func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters {
28609	s.ServiceRoleArn = &v
28610	return s
28611}
28612
28613// SetTimeoutSeconds sets the TimeoutSeconds field's value.
28614func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters {
28615	s.TimeoutSeconds = &v
28616	return s
28617}
28618
28619// The parameters for a STEP_FUNCTIONS task.
28620//
28621// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28622// and UpdateMaintenanceWindowTask.
28623//
28624// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28625// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28626// structure. For information about how Systems Manager handles these options
28627// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28628//
28629// TaskParameters has been deprecated. To specify parameters to pass to a task
28630// when it runs, instead use the Parameters option in the TaskInvocationParameters
28631// structure. For information about how Systems Manager handles these options
28632// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28633//
28634// For Step Functions tasks, Systems Manager ignores any values specified for
28635// TaskParameters and LoggingInfo.
28636type MaintenanceWindowStepFunctionsParameters struct {
28637	_ struct{} `type:"structure"`
28638
28639	// The inputs for the STEP_FUNCTIONS task.
28640	Input *string `type:"string" sensitive:"true"`
28641
28642	// The name of the STEP_FUNCTIONS task.
28643	Name *string `min:"1" type:"string"`
28644}
28645
28646// String returns the string representation
28647func (s MaintenanceWindowStepFunctionsParameters) String() string {
28648	return awsutil.Prettify(s)
28649}
28650
28651// GoString returns the string representation
28652func (s MaintenanceWindowStepFunctionsParameters) GoString() string {
28653	return s.String()
28654}
28655
28656// Validate inspects the fields of the type to determine if they are valid.
28657func (s *MaintenanceWindowStepFunctionsParameters) Validate() error {
28658	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"}
28659	if s.Name != nil && len(*s.Name) < 1 {
28660		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
28661	}
28662
28663	if invalidParams.Len() > 0 {
28664		return invalidParams
28665	}
28666	return nil
28667}
28668
28669// SetInput sets the Input field's value.
28670func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters {
28671	s.Input = &v
28672	return s
28673}
28674
28675// SetName sets the Name field's value.
28676func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters {
28677	s.Name = &v
28678	return s
28679}
28680
28681// The target registered with the maintenance window.
28682type MaintenanceWindowTarget struct {
28683	_ struct{} `type:"structure"`
28684
28685	// A description for the target.
28686	Description *string `min:"1" type:"string" sensitive:"true"`
28687
28688	// The name for the maintenance window target.
28689	Name *string `min:"3" type:"string"`
28690
28691	// A user-provided value that will be included in any CloudWatch events that
28692	// are raised while running tasks for these targets in this maintenance window.
28693	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
28694
28695	// The type of target that is being registered with the maintenance window.
28696	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
28697
28698	// The targets, either instances or tags.
28699	//
28700	// Specify instances using the following format:
28701	//
28702	// Key=instanceids,Values=<instanceid1>,<instanceid2>
28703	//
28704	// Tags are specified using the following format:
28705	//
28706	// Key=<tag name>,Values=<tag value>.
28707	Targets []*Target `type:"list"`
28708
28709	// The ID of the maintenance window to register the target with.
28710	WindowId *string `min:"20" type:"string"`
28711
28712	// The ID of the target.
28713	WindowTargetId *string `min:"36" type:"string"`
28714}
28715
28716// String returns the string representation
28717func (s MaintenanceWindowTarget) String() string {
28718	return awsutil.Prettify(s)
28719}
28720
28721// GoString returns the string representation
28722func (s MaintenanceWindowTarget) GoString() string {
28723	return s.String()
28724}
28725
28726// SetDescription sets the Description field's value.
28727func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget {
28728	s.Description = &v
28729	return s
28730}
28731
28732// SetName sets the Name field's value.
28733func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget {
28734	s.Name = &v
28735	return s
28736}
28737
28738// SetOwnerInformation sets the OwnerInformation field's value.
28739func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget {
28740	s.OwnerInformation = &v
28741	return s
28742}
28743
28744// SetResourceType sets the ResourceType field's value.
28745func (s *MaintenanceWindowTarget) SetResourceType(v string) *MaintenanceWindowTarget {
28746	s.ResourceType = &v
28747	return s
28748}
28749
28750// SetTargets sets the Targets field's value.
28751func (s *MaintenanceWindowTarget) SetTargets(v []*Target) *MaintenanceWindowTarget {
28752	s.Targets = v
28753	return s
28754}
28755
28756// SetWindowId sets the WindowId field's value.
28757func (s *MaintenanceWindowTarget) SetWindowId(v string) *MaintenanceWindowTarget {
28758	s.WindowId = &v
28759	return s
28760}
28761
28762// SetWindowTargetId sets the WindowTargetId field's value.
28763func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindowTarget {
28764	s.WindowTargetId = &v
28765	return s
28766}
28767
28768// Information about a task defined for a maintenance window.
28769type MaintenanceWindowTask struct {
28770	_ struct{} `type:"structure"`
28771
28772	// A description of the task.
28773	Description *string `min:"1" type:"string" sensitive:"true"`
28774
28775	// Information about an Amazon S3 bucket to write task-level logs to.
28776	//
28777	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28778	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28779	// structure. For information about how Systems Manager handles these options
28780	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28781	LoggingInfo *LoggingInfo `type:"structure"`
28782
28783	// The maximum number of targets this task can be run for, in parallel.
28784	MaxConcurrency *string `min:"1" type:"string"`
28785
28786	// The maximum number of errors allowed before this task stops being scheduled.
28787	MaxErrors *string `min:"1" type:"string"`
28788
28789	// The task name.
28790	Name *string `min:"3" type:"string"`
28791
28792	// The priority of the task in the maintenance window. The lower the number,
28793	// the higher the priority. Tasks that have the same priority are scheduled
28794	// in parallel.
28795	Priority *int64 `type:"integer"`
28796
28797	// The ARN of the IAM service role to use to publish Amazon Simple Notification
28798	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
28799	ServiceRoleArn *string `type:"string"`
28800
28801	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
28802	// Tags are specified using Key=<tag name>,Values=<tag value>.
28803	Targets []*Target `type:"list"`
28804
28805	// The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION
28806	// task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA
28807	// tasks, it's the function name or ARN. For STEP_FUNCTIONS tasks, it's the
28808	// state machine ARN.
28809	TaskArn *string `min:"1" type:"string"`
28810
28811	// The parameters that should be passed to the task when it is run.
28812	//
28813	// TaskParameters has been deprecated. To specify parameters to pass to a task
28814	// when it runs, instead use the Parameters option in the TaskInvocationParameters
28815	// structure. For information about how Systems Manager handles these options
28816	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28817	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
28818
28819	// The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION,
28820	// LAMBDA, or STEP_FUNCTIONS.
28821	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
28822
28823	// The ID of the maintenance window where the task is registered.
28824	WindowId *string `min:"20" type:"string"`
28825
28826	// The task ID.
28827	WindowTaskId *string `min:"36" type:"string"`
28828}
28829
28830// String returns the string representation
28831func (s MaintenanceWindowTask) String() string {
28832	return awsutil.Prettify(s)
28833}
28834
28835// GoString returns the string representation
28836func (s MaintenanceWindowTask) GoString() string {
28837	return s.String()
28838}
28839
28840// SetDescription sets the Description field's value.
28841func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask {
28842	s.Description = &v
28843	return s
28844}
28845
28846// SetLoggingInfo sets the LoggingInfo field's value.
28847func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask {
28848	s.LoggingInfo = v
28849	return s
28850}
28851
28852// SetMaxConcurrency sets the MaxConcurrency field's value.
28853func (s *MaintenanceWindowTask) SetMaxConcurrency(v string) *MaintenanceWindowTask {
28854	s.MaxConcurrency = &v
28855	return s
28856}
28857
28858// SetMaxErrors sets the MaxErrors field's value.
28859func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask {
28860	s.MaxErrors = &v
28861	return s
28862}
28863
28864// SetName sets the Name field's value.
28865func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask {
28866	s.Name = &v
28867	return s
28868}
28869
28870// SetPriority sets the Priority field's value.
28871func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask {
28872	s.Priority = &v
28873	return s
28874}
28875
28876// SetServiceRoleArn sets the ServiceRoleArn field's value.
28877func (s *MaintenanceWindowTask) SetServiceRoleArn(v string) *MaintenanceWindowTask {
28878	s.ServiceRoleArn = &v
28879	return s
28880}
28881
28882// SetTargets sets the Targets field's value.
28883func (s *MaintenanceWindowTask) SetTargets(v []*Target) *MaintenanceWindowTask {
28884	s.Targets = v
28885	return s
28886}
28887
28888// SetTaskArn sets the TaskArn field's value.
28889func (s *MaintenanceWindowTask) SetTaskArn(v string) *MaintenanceWindowTask {
28890	s.TaskArn = &v
28891	return s
28892}
28893
28894// SetTaskParameters sets the TaskParameters field's value.
28895func (s *MaintenanceWindowTask) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *MaintenanceWindowTask {
28896	s.TaskParameters = v
28897	return s
28898}
28899
28900// SetType sets the Type field's value.
28901func (s *MaintenanceWindowTask) SetType(v string) *MaintenanceWindowTask {
28902	s.Type = &v
28903	return s
28904}
28905
28906// SetWindowId sets the WindowId field's value.
28907func (s *MaintenanceWindowTask) SetWindowId(v string) *MaintenanceWindowTask {
28908	s.WindowId = &v
28909	return s
28910}
28911
28912// SetWindowTaskId sets the WindowTaskId field's value.
28913func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask {
28914	s.WindowTaskId = &v
28915	return s
28916}
28917
28918// The parameters for task execution.
28919type MaintenanceWindowTaskInvocationParameters struct {
28920	_ struct{} `type:"structure"`
28921
28922	// The parameters for an AUTOMATION task type.
28923	Automation *MaintenanceWindowAutomationParameters `type:"structure"`
28924
28925	// The parameters for a LAMBDA task type.
28926	Lambda *MaintenanceWindowLambdaParameters `type:"structure"`
28927
28928	// The parameters for a RUN_COMMAND task type.
28929	RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"`
28930
28931	// The parameters for a STEP_FUNCTIONS task type.
28932	StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"`
28933}
28934
28935// String returns the string representation
28936func (s MaintenanceWindowTaskInvocationParameters) String() string {
28937	return awsutil.Prettify(s)
28938}
28939
28940// GoString returns the string representation
28941func (s MaintenanceWindowTaskInvocationParameters) GoString() string {
28942	return s.String()
28943}
28944
28945// Validate inspects the fields of the type to determine if they are valid.
28946func (s *MaintenanceWindowTaskInvocationParameters) Validate() error {
28947	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"}
28948	if s.Automation != nil {
28949		if err := s.Automation.Validate(); err != nil {
28950			invalidParams.AddNested("Automation", err.(request.ErrInvalidParams))
28951		}
28952	}
28953	if s.Lambda != nil {
28954		if err := s.Lambda.Validate(); err != nil {
28955			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
28956		}
28957	}
28958	if s.RunCommand != nil {
28959		if err := s.RunCommand.Validate(); err != nil {
28960			invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams))
28961		}
28962	}
28963	if s.StepFunctions != nil {
28964		if err := s.StepFunctions.Validate(); err != nil {
28965			invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams))
28966		}
28967	}
28968
28969	if invalidParams.Len() > 0 {
28970		return invalidParams
28971	}
28972	return nil
28973}
28974
28975// SetAutomation sets the Automation field's value.
28976func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters {
28977	s.Automation = v
28978	return s
28979}
28980
28981// SetLambda sets the Lambda field's value.
28982func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters {
28983	s.Lambda = v
28984	return s
28985}
28986
28987// SetRunCommand sets the RunCommand field's value.
28988func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters {
28989	s.RunCommand = v
28990	return s
28991}
28992
28993// SetStepFunctions sets the StepFunctions field's value.
28994func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters {
28995	s.StepFunctions = v
28996	return s
28997}
28998
28999// Defines the values for a task parameter.
29000type MaintenanceWindowTaskParameterValueExpression struct {
29001	_ struct{} `type:"structure" sensitive:"true"`
29002
29003	// This field contains an array of 0 or more strings, each 1 to 255 characters
29004	// in length.
29005	Values []*string `type:"list" sensitive:"true"`
29006}
29007
29008// String returns the string representation
29009func (s MaintenanceWindowTaskParameterValueExpression) String() string {
29010	return awsutil.Prettify(s)
29011}
29012
29013// GoString returns the string representation
29014func (s MaintenanceWindowTaskParameterValueExpression) GoString() string {
29015	return s.String()
29016}
29017
29018// SetValues sets the Values field's value.
29019func (s *MaintenanceWindowTaskParameterValueExpression) SetValues(v []*string) *MaintenanceWindowTaskParameterValueExpression {
29020	s.Values = v
29021	return s
29022}
29023
29024type ModifyDocumentPermissionInput struct {
29025	_ struct{} `type:"structure"`
29026
29027	// The AWS user accounts that should have access to the document. The account
29028	// IDs can either be a group of account IDs or All.
29029	AccountIdsToAdd []*string `type:"list"`
29030
29031	// The AWS user accounts that should no longer have access to the document.
29032	// The AWS user account can either be a group of account IDs or All. This action
29033	// has a higher priority than AccountIdsToAdd. If you specify an account ID
29034	// to add and the same ID to remove, the system removes access to the document.
29035	AccountIdsToRemove []*string `type:"list"`
29036
29037	// The name of the document that you want to share.
29038	//
29039	// Name is a required field
29040	Name *string `type:"string" required:"true"`
29041
29042	// The permission type for the document. The permission type can be Share.
29043	//
29044	// PermissionType is a required field
29045	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
29046}
29047
29048// String returns the string representation
29049func (s ModifyDocumentPermissionInput) String() string {
29050	return awsutil.Prettify(s)
29051}
29052
29053// GoString returns the string representation
29054func (s ModifyDocumentPermissionInput) GoString() string {
29055	return s.String()
29056}
29057
29058// Validate inspects the fields of the type to determine if they are valid.
29059func (s *ModifyDocumentPermissionInput) Validate() error {
29060	invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"}
29061	if s.Name == nil {
29062		invalidParams.Add(request.NewErrParamRequired("Name"))
29063	}
29064	if s.PermissionType == nil {
29065		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
29066	}
29067
29068	if invalidParams.Len() > 0 {
29069		return invalidParams
29070	}
29071	return nil
29072}
29073
29074// SetAccountIdsToAdd sets the AccountIdsToAdd field's value.
29075func (s *ModifyDocumentPermissionInput) SetAccountIdsToAdd(v []*string) *ModifyDocumentPermissionInput {
29076	s.AccountIdsToAdd = v
29077	return s
29078}
29079
29080// SetAccountIdsToRemove sets the AccountIdsToRemove field's value.
29081func (s *ModifyDocumentPermissionInput) SetAccountIdsToRemove(v []*string) *ModifyDocumentPermissionInput {
29082	s.AccountIdsToRemove = v
29083	return s
29084}
29085
29086// SetName sets the Name field's value.
29087func (s *ModifyDocumentPermissionInput) SetName(v string) *ModifyDocumentPermissionInput {
29088	s.Name = &v
29089	return s
29090}
29091
29092// SetPermissionType sets the PermissionType field's value.
29093func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocumentPermissionInput {
29094	s.PermissionType = &v
29095	return s
29096}
29097
29098type ModifyDocumentPermissionOutput struct {
29099	_ struct{} `type:"structure"`
29100}
29101
29102// String returns the string representation
29103func (s ModifyDocumentPermissionOutput) String() string {
29104	return awsutil.Prettify(s)
29105}
29106
29107// GoString returns the string representation
29108func (s ModifyDocumentPermissionOutput) GoString() string {
29109	return s.String()
29110}
29111
29112// A summary of resources that are not compliant. The summary is organized according
29113// to resource type.
29114type NonCompliantSummary struct {
29115	_ struct{} `type:"structure"`
29116
29117	// The total number of compliance items that are not compliant.
29118	NonCompliantCount *int64 `type:"integer"`
29119
29120	// A summary of the non-compliance severity by compliance type
29121	SeveritySummary *SeveritySummary `type:"structure"`
29122}
29123
29124// String returns the string representation
29125func (s NonCompliantSummary) String() string {
29126	return awsutil.Prettify(s)
29127}
29128
29129// GoString returns the string representation
29130func (s NonCompliantSummary) GoString() string {
29131	return s.String()
29132}
29133
29134// SetNonCompliantCount sets the NonCompliantCount field's value.
29135func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary {
29136	s.NonCompliantCount = &v
29137	return s
29138}
29139
29140// SetSeveritySummary sets the SeveritySummary field's value.
29141func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary {
29142	s.SeveritySummary = v
29143	return s
29144}
29145
29146// Configurations for sending notifications.
29147type NotificationConfig struct {
29148	_ struct{} `type:"structure"`
29149
29150	// An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon
29151	// SNS) topic. Run Command pushes notifications about command status changes
29152	// to this topic.
29153	NotificationArn *string `type:"string"`
29154
29155	// The different events for which you can receive notifications. These events
29156	// include the following: All (events), InProgress, Success, TimedOut, Cancelled,
29157	// Failed. To learn more about these events, see Configuring Amazon SNS Notifications
29158	// for AWS Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html)
29159	// in the AWS Systems Manager User Guide.
29160	NotificationEvents []*string `type:"list"`
29161
29162	// Command: Receive notification when the status of a command changes. Invocation:
29163	// For commands sent to multiple instances, receive notification on a per-instance
29164	// basis when the status of a command changes.
29165	NotificationType *string `type:"string" enum:"NotificationType"`
29166}
29167
29168// String returns the string representation
29169func (s NotificationConfig) String() string {
29170	return awsutil.Prettify(s)
29171}
29172
29173// GoString returns the string representation
29174func (s NotificationConfig) GoString() string {
29175	return s.String()
29176}
29177
29178// SetNotificationArn sets the NotificationArn field's value.
29179func (s *NotificationConfig) SetNotificationArn(v string) *NotificationConfig {
29180	s.NotificationArn = &v
29181	return s
29182}
29183
29184// SetNotificationEvents sets the NotificationEvents field's value.
29185func (s *NotificationConfig) SetNotificationEvents(v []*string) *NotificationConfig {
29186	s.NotificationEvents = v
29187	return s
29188}
29189
29190// SetNotificationType sets the NotificationType field's value.
29191func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig {
29192	s.NotificationType = &v
29193	return s
29194}
29195
29196// One or more aggregators for viewing counts of OpsItems using different dimensions
29197// such as Source, CreatedTime, or Source and CreatedTime, to name a few.
29198type OpsAggregator struct {
29199	_ struct{} `type:"structure"`
29200
29201	// Either a Range or Count aggregator for limiting an OpsItem summary.
29202	AggregatorType *string `min:"1" type:"string"`
29203
29204	// A nested aggregator for viewing counts of OpsItems.
29205	Aggregators []*OpsAggregator `min:"1" type:"list"`
29206
29207	// The name of an OpsItem attribute on which to limit the count of OpsItems.
29208	AttributeName *string `type:"string"`
29209
29210	// The aggregator filters.
29211	Filters []*OpsFilter `min:"1" type:"list"`
29212
29213	// The data type name to use for viewing counts of OpsItems.
29214	TypeName *string `min:"1" type:"string"`
29215
29216	// The aggregator value.
29217	Values map[string]*string `type:"map"`
29218}
29219
29220// String returns the string representation
29221func (s OpsAggregator) String() string {
29222	return awsutil.Prettify(s)
29223}
29224
29225// GoString returns the string representation
29226func (s OpsAggregator) GoString() string {
29227	return s.String()
29228}
29229
29230// Validate inspects the fields of the type to determine if they are valid.
29231func (s *OpsAggregator) Validate() error {
29232	invalidParams := request.ErrInvalidParams{Context: "OpsAggregator"}
29233	if s.AggregatorType != nil && len(*s.AggregatorType) < 1 {
29234		invalidParams.Add(request.NewErrParamMinLen("AggregatorType", 1))
29235	}
29236	if s.Aggregators != nil && len(s.Aggregators) < 1 {
29237		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
29238	}
29239	if s.Filters != nil && len(s.Filters) < 1 {
29240		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
29241	}
29242	if s.TypeName != nil && len(*s.TypeName) < 1 {
29243		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
29244	}
29245	if s.Aggregators != nil {
29246		for i, v := range s.Aggregators {
29247			if v == nil {
29248				continue
29249			}
29250			if err := v.Validate(); err != nil {
29251				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
29252			}
29253		}
29254	}
29255	if s.Filters != nil {
29256		for i, v := range s.Filters {
29257			if v == nil {
29258				continue
29259			}
29260			if err := v.Validate(); err != nil {
29261				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29262			}
29263		}
29264	}
29265
29266	if invalidParams.Len() > 0 {
29267		return invalidParams
29268	}
29269	return nil
29270}
29271
29272// SetAggregatorType sets the AggregatorType field's value.
29273func (s *OpsAggregator) SetAggregatorType(v string) *OpsAggregator {
29274	s.AggregatorType = &v
29275	return s
29276}
29277
29278// SetAggregators sets the Aggregators field's value.
29279func (s *OpsAggregator) SetAggregators(v []*OpsAggregator) *OpsAggregator {
29280	s.Aggregators = v
29281	return s
29282}
29283
29284// SetAttributeName sets the AttributeName field's value.
29285func (s *OpsAggregator) SetAttributeName(v string) *OpsAggregator {
29286	s.AttributeName = &v
29287	return s
29288}
29289
29290// SetFilters sets the Filters field's value.
29291func (s *OpsAggregator) SetFilters(v []*OpsFilter) *OpsAggregator {
29292	s.Filters = v
29293	return s
29294}
29295
29296// SetTypeName sets the TypeName field's value.
29297func (s *OpsAggregator) SetTypeName(v string) *OpsAggregator {
29298	s.TypeName = &v
29299	return s
29300}
29301
29302// SetValues sets the Values field's value.
29303func (s *OpsAggregator) SetValues(v map[string]*string) *OpsAggregator {
29304	s.Values = v
29305	return s
29306}
29307
29308// The result of the query.
29309type OpsEntity struct {
29310	_ struct{} `type:"structure"`
29311
29312	// The data returned by the query.
29313	Data map[string]*OpsEntityItem `type:"map"`
29314
29315	// The query ID.
29316	Id *string `type:"string"`
29317}
29318
29319// String returns the string representation
29320func (s OpsEntity) String() string {
29321	return awsutil.Prettify(s)
29322}
29323
29324// GoString returns the string representation
29325func (s OpsEntity) GoString() string {
29326	return s.String()
29327}
29328
29329// SetData sets the Data field's value.
29330func (s *OpsEntity) SetData(v map[string]*OpsEntityItem) *OpsEntity {
29331	s.Data = v
29332	return s
29333}
29334
29335// SetId sets the Id field's value.
29336func (s *OpsEntity) SetId(v string) *OpsEntity {
29337	s.Id = &v
29338	return s
29339}
29340
29341// The OpsItem summaries result item.
29342type OpsEntityItem struct {
29343	_ struct{} `type:"structure"`
29344
29345	// The detailed data content for an OpsItem summaries result item.
29346	Content []map[string]*string `type:"list"`
29347}
29348
29349// String returns the string representation
29350func (s OpsEntityItem) String() string {
29351	return awsutil.Prettify(s)
29352}
29353
29354// GoString returns the string representation
29355func (s OpsEntityItem) GoString() string {
29356	return s.String()
29357}
29358
29359// SetContent sets the Content field's value.
29360func (s *OpsEntityItem) SetContent(v []map[string]*string) *OpsEntityItem {
29361	s.Content = v
29362	return s
29363}
29364
29365// A filter for viewing OpsItem summaries.
29366type OpsFilter struct {
29367	_ struct{} `type:"structure"`
29368
29369	// The name of the filter.
29370	//
29371	// Key is a required field
29372	Key *string `min:"1" type:"string" required:"true"`
29373
29374	// The type of filter.
29375	Type *string `type:"string" enum:"OpsFilterOperatorType"`
29376
29377	// The filter value.
29378	//
29379	// Values is a required field
29380	Values []*string `min:"1" type:"list" required:"true"`
29381}
29382
29383// String returns the string representation
29384func (s OpsFilter) String() string {
29385	return awsutil.Prettify(s)
29386}
29387
29388// GoString returns the string representation
29389func (s OpsFilter) GoString() string {
29390	return s.String()
29391}
29392
29393// Validate inspects the fields of the type to determine if they are valid.
29394func (s *OpsFilter) Validate() error {
29395	invalidParams := request.ErrInvalidParams{Context: "OpsFilter"}
29396	if s.Key == nil {
29397		invalidParams.Add(request.NewErrParamRequired("Key"))
29398	}
29399	if s.Key != nil && len(*s.Key) < 1 {
29400		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
29401	}
29402	if s.Values == nil {
29403		invalidParams.Add(request.NewErrParamRequired("Values"))
29404	}
29405	if s.Values != nil && len(s.Values) < 1 {
29406		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
29407	}
29408
29409	if invalidParams.Len() > 0 {
29410		return invalidParams
29411	}
29412	return nil
29413}
29414
29415// SetKey sets the Key field's value.
29416func (s *OpsFilter) SetKey(v string) *OpsFilter {
29417	s.Key = &v
29418	return s
29419}
29420
29421// SetType sets the Type field's value.
29422func (s *OpsFilter) SetType(v string) *OpsFilter {
29423	s.Type = &v
29424	return s
29425}
29426
29427// SetValues sets the Values field's value.
29428func (s *OpsFilter) SetValues(v []*string) *OpsFilter {
29429	s.Values = v
29430	return s
29431}
29432
29433// Operations engineers and IT professionals use OpsCenter to view, investigate,
29434// and remediate operational issues impacting the performance and health of
29435// their AWS resources. For more information, see AWS Systems Manager OpsCenter
29436// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
29437// in the AWS Systems Manager User Guide.
29438type OpsItem struct {
29439	_ struct{} `type:"structure"`
29440
29441	// The ARN of the AWS account that created the OpsItem.
29442	CreatedBy *string `type:"string"`
29443
29444	// The date and time the OpsItem was created.
29445	CreatedTime *time.Time `type:"timestamp"`
29446
29447	// The OpsItem description.
29448	Description *string `min:"1" type:"string"`
29449
29450	// The ARN of the AWS account that last updated the OpsItem.
29451	LastModifiedBy *string `type:"string"`
29452
29453	// The date and time the OpsItem was last updated.
29454	LastModifiedTime *time.Time `type:"timestamp"`
29455
29456	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
29457	// when this OpsItem is edited or changed.
29458	Notifications []*OpsItemNotification `type:"list"`
29459
29460	// Operational data is custom data that provides useful reference details about
29461	// the OpsItem. For example, you can specify log files, error strings, license
29462	// keys, troubleshooting tips, or other relevant data. You enter operational
29463	// data as key-value pairs. The key has a maximum length of 128 characters.
29464	// The value has a maximum size of 20 KB.
29465	//
29466	// Operational data keys can't begin with the following: amazon, aws, amzn,
29467	// ssm, /amazon, /aws, /amzn, /ssm.
29468	//
29469	// You can choose to make the data searchable by other users in the account
29470	// or you can restrict search access. Searchable data means that all users with
29471	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
29472	// API action) can view and search on the specified data. Operational data that
29473	// is not searchable is only viewable by users who have access to the OpsItem
29474	// (as provided by the GetOpsItem API action).
29475	//
29476	// Use the /aws/resources key in OperationalData to specify a related resource
29477	// in the request. Use the /aws/automations key in OperationalData to associate
29478	// an Automation runbook with the OpsItem. To view AWS CLI example commands
29479	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
29480	// in the AWS Systems Manager User Guide.
29481	OperationalData map[string]*OpsItemDataValue `type:"map"`
29482
29483	// The ID of the OpsItem.
29484	OpsItemId *string `type:"string"`
29485
29486	// The importance of this OpsItem in relation to other OpsItems in the system.
29487	Priority *int64 `min:"1" type:"integer"`
29488
29489	// One or more OpsItems that share something in common with the current OpsItem.
29490	// For example, related OpsItems can include OpsItems with similar error messages,
29491	// impacted resources, or statuses for the impacted resource.
29492	RelatedOpsItems []*RelatedOpsItem `type:"list"`
29493
29494	// The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager. The
29495	// impacted resource is a subset of source.
29496	Source *string `min:"1" type:"string"`
29497
29498	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
29499	// information, see Editing OpsItem Details (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html)
29500	// in the AWS Systems Manager User Guide.
29501	Status *string `type:"string" enum:"OpsItemStatus"`
29502
29503	// A short heading that describes the nature of the OpsItem and the impacted
29504	// resource.
29505	Title *string `min:"1" type:"string"`
29506
29507	// The version of this OpsItem. Each time the OpsItem is edited the version
29508	// number increments by one.
29509	Version *string `type:"string"`
29510}
29511
29512// String returns the string representation
29513func (s OpsItem) String() string {
29514	return awsutil.Prettify(s)
29515}
29516
29517// GoString returns the string representation
29518func (s OpsItem) GoString() string {
29519	return s.String()
29520}
29521
29522// SetCreatedBy sets the CreatedBy field's value.
29523func (s *OpsItem) SetCreatedBy(v string) *OpsItem {
29524	s.CreatedBy = &v
29525	return s
29526}
29527
29528// SetCreatedTime sets the CreatedTime field's value.
29529func (s *OpsItem) SetCreatedTime(v time.Time) *OpsItem {
29530	s.CreatedTime = &v
29531	return s
29532}
29533
29534// SetDescription sets the Description field's value.
29535func (s *OpsItem) SetDescription(v string) *OpsItem {
29536	s.Description = &v
29537	return s
29538}
29539
29540// SetLastModifiedBy sets the LastModifiedBy field's value.
29541func (s *OpsItem) SetLastModifiedBy(v string) *OpsItem {
29542	s.LastModifiedBy = &v
29543	return s
29544}
29545
29546// SetLastModifiedTime sets the LastModifiedTime field's value.
29547func (s *OpsItem) SetLastModifiedTime(v time.Time) *OpsItem {
29548	s.LastModifiedTime = &v
29549	return s
29550}
29551
29552// SetNotifications sets the Notifications field's value.
29553func (s *OpsItem) SetNotifications(v []*OpsItemNotification) *OpsItem {
29554	s.Notifications = v
29555	return s
29556}
29557
29558// SetOperationalData sets the OperationalData field's value.
29559func (s *OpsItem) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItem {
29560	s.OperationalData = v
29561	return s
29562}
29563
29564// SetOpsItemId sets the OpsItemId field's value.
29565func (s *OpsItem) SetOpsItemId(v string) *OpsItem {
29566	s.OpsItemId = &v
29567	return s
29568}
29569
29570// SetPriority sets the Priority field's value.
29571func (s *OpsItem) SetPriority(v int64) *OpsItem {
29572	s.Priority = &v
29573	return s
29574}
29575
29576// SetRelatedOpsItems sets the RelatedOpsItems field's value.
29577func (s *OpsItem) SetRelatedOpsItems(v []*RelatedOpsItem) *OpsItem {
29578	s.RelatedOpsItems = v
29579	return s
29580}
29581
29582// SetSource sets the Source field's value.
29583func (s *OpsItem) SetSource(v string) *OpsItem {
29584	s.Source = &v
29585	return s
29586}
29587
29588// SetStatus sets the Status field's value.
29589func (s *OpsItem) SetStatus(v string) *OpsItem {
29590	s.Status = &v
29591	return s
29592}
29593
29594// SetTitle sets the Title field's value.
29595func (s *OpsItem) SetTitle(v string) *OpsItem {
29596	s.Title = &v
29597	return s
29598}
29599
29600// SetVersion sets the Version field's value.
29601func (s *OpsItem) SetVersion(v string) *OpsItem {
29602	s.Version = &v
29603	return s
29604}
29605
29606// An object that defines the value of the key and its type in the OperationalData
29607// map.
29608type OpsItemDataValue struct {
29609	_ struct{} `type:"structure"`
29610
29611	// The type of key-value pair. Valid types include SearchableString and String.
29612	Type *string `type:"string" enum:"OpsItemDataType"`
29613
29614	// The value of the OperationalData key.
29615	Value *string `type:"string"`
29616}
29617
29618// String returns the string representation
29619func (s OpsItemDataValue) String() string {
29620	return awsutil.Prettify(s)
29621}
29622
29623// GoString returns the string representation
29624func (s OpsItemDataValue) GoString() string {
29625	return s.String()
29626}
29627
29628// SetType sets the Type field's value.
29629func (s *OpsItemDataValue) SetType(v string) *OpsItemDataValue {
29630	s.Type = &v
29631	return s
29632}
29633
29634// SetValue sets the Value field's value.
29635func (s *OpsItemDataValue) SetValue(v string) *OpsItemDataValue {
29636	s.Value = &v
29637	return s
29638}
29639
29640// Describes an OpsItem filter.
29641type OpsItemFilter struct {
29642	_ struct{} `type:"structure"`
29643
29644	// The name of the filter.
29645	//
29646	// Key is a required field
29647	Key *string `type:"string" required:"true" enum:"OpsItemFilterKey"`
29648
29649	// The operator used by the filter call.
29650	//
29651	// Operator is a required field
29652	Operator *string `type:"string" required:"true" enum:"OpsItemFilterOperator"`
29653
29654	// The filter value.
29655	//
29656	// Values is a required field
29657	Values []*string `type:"list" required:"true"`
29658}
29659
29660// String returns the string representation
29661func (s OpsItemFilter) String() string {
29662	return awsutil.Prettify(s)
29663}
29664
29665// GoString returns the string representation
29666func (s OpsItemFilter) GoString() string {
29667	return s.String()
29668}
29669
29670// Validate inspects the fields of the type to determine if they are valid.
29671func (s *OpsItemFilter) Validate() error {
29672	invalidParams := request.ErrInvalidParams{Context: "OpsItemFilter"}
29673	if s.Key == nil {
29674		invalidParams.Add(request.NewErrParamRequired("Key"))
29675	}
29676	if s.Operator == nil {
29677		invalidParams.Add(request.NewErrParamRequired("Operator"))
29678	}
29679	if s.Values == nil {
29680		invalidParams.Add(request.NewErrParamRequired("Values"))
29681	}
29682
29683	if invalidParams.Len() > 0 {
29684		return invalidParams
29685	}
29686	return nil
29687}
29688
29689// SetKey sets the Key field's value.
29690func (s *OpsItemFilter) SetKey(v string) *OpsItemFilter {
29691	s.Key = &v
29692	return s
29693}
29694
29695// SetOperator sets the Operator field's value.
29696func (s *OpsItemFilter) SetOperator(v string) *OpsItemFilter {
29697	s.Operator = &v
29698	return s
29699}
29700
29701// SetValues sets the Values field's value.
29702func (s *OpsItemFilter) SetValues(v []*string) *OpsItemFilter {
29703	s.Values = v
29704	return s
29705}
29706
29707// A notification about the OpsItem.
29708type OpsItemNotification struct {
29709	_ struct{} `type:"structure"`
29710
29711	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
29712	// when this OpsItem is edited or changed.
29713	Arn *string `type:"string"`
29714}
29715
29716// String returns the string representation
29717func (s OpsItemNotification) String() string {
29718	return awsutil.Prettify(s)
29719}
29720
29721// GoString returns the string representation
29722func (s OpsItemNotification) GoString() string {
29723	return s.String()
29724}
29725
29726// SetArn sets the Arn field's value.
29727func (s *OpsItemNotification) SetArn(v string) *OpsItemNotification {
29728	s.Arn = &v
29729	return s
29730}
29731
29732// A count of OpsItems.
29733type OpsItemSummary struct {
29734	_ struct{} `type:"structure"`
29735
29736	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
29737	CreatedBy *string `type:"string"`
29738
29739	// The date and time the OpsItem was created.
29740	CreatedTime *time.Time `type:"timestamp"`
29741
29742	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
29743	LastModifiedBy *string `type:"string"`
29744
29745	// The date and time the OpsItem was last updated.
29746	LastModifiedTime *time.Time `type:"timestamp"`
29747
29748	// Operational data is custom data that provides useful reference details about
29749	// the OpsItem.
29750	OperationalData map[string]*OpsItemDataValue `type:"map"`
29751
29752	// The ID of the OpsItem.
29753	OpsItemId *string `type:"string"`
29754
29755	// The importance of this OpsItem in relation to other OpsItems in the system.
29756	Priority *int64 `min:"1" type:"integer"`
29757
29758	// The impacted AWS resource.
29759	Source *string `min:"1" type:"string"`
29760
29761	// The OpsItem status. Status can be Open, In Progress, or Resolved.
29762	Status *string `type:"string" enum:"OpsItemStatus"`
29763
29764	// A short heading that describes the nature of the OpsItem and the impacted
29765	// resource.
29766	Title *string `min:"1" type:"string"`
29767}
29768
29769// String returns the string representation
29770func (s OpsItemSummary) String() string {
29771	return awsutil.Prettify(s)
29772}
29773
29774// GoString returns the string representation
29775func (s OpsItemSummary) GoString() string {
29776	return s.String()
29777}
29778
29779// SetCreatedBy sets the CreatedBy field's value.
29780func (s *OpsItemSummary) SetCreatedBy(v string) *OpsItemSummary {
29781	s.CreatedBy = &v
29782	return s
29783}
29784
29785// SetCreatedTime sets the CreatedTime field's value.
29786func (s *OpsItemSummary) SetCreatedTime(v time.Time) *OpsItemSummary {
29787	s.CreatedTime = &v
29788	return s
29789}
29790
29791// SetLastModifiedBy sets the LastModifiedBy field's value.
29792func (s *OpsItemSummary) SetLastModifiedBy(v string) *OpsItemSummary {
29793	s.LastModifiedBy = &v
29794	return s
29795}
29796
29797// SetLastModifiedTime sets the LastModifiedTime field's value.
29798func (s *OpsItemSummary) SetLastModifiedTime(v time.Time) *OpsItemSummary {
29799	s.LastModifiedTime = &v
29800	return s
29801}
29802
29803// SetOperationalData sets the OperationalData field's value.
29804func (s *OpsItemSummary) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItemSummary {
29805	s.OperationalData = v
29806	return s
29807}
29808
29809// SetOpsItemId sets the OpsItemId field's value.
29810func (s *OpsItemSummary) SetOpsItemId(v string) *OpsItemSummary {
29811	s.OpsItemId = &v
29812	return s
29813}
29814
29815// SetPriority sets the Priority field's value.
29816func (s *OpsItemSummary) SetPriority(v int64) *OpsItemSummary {
29817	s.Priority = &v
29818	return s
29819}
29820
29821// SetSource sets the Source field's value.
29822func (s *OpsItemSummary) SetSource(v string) *OpsItemSummary {
29823	s.Source = &v
29824	return s
29825}
29826
29827// SetStatus sets the Status field's value.
29828func (s *OpsItemSummary) SetStatus(v string) *OpsItemSummary {
29829	s.Status = &v
29830	return s
29831}
29832
29833// SetTitle sets the Title field's value.
29834func (s *OpsItemSummary) SetTitle(v string) *OpsItemSummary {
29835	s.Title = &v
29836	return s
29837}
29838
29839// Information about the source where the association execution details are
29840// stored.
29841type OutputSource struct {
29842	_ struct{} `type:"structure"`
29843
29844	// The ID of the output source, for example the URL of an Amazon S3 bucket.
29845	OutputSourceId *string `min:"36" type:"string"`
29846
29847	// The type of source where the association execution details are stored, for
29848	// example, Amazon S3.
29849	OutputSourceType *string `type:"string"`
29850}
29851
29852// String returns the string representation
29853func (s OutputSource) String() string {
29854	return awsutil.Prettify(s)
29855}
29856
29857// GoString returns the string representation
29858func (s OutputSource) GoString() string {
29859	return s.String()
29860}
29861
29862// SetOutputSourceId sets the OutputSourceId field's value.
29863func (s *OutputSource) SetOutputSourceId(v string) *OutputSource {
29864	s.OutputSourceId = &v
29865	return s
29866}
29867
29868// SetOutputSourceType sets the OutputSourceType field's value.
29869func (s *OutputSource) SetOutputSourceType(v string) *OutputSource {
29870	s.OutputSourceType = &v
29871	return s
29872}
29873
29874// An Amazon EC2 Systems Manager parameter in Parameter Store.
29875type Parameter struct {
29876	_ struct{} `type:"structure"`
29877
29878	// The Amazon Resource Name (ARN) of the parameter.
29879	ARN *string `type:"string"`
29880
29881	// Date the parameter was last changed or updated and the parameter version
29882	// was created.
29883	LastModifiedDate *time.Time `type:"timestamp"`
29884
29885	// The name of the parameter.
29886	Name *string `min:"1" type:"string"`
29887
29888	// Either the version number or the label used to retrieve the parameter value.
29889	// Specify selectors by using one of the following formats:
29890	//
29891	// parameter_name:version
29892	//
29893	// parameter_name:label
29894	Selector *string `type:"string"`
29895
29896	// Applies to parameters that reference information in other AWS services. SourceResult
29897	// is the raw result or response from the source.
29898	SourceResult *string `type:"string"`
29899
29900	// The type of parameter. Valid values include the following: String, String
29901	// list, Secure string.
29902	Type *string `type:"string" enum:"ParameterType"`
29903
29904	// The parameter value.
29905	Value *string `type:"string"`
29906
29907	// The parameter version.
29908	Version *int64 `type:"long"`
29909}
29910
29911// String returns the string representation
29912func (s Parameter) String() string {
29913	return awsutil.Prettify(s)
29914}
29915
29916// GoString returns the string representation
29917func (s Parameter) GoString() string {
29918	return s.String()
29919}
29920
29921// SetARN sets the ARN field's value.
29922func (s *Parameter) SetARN(v string) *Parameter {
29923	s.ARN = &v
29924	return s
29925}
29926
29927// SetLastModifiedDate sets the LastModifiedDate field's value.
29928func (s *Parameter) SetLastModifiedDate(v time.Time) *Parameter {
29929	s.LastModifiedDate = &v
29930	return s
29931}
29932
29933// SetName sets the Name field's value.
29934func (s *Parameter) SetName(v string) *Parameter {
29935	s.Name = &v
29936	return s
29937}
29938
29939// SetSelector sets the Selector field's value.
29940func (s *Parameter) SetSelector(v string) *Parameter {
29941	s.Selector = &v
29942	return s
29943}
29944
29945// SetSourceResult sets the SourceResult field's value.
29946func (s *Parameter) SetSourceResult(v string) *Parameter {
29947	s.SourceResult = &v
29948	return s
29949}
29950
29951// SetType sets the Type field's value.
29952func (s *Parameter) SetType(v string) *Parameter {
29953	s.Type = &v
29954	return s
29955}
29956
29957// SetValue sets the Value field's value.
29958func (s *Parameter) SetValue(v string) *Parameter {
29959	s.Value = &v
29960	return s
29961}
29962
29963// SetVersion sets the Version field's value.
29964func (s *Parameter) SetVersion(v int64) *Parameter {
29965	s.Version = &v
29966	return s
29967}
29968
29969// Information about parameter usage.
29970type ParameterHistory struct {
29971	_ struct{} `type:"structure"`
29972
29973	// Parameter names can include the following letters and symbols.
29974	//
29975	// a-zA-Z0-9_.-
29976	AllowedPattern *string `type:"string"`
29977
29978	// Information about the parameter.
29979	Description *string `type:"string"`
29980
29981	// The ID of the query key used for this parameter.
29982	KeyId *string `min:"1" type:"string"`
29983
29984	// Labels assigned to the parameter version.
29985	Labels []*string `min:"1" type:"list"`
29986
29987	// Date the parameter was last changed or updated.
29988	LastModifiedDate *time.Time `type:"timestamp"`
29989
29990	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
29991	LastModifiedUser *string `type:"string"`
29992
29993	// The name of the parameter.
29994	Name *string `min:"1" type:"string"`
29995
29996	// Information about the policies assigned to a parameter.
29997	//
29998	// Working with Parameter Policies (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html)
29999	// in the AWS Systems Manager User Guide.
30000	Policies []*ParameterInlinePolicy `type:"list"`
30001
30002	// The parameter tier.
30003	Tier *string `type:"string" enum:"ParameterTier"`
30004
30005	// The type of parameter used.
30006	Type *string `type:"string" enum:"ParameterType"`
30007
30008	// The parameter value.
30009	Value *string `type:"string"`
30010
30011	// The parameter version.
30012	Version *int64 `type:"long"`
30013}
30014
30015// String returns the string representation
30016func (s ParameterHistory) String() string {
30017	return awsutil.Prettify(s)
30018}
30019
30020// GoString returns the string representation
30021func (s ParameterHistory) GoString() string {
30022	return s.String()
30023}
30024
30025// SetAllowedPattern sets the AllowedPattern field's value.
30026func (s *ParameterHistory) SetAllowedPattern(v string) *ParameterHistory {
30027	s.AllowedPattern = &v
30028	return s
30029}
30030
30031// SetDescription sets the Description field's value.
30032func (s *ParameterHistory) SetDescription(v string) *ParameterHistory {
30033	s.Description = &v
30034	return s
30035}
30036
30037// SetKeyId sets the KeyId field's value.
30038func (s *ParameterHistory) SetKeyId(v string) *ParameterHistory {
30039	s.KeyId = &v
30040	return s
30041}
30042
30043// SetLabels sets the Labels field's value.
30044func (s *ParameterHistory) SetLabels(v []*string) *ParameterHistory {
30045	s.Labels = v
30046	return s
30047}
30048
30049// SetLastModifiedDate sets the LastModifiedDate field's value.
30050func (s *ParameterHistory) SetLastModifiedDate(v time.Time) *ParameterHistory {
30051	s.LastModifiedDate = &v
30052	return s
30053}
30054
30055// SetLastModifiedUser sets the LastModifiedUser field's value.
30056func (s *ParameterHistory) SetLastModifiedUser(v string) *ParameterHistory {
30057	s.LastModifiedUser = &v
30058	return s
30059}
30060
30061// SetName sets the Name field's value.
30062func (s *ParameterHistory) SetName(v string) *ParameterHistory {
30063	s.Name = &v
30064	return s
30065}
30066
30067// SetPolicies sets the Policies field's value.
30068func (s *ParameterHistory) SetPolicies(v []*ParameterInlinePolicy) *ParameterHistory {
30069	s.Policies = v
30070	return s
30071}
30072
30073// SetTier sets the Tier field's value.
30074func (s *ParameterHistory) SetTier(v string) *ParameterHistory {
30075	s.Tier = &v
30076	return s
30077}
30078
30079// SetType sets the Type field's value.
30080func (s *ParameterHistory) SetType(v string) *ParameterHistory {
30081	s.Type = &v
30082	return s
30083}
30084
30085// SetValue sets the Value field's value.
30086func (s *ParameterHistory) SetValue(v string) *ParameterHistory {
30087	s.Value = &v
30088	return s
30089}
30090
30091// SetVersion sets the Version field's value.
30092func (s *ParameterHistory) SetVersion(v int64) *ParameterHistory {
30093	s.Version = &v
30094	return s
30095}
30096
30097// One or more policies assigned to a parameter.
30098type ParameterInlinePolicy struct {
30099	_ struct{} `type:"structure"`
30100
30101	// The status of the policy. Policies report the following statuses: Pending
30102	// (the policy has not been enforced or applied yet), Finished (the policy was
30103	// applied), Failed (the policy was not applied), or InProgress (the policy
30104	// is being applied now).
30105	PolicyStatus *string `type:"string"`
30106
30107	// The JSON text of the policy.
30108	PolicyText *string `type:"string"`
30109
30110	// The type of policy. Parameter Store supports the following policy types:
30111	// Expiration, ExpirationNotification, and NoChangeNotification.
30112	PolicyType *string `type:"string"`
30113}
30114
30115// String returns the string representation
30116func (s ParameterInlinePolicy) String() string {
30117	return awsutil.Prettify(s)
30118}
30119
30120// GoString returns the string representation
30121func (s ParameterInlinePolicy) GoString() string {
30122	return s.String()
30123}
30124
30125// SetPolicyStatus sets the PolicyStatus field's value.
30126func (s *ParameterInlinePolicy) SetPolicyStatus(v string) *ParameterInlinePolicy {
30127	s.PolicyStatus = &v
30128	return s
30129}
30130
30131// SetPolicyText sets the PolicyText field's value.
30132func (s *ParameterInlinePolicy) SetPolicyText(v string) *ParameterInlinePolicy {
30133	s.PolicyText = &v
30134	return s
30135}
30136
30137// SetPolicyType sets the PolicyType field's value.
30138func (s *ParameterInlinePolicy) SetPolicyType(v string) *ParameterInlinePolicy {
30139	s.PolicyType = &v
30140	return s
30141}
30142
30143// Metadata includes information like the ARN of the last user and the date/time
30144// the parameter was last used.
30145type ParameterMetadata struct {
30146	_ struct{} `type:"structure"`
30147
30148	// A parameter name can include only the following letters and symbols.
30149	//
30150	// a-zA-Z0-9_.-
30151	AllowedPattern *string `type:"string"`
30152
30153	// Description of the parameter actions.
30154	Description *string `type:"string"`
30155
30156	// The ID of the query key used for this parameter.
30157	KeyId *string `min:"1" type:"string"`
30158
30159	// Date the parameter was last changed or updated.
30160	LastModifiedDate *time.Time `type:"timestamp"`
30161
30162	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
30163	LastModifiedUser *string `type:"string"`
30164
30165	// The parameter name.
30166	Name *string `min:"1" type:"string"`
30167
30168	// A list of policies associated with a parameter.
30169	Policies []*ParameterInlinePolicy `type:"list"`
30170
30171	// The parameter tier.
30172	Tier *string `type:"string" enum:"ParameterTier"`
30173
30174	// The type of parameter. Valid parameter types include the following: String,
30175	// String list, Secure string.
30176	Type *string `type:"string" enum:"ParameterType"`
30177
30178	// The parameter version.
30179	Version *int64 `type:"long"`
30180}
30181
30182// String returns the string representation
30183func (s ParameterMetadata) String() string {
30184	return awsutil.Prettify(s)
30185}
30186
30187// GoString returns the string representation
30188func (s ParameterMetadata) GoString() string {
30189	return s.String()
30190}
30191
30192// SetAllowedPattern sets the AllowedPattern field's value.
30193func (s *ParameterMetadata) SetAllowedPattern(v string) *ParameterMetadata {
30194	s.AllowedPattern = &v
30195	return s
30196}
30197
30198// SetDescription sets the Description field's value.
30199func (s *ParameterMetadata) SetDescription(v string) *ParameterMetadata {
30200	s.Description = &v
30201	return s
30202}
30203
30204// SetKeyId sets the KeyId field's value.
30205func (s *ParameterMetadata) SetKeyId(v string) *ParameterMetadata {
30206	s.KeyId = &v
30207	return s
30208}
30209
30210// SetLastModifiedDate sets the LastModifiedDate field's value.
30211func (s *ParameterMetadata) SetLastModifiedDate(v time.Time) *ParameterMetadata {
30212	s.LastModifiedDate = &v
30213	return s
30214}
30215
30216// SetLastModifiedUser sets the LastModifiedUser field's value.
30217func (s *ParameterMetadata) SetLastModifiedUser(v string) *ParameterMetadata {
30218	s.LastModifiedUser = &v
30219	return s
30220}
30221
30222// SetName sets the Name field's value.
30223func (s *ParameterMetadata) SetName(v string) *ParameterMetadata {
30224	s.Name = &v
30225	return s
30226}
30227
30228// SetPolicies sets the Policies field's value.
30229func (s *ParameterMetadata) SetPolicies(v []*ParameterInlinePolicy) *ParameterMetadata {
30230	s.Policies = v
30231	return s
30232}
30233
30234// SetTier sets the Tier field's value.
30235func (s *ParameterMetadata) SetTier(v string) *ParameterMetadata {
30236	s.Tier = &v
30237	return s
30238}
30239
30240// SetType sets the Type field's value.
30241func (s *ParameterMetadata) SetType(v string) *ParameterMetadata {
30242	s.Type = &v
30243	return s
30244}
30245
30246// SetVersion sets the Version field's value.
30247func (s *ParameterMetadata) SetVersion(v int64) *ParameterMetadata {
30248	s.Version = &v
30249	return s
30250}
30251
30252// One or more filters. Use a filter to return a more specific list of results.
30253//
30254// The Name and Tier filter keys can't be used with the GetParametersByPath
30255// API action. Also, the Label filter key can't be used with the DescribeParameters
30256// API action.
30257type ParameterStringFilter struct {
30258	_ struct{} `type:"structure"`
30259
30260	// The name of the filter.
30261	//
30262	// Key is a required field
30263	Key *string `min:"1" type:"string" required:"true"`
30264
30265	// Valid options are Equals and BeginsWith. For Path filter, valid options are
30266	// Recursive and OneLevel.
30267	Option *string `min:"1" type:"string"`
30268
30269	// The value you want to search for.
30270	Values []*string `min:"1" type:"list"`
30271}
30272
30273// String returns the string representation
30274func (s ParameterStringFilter) String() string {
30275	return awsutil.Prettify(s)
30276}
30277
30278// GoString returns the string representation
30279func (s ParameterStringFilter) GoString() string {
30280	return s.String()
30281}
30282
30283// Validate inspects the fields of the type to determine if they are valid.
30284func (s *ParameterStringFilter) Validate() error {
30285	invalidParams := request.ErrInvalidParams{Context: "ParameterStringFilter"}
30286	if s.Key == nil {
30287		invalidParams.Add(request.NewErrParamRequired("Key"))
30288	}
30289	if s.Key != nil && len(*s.Key) < 1 {
30290		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
30291	}
30292	if s.Option != nil && len(*s.Option) < 1 {
30293		invalidParams.Add(request.NewErrParamMinLen("Option", 1))
30294	}
30295	if s.Values != nil && len(s.Values) < 1 {
30296		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
30297	}
30298
30299	if invalidParams.Len() > 0 {
30300		return invalidParams
30301	}
30302	return nil
30303}
30304
30305// SetKey sets the Key field's value.
30306func (s *ParameterStringFilter) SetKey(v string) *ParameterStringFilter {
30307	s.Key = &v
30308	return s
30309}
30310
30311// SetOption sets the Option field's value.
30312func (s *ParameterStringFilter) SetOption(v string) *ParameterStringFilter {
30313	s.Option = &v
30314	return s
30315}
30316
30317// SetValues sets the Values field's value.
30318func (s *ParameterStringFilter) SetValues(v []*string) *ParameterStringFilter {
30319	s.Values = v
30320	return s
30321}
30322
30323// This data type is deprecated. Instead, use ParameterStringFilter.
30324type ParametersFilter struct {
30325	_ struct{} `type:"structure"`
30326
30327	// The name of the filter.
30328	//
30329	// Key is a required field
30330	Key *string `type:"string" required:"true" enum:"ParametersFilterKey"`
30331
30332	// The filter values.
30333	//
30334	// Values is a required field
30335	Values []*string `min:"1" type:"list" required:"true"`
30336}
30337
30338// String returns the string representation
30339func (s ParametersFilter) String() string {
30340	return awsutil.Prettify(s)
30341}
30342
30343// GoString returns the string representation
30344func (s ParametersFilter) GoString() string {
30345	return s.String()
30346}
30347
30348// Validate inspects the fields of the type to determine if they are valid.
30349func (s *ParametersFilter) Validate() error {
30350	invalidParams := request.ErrInvalidParams{Context: "ParametersFilter"}
30351	if s.Key == nil {
30352		invalidParams.Add(request.NewErrParamRequired("Key"))
30353	}
30354	if s.Values == nil {
30355		invalidParams.Add(request.NewErrParamRequired("Values"))
30356	}
30357	if s.Values != nil && len(s.Values) < 1 {
30358		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
30359	}
30360
30361	if invalidParams.Len() > 0 {
30362		return invalidParams
30363	}
30364	return nil
30365}
30366
30367// SetKey sets the Key field's value.
30368func (s *ParametersFilter) SetKey(v string) *ParametersFilter {
30369	s.Key = &v
30370	return s
30371}
30372
30373// SetValues sets the Values field's value.
30374func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter {
30375	s.Values = v
30376	return s
30377}
30378
30379// Represents metadata about a patch.
30380type Patch struct {
30381	_ struct{} `type:"structure"`
30382
30383	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
30384	Classification *string `type:"string"`
30385
30386	// The URL where more information can be obtained about the patch.
30387	ContentUrl *string `type:"string"`
30388
30389	// The description of the patch.
30390	Description *string `type:"string"`
30391
30392	// The ID of the patch (this is different than the Microsoft Knowledge Base
30393	// ID).
30394	Id *string `min:"1" type:"string"`
30395
30396	// The Microsoft Knowledge Base ID of the patch.
30397	KbNumber *string `type:"string"`
30398
30399	// The language of the patch if it's language-specific.
30400	Language *string `type:"string"`
30401
30402	// The ID of the MSRC bulletin the patch is related to.
30403	MsrcNumber *string `type:"string"`
30404
30405	// The severity of the patch (for example Critical, Important, Moderate).
30406	MsrcSeverity *string `type:"string"`
30407
30408	// The specific product the patch is applicable for (for example, WindowsServer2016).
30409	Product *string `type:"string"`
30410
30411	// The product family the patch is applicable for (for example, Windows).
30412	ProductFamily *string `type:"string"`
30413
30414	// The date the patch was released.
30415	ReleaseDate *time.Time `type:"timestamp"`
30416
30417	// The title of the patch.
30418	Title *string `type:"string"`
30419
30420	// The name of the vendor providing the patch.
30421	Vendor *string `type:"string"`
30422}
30423
30424// String returns the string representation
30425func (s Patch) String() string {
30426	return awsutil.Prettify(s)
30427}
30428
30429// GoString returns the string representation
30430func (s Patch) GoString() string {
30431	return s.String()
30432}
30433
30434// SetClassification sets the Classification field's value.
30435func (s *Patch) SetClassification(v string) *Patch {
30436	s.Classification = &v
30437	return s
30438}
30439
30440// SetContentUrl sets the ContentUrl field's value.
30441func (s *Patch) SetContentUrl(v string) *Patch {
30442	s.ContentUrl = &v
30443	return s
30444}
30445
30446// SetDescription sets the Description field's value.
30447func (s *Patch) SetDescription(v string) *Patch {
30448	s.Description = &v
30449	return s
30450}
30451
30452// SetId sets the Id field's value.
30453func (s *Patch) SetId(v string) *Patch {
30454	s.Id = &v
30455	return s
30456}
30457
30458// SetKbNumber sets the KbNumber field's value.
30459func (s *Patch) SetKbNumber(v string) *Patch {
30460	s.KbNumber = &v
30461	return s
30462}
30463
30464// SetLanguage sets the Language field's value.
30465func (s *Patch) SetLanguage(v string) *Patch {
30466	s.Language = &v
30467	return s
30468}
30469
30470// SetMsrcNumber sets the MsrcNumber field's value.
30471func (s *Patch) SetMsrcNumber(v string) *Patch {
30472	s.MsrcNumber = &v
30473	return s
30474}
30475
30476// SetMsrcSeverity sets the MsrcSeverity field's value.
30477func (s *Patch) SetMsrcSeverity(v string) *Patch {
30478	s.MsrcSeverity = &v
30479	return s
30480}
30481
30482// SetProduct sets the Product field's value.
30483func (s *Patch) SetProduct(v string) *Patch {
30484	s.Product = &v
30485	return s
30486}
30487
30488// SetProductFamily sets the ProductFamily field's value.
30489func (s *Patch) SetProductFamily(v string) *Patch {
30490	s.ProductFamily = &v
30491	return s
30492}
30493
30494// SetReleaseDate sets the ReleaseDate field's value.
30495func (s *Patch) SetReleaseDate(v time.Time) *Patch {
30496	s.ReleaseDate = &v
30497	return s
30498}
30499
30500// SetTitle sets the Title field's value.
30501func (s *Patch) SetTitle(v string) *Patch {
30502	s.Title = &v
30503	return s
30504}
30505
30506// SetVendor sets the Vendor field's value.
30507func (s *Patch) SetVendor(v string) *Patch {
30508	s.Vendor = &v
30509	return s
30510}
30511
30512// Defines the basic information about a patch baseline.
30513type PatchBaselineIdentity struct {
30514	_ struct{} `type:"structure"`
30515
30516	// The description of the patch baseline.
30517	BaselineDescription *string `min:"1" type:"string"`
30518
30519	// The ID of the patch baseline.
30520	BaselineId *string `min:"20" type:"string"`
30521
30522	// The name of the patch baseline.
30523	BaselineName *string `min:"3" type:"string"`
30524
30525	// Whether this is the default baseline. Note that Systems Manager supports
30526	// creating multiple default patch baselines. For example, you can create a
30527	// default patch baseline for each operating system.
30528	DefaultBaseline *bool `type:"boolean"`
30529
30530	// Defines the operating system the patch baseline applies to. The Default value
30531	// is WINDOWS.
30532	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
30533}
30534
30535// String returns the string representation
30536func (s PatchBaselineIdentity) String() string {
30537	return awsutil.Prettify(s)
30538}
30539
30540// GoString returns the string representation
30541func (s PatchBaselineIdentity) GoString() string {
30542	return s.String()
30543}
30544
30545// SetBaselineDescription sets the BaselineDescription field's value.
30546func (s *PatchBaselineIdentity) SetBaselineDescription(v string) *PatchBaselineIdentity {
30547	s.BaselineDescription = &v
30548	return s
30549}
30550
30551// SetBaselineId sets the BaselineId field's value.
30552func (s *PatchBaselineIdentity) SetBaselineId(v string) *PatchBaselineIdentity {
30553	s.BaselineId = &v
30554	return s
30555}
30556
30557// SetBaselineName sets the BaselineName field's value.
30558func (s *PatchBaselineIdentity) SetBaselineName(v string) *PatchBaselineIdentity {
30559	s.BaselineName = &v
30560	return s
30561}
30562
30563// SetDefaultBaseline sets the DefaultBaseline field's value.
30564func (s *PatchBaselineIdentity) SetDefaultBaseline(v bool) *PatchBaselineIdentity {
30565	s.DefaultBaseline = &v
30566	return s
30567}
30568
30569// SetOperatingSystem sets the OperatingSystem field's value.
30570func (s *PatchBaselineIdentity) SetOperatingSystem(v string) *PatchBaselineIdentity {
30571	s.OperatingSystem = &v
30572	return s
30573}
30574
30575// Information about the state of a patch on a particular instance as it relates
30576// to the patch baseline used to patch the instance.
30577type PatchComplianceData struct {
30578	_ struct{} `type:"structure"`
30579
30580	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
30581	//
30582	// Classification is a required field
30583	Classification *string `type:"string" required:"true"`
30584
30585	// The date/time the patch was installed on the instance. Note that not all
30586	// operating systems provide this level of information.
30587	//
30588	// InstalledTime is a required field
30589	InstalledTime *time.Time `type:"timestamp" required:"true"`
30590
30591	// The operating system-specific ID of the patch.
30592	//
30593	// KBId is a required field
30594	KBId *string `type:"string" required:"true"`
30595
30596	// The severity of the patch (for example, Critical, Important, Moderate).
30597	//
30598	// Severity is a required field
30599	Severity *string `type:"string" required:"true"`
30600
30601	// The state of the patch on the instance, such as INSTALLED or FAILED.
30602	//
30603	// For descriptions of each patch state, see About Patch Compliance (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-compliance-about.html#sysman-compliance-monitor-patch)
30604	// in the AWS Systems Manager User Guide.
30605	//
30606	// State is a required field
30607	State *string `type:"string" required:"true" enum:"PatchComplianceDataState"`
30608
30609	// The title of the patch.
30610	//
30611	// Title is a required field
30612	Title *string `type:"string" required:"true"`
30613}
30614
30615// String returns the string representation
30616func (s PatchComplianceData) String() string {
30617	return awsutil.Prettify(s)
30618}
30619
30620// GoString returns the string representation
30621func (s PatchComplianceData) GoString() string {
30622	return s.String()
30623}
30624
30625// SetClassification sets the Classification field's value.
30626func (s *PatchComplianceData) SetClassification(v string) *PatchComplianceData {
30627	s.Classification = &v
30628	return s
30629}
30630
30631// SetInstalledTime sets the InstalledTime field's value.
30632func (s *PatchComplianceData) SetInstalledTime(v time.Time) *PatchComplianceData {
30633	s.InstalledTime = &v
30634	return s
30635}
30636
30637// SetKBId sets the KBId field's value.
30638func (s *PatchComplianceData) SetKBId(v string) *PatchComplianceData {
30639	s.KBId = &v
30640	return s
30641}
30642
30643// SetSeverity sets the Severity field's value.
30644func (s *PatchComplianceData) SetSeverity(v string) *PatchComplianceData {
30645	s.Severity = &v
30646	return s
30647}
30648
30649// SetState sets the State field's value.
30650func (s *PatchComplianceData) SetState(v string) *PatchComplianceData {
30651	s.State = &v
30652	return s
30653}
30654
30655// SetTitle sets the Title field's value.
30656func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData {
30657	s.Title = &v
30658	return s
30659}
30660
30661// Defines which patches should be included in a patch baseline.
30662//
30663// A patch filter consists of a key and a set of values. The filter key is a
30664// patch property. For example, the available filter keys for WINDOWS are PATCH_SET,
30665// PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, and MSRC_SEVERITY. The filter values
30666// define a matching criterion for the patch property indicated by the key.
30667// For example, if the filter key is PRODUCT and the filter values are ["Office
30668// 2013", "Office 2016"], then the filter accepts all patches where product
30669// name is either "Office 2013" or "Office 2016". The filter values can be exact
30670// values for the patch property given as a key, or a wildcard (*), which matches
30671// all values.
30672//
30673// You can view lists of valid values for the patch properties by running the
30674// DescribePatchProperties command. For information about which patch properties
30675// can be used with each major operating system, see DescribePatchProperties.
30676type PatchFilter struct {
30677	_ struct{} `type:"structure"`
30678
30679	// The key for the filter.
30680	//
30681	// Run the DescribePatchProperties command to view lists of valid keys for each
30682	// operating system type.
30683	//
30684	// Key is a required field
30685	Key *string `type:"string" required:"true" enum:"PatchFilterKey"`
30686
30687	// The value for the filter key.
30688	//
30689	// Run the DescribePatchProperties command to view lists of valid values for
30690	// each key based on operating system type.
30691	//
30692	// Values is a required field
30693	Values []*string `min:"1" type:"list" required:"true"`
30694}
30695
30696// String returns the string representation
30697func (s PatchFilter) String() string {
30698	return awsutil.Prettify(s)
30699}
30700
30701// GoString returns the string representation
30702func (s PatchFilter) GoString() string {
30703	return s.String()
30704}
30705
30706// Validate inspects the fields of the type to determine if they are valid.
30707func (s *PatchFilter) Validate() error {
30708	invalidParams := request.ErrInvalidParams{Context: "PatchFilter"}
30709	if s.Key == nil {
30710		invalidParams.Add(request.NewErrParamRequired("Key"))
30711	}
30712	if s.Values == nil {
30713		invalidParams.Add(request.NewErrParamRequired("Values"))
30714	}
30715	if s.Values != nil && len(s.Values) < 1 {
30716		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
30717	}
30718
30719	if invalidParams.Len() > 0 {
30720		return invalidParams
30721	}
30722	return nil
30723}
30724
30725// SetKey sets the Key field's value.
30726func (s *PatchFilter) SetKey(v string) *PatchFilter {
30727	s.Key = &v
30728	return s
30729}
30730
30731// SetValues sets the Values field's value.
30732func (s *PatchFilter) SetValues(v []*string) *PatchFilter {
30733	s.Values = v
30734	return s
30735}
30736
30737// A set of patch filters, typically used for approval rules.
30738type PatchFilterGroup struct {
30739	_ struct{} `type:"structure"`
30740
30741	// The set of patch filters that make up the group.
30742	//
30743	// PatchFilters is a required field
30744	PatchFilters []*PatchFilter `type:"list" required:"true"`
30745}
30746
30747// String returns the string representation
30748func (s PatchFilterGroup) String() string {
30749	return awsutil.Prettify(s)
30750}
30751
30752// GoString returns the string representation
30753func (s PatchFilterGroup) GoString() string {
30754	return s.String()
30755}
30756
30757// Validate inspects the fields of the type to determine if they are valid.
30758func (s *PatchFilterGroup) Validate() error {
30759	invalidParams := request.ErrInvalidParams{Context: "PatchFilterGroup"}
30760	if s.PatchFilters == nil {
30761		invalidParams.Add(request.NewErrParamRequired("PatchFilters"))
30762	}
30763	if s.PatchFilters != nil {
30764		for i, v := range s.PatchFilters {
30765			if v == nil {
30766				continue
30767			}
30768			if err := v.Validate(); err != nil {
30769				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchFilters", i), err.(request.ErrInvalidParams))
30770			}
30771		}
30772	}
30773
30774	if invalidParams.Len() > 0 {
30775		return invalidParams
30776	}
30777	return nil
30778}
30779
30780// SetPatchFilters sets the PatchFilters field's value.
30781func (s *PatchFilterGroup) SetPatchFilters(v []*PatchFilter) *PatchFilterGroup {
30782	s.PatchFilters = v
30783	return s
30784}
30785
30786// The mapping between a patch group and the patch baseline the patch group
30787// is registered with.
30788type PatchGroupPatchBaselineMapping struct {
30789	_ struct{} `type:"structure"`
30790
30791	// The patch baseline the patch group is registered with.
30792	BaselineIdentity *PatchBaselineIdentity `type:"structure"`
30793
30794	// The name of the patch group registered with the patch baseline.
30795	PatchGroup *string `min:"1" type:"string"`
30796}
30797
30798// String returns the string representation
30799func (s PatchGroupPatchBaselineMapping) String() string {
30800	return awsutil.Prettify(s)
30801}
30802
30803// GoString returns the string representation
30804func (s PatchGroupPatchBaselineMapping) GoString() string {
30805	return s.String()
30806}
30807
30808// SetBaselineIdentity sets the BaselineIdentity field's value.
30809func (s *PatchGroupPatchBaselineMapping) SetBaselineIdentity(v *PatchBaselineIdentity) *PatchGroupPatchBaselineMapping {
30810	s.BaselineIdentity = v
30811	return s
30812}
30813
30814// SetPatchGroup sets the PatchGroup field's value.
30815func (s *PatchGroupPatchBaselineMapping) SetPatchGroup(v string) *PatchGroupPatchBaselineMapping {
30816	s.PatchGroup = &v
30817	return s
30818}
30819
30820// Defines a filter used in Patch Manager APIs.
30821type PatchOrchestratorFilter struct {
30822	_ struct{} `type:"structure"`
30823
30824	// The key for the filter.
30825	Key *string `min:"1" type:"string"`
30826
30827	// The value for the filter.
30828	Values []*string `type:"list"`
30829}
30830
30831// String returns the string representation
30832func (s PatchOrchestratorFilter) String() string {
30833	return awsutil.Prettify(s)
30834}
30835
30836// GoString returns the string representation
30837func (s PatchOrchestratorFilter) GoString() string {
30838	return s.String()
30839}
30840
30841// Validate inspects the fields of the type to determine if they are valid.
30842func (s *PatchOrchestratorFilter) Validate() error {
30843	invalidParams := request.ErrInvalidParams{Context: "PatchOrchestratorFilter"}
30844	if s.Key != nil && len(*s.Key) < 1 {
30845		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
30846	}
30847
30848	if invalidParams.Len() > 0 {
30849		return invalidParams
30850	}
30851	return nil
30852}
30853
30854// SetKey sets the Key field's value.
30855func (s *PatchOrchestratorFilter) SetKey(v string) *PatchOrchestratorFilter {
30856	s.Key = &v
30857	return s
30858}
30859
30860// SetValues sets the Values field's value.
30861func (s *PatchOrchestratorFilter) SetValues(v []*string) *PatchOrchestratorFilter {
30862	s.Values = v
30863	return s
30864}
30865
30866// Defines an approval rule for a patch baseline.
30867type PatchRule struct {
30868	_ struct{} `type:"structure"`
30869
30870	// The number of days after the release date of each patch matched by the rule
30871	// that the patch is marked as approved in the patch baseline. For example,
30872	// a value of 7 means that patches are approved seven days after they are released.
30873	//
30874	// ApproveAfterDays is a required field
30875	ApproveAfterDays *int64 `type:"integer" required:"true"`
30876
30877	// A compliance severity level for all approved patches in a patch baseline.
30878	// Valid compliance severity levels include the following: Unspecified, Critical,
30879	// High, Medium, Low, and Informational.
30880	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
30881
30882	// For instances identified by the approval rule filters, enables a patch baseline
30883	// to apply non-security updates available in the specified repository. The
30884	// default value is 'false'. Applies to Linux instances only.
30885	EnableNonSecurity *bool `type:"boolean"`
30886
30887	// The patch filter group that defines the criteria for the rule.
30888	//
30889	// PatchFilterGroup is a required field
30890	PatchFilterGroup *PatchFilterGroup `type:"structure" required:"true"`
30891}
30892
30893// String returns the string representation
30894func (s PatchRule) String() string {
30895	return awsutil.Prettify(s)
30896}
30897
30898// GoString returns the string representation
30899func (s PatchRule) GoString() string {
30900	return s.String()
30901}
30902
30903// Validate inspects the fields of the type to determine if they are valid.
30904func (s *PatchRule) Validate() error {
30905	invalidParams := request.ErrInvalidParams{Context: "PatchRule"}
30906	if s.ApproveAfterDays == nil {
30907		invalidParams.Add(request.NewErrParamRequired("ApproveAfterDays"))
30908	}
30909	if s.PatchFilterGroup == nil {
30910		invalidParams.Add(request.NewErrParamRequired("PatchFilterGroup"))
30911	}
30912	if s.PatchFilterGroup != nil {
30913		if err := s.PatchFilterGroup.Validate(); err != nil {
30914			invalidParams.AddNested("PatchFilterGroup", err.(request.ErrInvalidParams))
30915		}
30916	}
30917
30918	if invalidParams.Len() > 0 {
30919		return invalidParams
30920	}
30921	return nil
30922}
30923
30924// SetApproveAfterDays sets the ApproveAfterDays field's value.
30925func (s *PatchRule) SetApproveAfterDays(v int64) *PatchRule {
30926	s.ApproveAfterDays = &v
30927	return s
30928}
30929
30930// SetComplianceLevel sets the ComplianceLevel field's value.
30931func (s *PatchRule) SetComplianceLevel(v string) *PatchRule {
30932	s.ComplianceLevel = &v
30933	return s
30934}
30935
30936// SetEnableNonSecurity sets the EnableNonSecurity field's value.
30937func (s *PatchRule) SetEnableNonSecurity(v bool) *PatchRule {
30938	s.EnableNonSecurity = &v
30939	return s
30940}
30941
30942// SetPatchFilterGroup sets the PatchFilterGroup field's value.
30943func (s *PatchRule) SetPatchFilterGroup(v *PatchFilterGroup) *PatchRule {
30944	s.PatchFilterGroup = v
30945	return s
30946}
30947
30948// A set of rules defining the approval rules for a patch baseline.
30949type PatchRuleGroup struct {
30950	_ struct{} `type:"structure"`
30951
30952	// The rules that make up the rule group.
30953	//
30954	// PatchRules is a required field
30955	PatchRules []*PatchRule `type:"list" required:"true"`
30956}
30957
30958// String returns the string representation
30959func (s PatchRuleGroup) String() string {
30960	return awsutil.Prettify(s)
30961}
30962
30963// GoString returns the string representation
30964func (s PatchRuleGroup) GoString() string {
30965	return s.String()
30966}
30967
30968// Validate inspects the fields of the type to determine if they are valid.
30969func (s *PatchRuleGroup) Validate() error {
30970	invalidParams := request.ErrInvalidParams{Context: "PatchRuleGroup"}
30971	if s.PatchRules == nil {
30972		invalidParams.Add(request.NewErrParamRequired("PatchRules"))
30973	}
30974	if s.PatchRules != nil {
30975		for i, v := range s.PatchRules {
30976			if v == nil {
30977				continue
30978			}
30979			if err := v.Validate(); err != nil {
30980				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchRules", i), err.(request.ErrInvalidParams))
30981			}
30982		}
30983	}
30984
30985	if invalidParams.Len() > 0 {
30986		return invalidParams
30987	}
30988	return nil
30989}
30990
30991// SetPatchRules sets the PatchRules field's value.
30992func (s *PatchRuleGroup) SetPatchRules(v []*PatchRule) *PatchRuleGroup {
30993	s.PatchRules = v
30994	return s
30995}
30996
30997// Information about the patches to use to update the instances, including target
30998// operating systems and source repository. Applies to Linux instances only.
30999type PatchSource struct {
31000	_ struct{} `type:"structure"`
31001
31002	// The value of the yum repo configuration. For example:
31003	//
31004	// [main]
31005	//
31006	// cachedir=/var/cache/yum/$basesearch$releasever
31007	//
31008	// keepcache=0
31009	//
31010	// debuglevel=2
31011	//
31012	// Configuration is a required field
31013	Configuration *string `min:"1" type:"string" required:"true" sensitive:"true"`
31014
31015	// The name specified to identify the patch source.
31016	//
31017	// Name is a required field
31018	Name *string `type:"string" required:"true"`
31019
31020	// The specific operating system versions a patch repository applies to, such
31021	// as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7".
31022	// For lists of supported product values, see PatchFilter.
31023	//
31024	// Products is a required field
31025	Products []*string `min:"1" type:"list" required:"true"`
31026}
31027
31028// String returns the string representation
31029func (s PatchSource) String() string {
31030	return awsutil.Prettify(s)
31031}
31032
31033// GoString returns the string representation
31034func (s PatchSource) GoString() string {
31035	return s.String()
31036}
31037
31038// Validate inspects the fields of the type to determine if they are valid.
31039func (s *PatchSource) Validate() error {
31040	invalidParams := request.ErrInvalidParams{Context: "PatchSource"}
31041	if s.Configuration == nil {
31042		invalidParams.Add(request.NewErrParamRequired("Configuration"))
31043	}
31044	if s.Configuration != nil && len(*s.Configuration) < 1 {
31045		invalidParams.Add(request.NewErrParamMinLen("Configuration", 1))
31046	}
31047	if s.Name == nil {
31048		invalidParams.Add(request.NewErrParamRequired("Name"))
31049	}
31050	if s.Products == nil {
31051		invalidParams.Add(request.NewErrParamRequired("Products"))
31052	}
31053	if s.Products != nil && len(s.Products) < 1 {
31054		invalidParams.Add(request.NewErrParamMinLen("Products", 1))
31055	}
31056
31057	if invalidParams.Len() > 0 {
31058		return invalidParams
31059	}
31060	return nil
31061}
31062
31063// SetConfiguration sets the Configuration field's value.
31064func (s *PatchSource) SetConfiguration(v string) *PatchSource {
31065	s.Configuration = &v
31066	return s
31067}
31068
31069// SetName sets the Name field's value.
31070func (s *PatchSource) SetName(v string) *PatchSource {
31071	s.Name = &v
31072	return s
31073}
31074
31075// SetProducts sets the Products field's value.
31076func (s *PatchSource) SetProducts(v []*string) *PatchSource {
31077	s.Products = v
31078	return s
31079}
31080
31081// Information about the approval status of a patch.
31082type PatchStatus struct {
31083	_ struct{} `type:"structure"`
31084
31085	// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).
31086	ApprovalDate *time.Time `type:"timestamp"`
31087
31088	// The compliance severity level for a patch.
31089	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
31090
31091	// The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED,
31092	// EXPLICIT_REJECTED).
31093	DeploymentStatus *string `type:"string" enum:"PatchDeploymentStatus"`
31094}
31095
31096// String returns the string representation
31097func (s PatchStatus) String() string {
31098	return awsutil.Prettify(s)
31099}
31100
31101// GoString returns the string representation
31102func (s PatchStatus) GoString() string {
31103	return s.String()
31104}
31105
31106// SetApprovalDate sets the ApprovalDate field's value.
31107func (s *PatchStatus) SetApprovalDate(v time.Time) *PatchStatus {
31108	s.ApprovalDate = &v
31109	return s
31110}
31111
31112// SetComplianceLevel sets the ComplianceLevel field's value.
31113func (s *PatchStatus) SetComplianceLevel(v string) *PatchStatus {
31114	s.ComplianceLevel = &v
31115	return s
31116}
31117
31118// SetDeploymentStatus sets the DeploymentStatus field's value.
31119func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus {
31120	s.DeploymentStatus = &v
31121	return s
31122}
31123
31124// An aggregate of step execution statuses displayed in the AWS Console for
31125// a multi-Region and multi-account Automation execution.
31126type ProgressCounters struct {
31127	_ struct{} `type:"structure"`
31128
31129	// The total number of steps that the system cancelled in all specified AWS
31130	// Regions and accounts for the current Automation execution.
31131	CancelledSteps *int64 `type:"integer"`
31132
31133	// The total number of steps that failed to run in all specified AWS Regions
31134	// and accounts for the current Automation execution.
31135	FailedSteps *int64 `type:"integer"`
31136
31137	// The total number of steps that successfully completed in all specified AWS
31138	// Regions and accounts for the current Automation execution.
31139	SuccessSteps *int64 `type:"integer"`
31140
31141	// The total number of steps that timed out in all specified AWS Regions and
31142	// accounts for the current Automation execution.
31143	TimedOutSteps *int64 `type:"integer"`
31144
31145	// The total number of steps run in all specified AWS Regions and accounts for
31146	// the current Automation execution.
31147	TotalSteps *int64 `type:"integer"`
31148}
31149
31150// String returns the string representation
31151func (s ProgressCounters) String() string {
31152	return awsutil.Prettify(s)
31153}
31154
31155// GoString returns the string representation
31156func (s ProgressCounters) GoString() string {
31157	return s.String()
31158}
31159
31160// SetCancelledSteps sets the CancelledSteps field's value.
31161func (s *ProgressCounters) SetCancelledSteps(v int64) *ProgressCounters {
31162	s.CancelledSteps = &v
31163	return s
31164}
31165
31166// SetFailedSteps sets the FailedSteps field's value.
31167func (s *ProgressCounters) SetFailedSteps(v int64) *ProgressCounters {
31168	s.FailedSteps = &v
31169	return s
31170}
31171
31172// SetSuccessSteps sets the SuccessSteps field's value.
31173func (s *ProgressCounters) SetSuccessSteps(v int64) *ProgressCounters {
31174	s.SuccessSteps = &v
31175	return s
31176}
31177
31178// SetTimedOutSteps sets the TimedOutSteps field's value.
31179func (s *ProgressCounters) SetTimedOutSteps(v int64) *ProgressCounters {
31180	s.TimedOutSteps = &v
31181	return s
31182}
31183
31184// SetTotalSteps sets the TotalSteps field's value.
31185func (s *ProgressCounters) SetTotalSteps(v int64) *ProgressCounters {
31186	s.TotalSteps = &v
31187	return s
31188}
31189
31190type PutComplianceItemsInput struct {
31191	_ struct{} `type:"structure"`
31192
31193	// Specify the compliance type. For example, specify Association (for a State
31194	// Manager association), Patch, or Custom:string.
31195	//
31196	// ComplianceType is a required field
31197	ComplianceType *string `min:"1" type:"string" required:"true"`
31198
31199	// A summary of the call execution that includes an execution ID, the type of
31200	// execution (for example, Command), and the date/time of the execution using
31201	// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
31202	//
31203	// ExecutionSummary is a required field
31204	ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"`
31205
31206	// MD5 or SHA-256 content hash. The content hash is used to determine if existing
31207	// information should be overwritten or ignored. If the content hashes match,
31208	// the request to put compliance information is ignored.
31209	ItemContentHash *string `type:"string"`
31210
31211	// Information about the compliance as defined by the resource type. For example,
31212	// for a patch compliance type, Items includes information about the PatchSeverity,
31213	// Classification, etc.
31214	//
31215	// Items is a required field
31216	Items []*ComplianceItemEntry `type:"list" required:"true"`
31217
31218	// Specify an ID for this resource. For a managed instance, this is the instance
31219	// ID.
31220	//
31221	// ResourceId is a required field
31222	ResourceId *string `min:"1" type:"string" required:"true"`
31223
31224	// Specify the type of resource. ManagedInstance is currently the only supported
31225	// resource type.
31226	//
31227	// ResourceType is a required field
31228	ResourceType *string `min:"1" type:"string" required:"true"`
31229}
31230
31231// String returns the string representation
31232func (s PutComplianceItemsInput) String() string {
31233	return awsutil.Prettify(s)
31234}
31235
31236// GoString returns the string representation
31237func (s PutComplianceItemsInput) GoString() string {
31238	return s.String()
31239}
31240
31241// Validate inspects the fields of the type to determine if they are valid.
31242func (s *PutComplianceItemsInput) Validate() error {
31243	invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"}
31244	if s.ComplianceType == nil {
31245		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
31246	}
31247	if s.ComplianceType != nil && len(*s.ComplianceType) < 1 {
31248		invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1))
31249	}
31250	if s.ExecutionSummary == nil {
31251		invalidParams.Add(request.NewErrParamRequired("ExecutionSummary"))
31252	}
31253	if s.Items == nil {
31254		invalidParams.Add(request.NewErrParamRequired("Items"))
31255	}
31256	if s.ResourceId == nil {
31257		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
31258	}
31259	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
31260		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
31261	}
31262	if s.ResourceType == nil {
31263		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
31264	}
31265	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
31266		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
31267	}
31268	if s.ExecutionSummary != nil {
31269		if err := s.ExecutionSummary.Validate(); err != nil {
31270			invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams))
31271		}
31272	}
31273	if s.Items != nil {
31274		for i, v := range s.Items {
31275			if v == nil {
31276				continue
31277			}
31278			if err := v.Validate(); err != nil {
31279				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
31280			}
31281		}
31282	}
31283
31284	if invalidParams.Len() > 0 {
31285		return invalidParams
31286	}
31287	return nil
31288}
31289
31290// SetComplianceType sets the ComplianceType field's value.
31291func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput {
31292	s.ComplianceType = &v
31293	return s
31294}
31295
31296// SetExecutionSummary sets the ExecutionSummary field's value.
31297func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput {
31298	s.ExecutionSummary = v
31299	return s
31300}
31301
31302// SetItemContentHash sets the ItemContentHash field's value.
31303func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput {
31304	s.ItemContentHash = &v
31305	return s
31306}
31307
31308// SetItems sets the Items field's value.
31309func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput {
31310	s.Items = v
31311	return s
31312}
31313
31314// SetResourceId sets the ResourceId field's value.
31315func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput {
31316	s.ResourceId = &v
31317	return s
31318}
31319
31320// SetResourceType sets the ResourceType field's value.
31321func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput {
31322	s.ResourceType = &v
31323	return s
31324}
31325
31326type PutComplianceItemsOutput struct {
31327	_ struct{} `type:"structure"`
31328}
31329
31330// String returns the string representation
31331func (s PutComplianceItemsOutput) String() string {
31332	return awsutil.Prettify(s)
31333}
31334
31335// GoString returns the string representation
31336func (s PutComplianceItemsOutput) GoString() string {
31337	return s.String()
31338}
31339
31340type PutInventoryInput struct {
31341	_ struct{} `type:"structure"`
31342
31343	// One or more instance IDs where you want to add or update inventory items.
31344	//
31345	// InstanceId is a required field
31346	InstanceId *string `type:"string" required:"true"`
31347
31348	// The inventory items that you want to add or update on instances.
31349	//
31350	// Items is a required field
31351	Items []*InventoryItem `min:"1" type:"list" required:"true"`
31352}
31353
31354// String returns the string representation
31355func (s PutInventoryInput) String() string {
31356	return awsutil.Prettify(s)
31357}
31358
31359// GoString returns the string representation
31360func (s PutInventoryInput) GoString() string {
31361	return s.String()
31362}
31363
31364// Validate inspects the fields of the type to determine if they are valid.
31365func (s *PutInventoryInput) Validate() error {
31366	invalidParams := request.ErrInvalidParams{Context: "PutInventoryInput"}
31367	if s.InstanceId == nil {
31368		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
31369	}
31370	if s.Items == nil {
31371		invalidParams.Add(request.NewErrParamRequired("Items"))
31372	}
31373	if s.Items != nil && len(s.Items) < 1 {
31374		invalidParams.Add(request.NewErrParamMinLen("Items", 1))
31375	}
31376	if s.Items != nil {
31377		for i, v := range s.Items {
31378			if v == nil {
31379				continue
31380			}
31381			if err := v.Validate(); err != nil {
31382				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
31383			}
31384		}
31385	}
31386
31387	if invalidParams.Len() > 0 {
31388		return invalidParams
31389	}
31390	return nil
31391}
31392
31393// SetInstanceId sets the InstanceId field's value.
31394func (s *PutInventoryInput) SetInstanceId(v string) *PutInventoryInput {
31395	s.InstanceId = &v
31396	return s
31397}
31398
31399// SetItems sets the Items field's value.
31400func (s *PutInventoryInput) SetItems(v []*InventoryItem) *PutInventoryInput {
31401	s.Items = v
31402	return s
31403}
31404
31405type PutInventoryOutput struct {
31406	_ struct{} `type:"structure"`
31407
31408	// Information about the request.
31409	Message *string `type:"string"`
31410}
31411
31412// String returns the string representation
31413func (s PutInventoryOutput) String() string {
31414	return awsutil.Prettify(s)
31415}
31416
31417// GoString returns the string representation
31418func (s PutInventoryOutput) GoString() string {
31419	return s.String()
31420}
31421
31422// SetMessage sets the Message field's value.
31423func (s *PutInventoryOutput) SetMessage(v string) *PutInventoryOutput {
31424	s.Message = &v
31425	return s
31426}
31427
31428type PutParameterInput struct {
31429	_ struct{} `type:"structure"`
31430
31431	// A regular expression used to validate the parameter value. For example, for
31432	// String types with values restricted to numbers, you can specify the following:
31433	// AllowedPattern=^\d+$
31434	AllowedPattern *string `type:"string"`
31435
31436	// Information about the parameter that you want to add to the system. Optional
31437	// but recommended.
31438	//
31439	// Do not enter personally identifiable information in this field.
31440	Description *string `type:"string"`
31441
31442	// The KMS Key ID that you want to use to encrypt a parameter. Either the default
31443	// AWS Key Management Service (AWS KMS) key automatically assigned to your AWS
31444	// account or a custom key. Required for parameters that use the SecureString
31445	// data type.
31446	//
31447	// If you don't specify a key ID, the system uses the default key associated
31448	// with your AWS account.
31449	//
31450	//    * To use your default AWS KMS key, choose the SecureString data type,
31451	//    and do not specify the Key ID when you create the parameter. The system
31452	//    automatically populates Key ID with your default KMS key.
31453	//
31454	//    * To use a custom KMS key, choose the SecureString data type with the
31455	//    Key ID parameter.
31456	KeyId *string `min:"1" type:"string"`
31457
31458	// The fully qualified name of the parameter that you want to add to the system.
31459	// The fully qualified name includes the complete hierarchy of the parameter
31460	// path and name. For example: /Dev/DBServer/MySQL/db-string13
31461	//
31462	// Naming Constraints:
31463	//
31464	//    * Parameter names are case sensitive.
31465	//
31466	//    * A parameter name must be unique within an AWS Region
31467	//
31468	//    * A parameter name can't be prefixed with "aws" or "ssm" (case-insensitive).
31469	//
31470	//    * Parameter names can include only the following symbols and letters:
31471	//    a-zA-Z0-9_.-/
31472	//
31473	//    * A parameter name can't include spaces.
31474	//
31475	//    * Parameter hierarchies are limited to a maximum depth of fifteen levels.
31476	//
31477	// For additional information about valid values for parameter names, see Requirements
31478	// and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
31479	// in the AWS Systems Manager User Guide.
31480	//
31481	// The maximum length constraint listed below includes capacity for additional
31482	// system attributes that are not part of the name. The maximum length for the
31483	// fully qualified parameter name is 1011 characters.
31484	//
31485	// Name is a required field
31486	Name *string `min:"1" type:"string" required:"true"`
31487
31488	// Overwrite an existing parameter. If not specified, will default to "false".
31489	Overwrite *bool `type:"boolean"`
31490
31491	// One or more policies to apply to a parameter. This action takes a JSON array.
31492	// Parameter Store supports the following policy types:
31493	//
31494	// Expiration: This policy deletes the parameter after it expires. When you
31495	// create the policy, you specify the expiration date. You can update the expiration
31496	// date and time by updating the policy. Updating the parameter does not affect
31497	// the expiration date and time. When the expiration time is reached, Parameter
31498	// Store deletes the parameter.
31499	//
31500	// ExpirationNotification: This policy triggers an event in Amazon CloudWatch
31501	// Events that notifies you about the expiration. By using this policy, you
31502	// can receive notification before or after the expiration time is reached,
31503	// in units of days or hours.
31504	//
31505	// NoChangeNotification: This policy triggers a CloudWatch event if a parameter
31506	// has not been modified for a specified period of time. This policy type is
31507	// useful when, for example, a secret needs to be changed within a period of
31508	// time, but it has not been changed.
31509	//
31510	// All existing policies are preserved until you send new policies or an empty
31511	// policy. For more information about parameter policies, see Working with Parameter
31512	// Policies (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-policies.html).
31513	Policies *string `min:"1" type:"string"`
31514
31515	// Optional metadata that you assign to a resource. Tags enable you to categorize
31516	// a resource in different ways, such as by purpose, owner, or environment.
31517	// For example, you might want to tag a Systems Manager parameter to identify
31518	// the type of resource to which it applies, the environment, or the type of
31519	// configuration data referenced by the parameter. In this case, you could specify
31520	// the following key name/value pairs:
31521	//
31522	//    * Key=Resource,Value=S3bucket
31523	//
31524	//    * Key=OS,Value=Windows
31525	//
31526	//    * Key=ParameterType,Value=LicenseKey
31527	//
31528	// To add tags to an existing Systems Manager parameter, use the AddTagsToResource
31529	// action.
31530	Tags []*Tag `type:"list"`
31531
31532	// The parameter tier to assign to a parameter.
31533	//
31534	// Parameter Store offers a standard tier and an advanced tier for parameters.
31535	// Standard parameters have a content size limit of 4 KB and can't be configured
31536	// to use parameter policies. You can create a maximum of 10,000 standard parameters
31537	// for each Region in an AWS account. Standard parameters are offered at no
31538	// additional cost.
31539	//
31540	// Advanced parameters have a content size limit of 8 KB and can be configured
31541	// to use parameter policies. You can create a maximum of 100,000 advanced parameters
31542	// for each Region in an AWS account. Advanced parameters incur a charge. For
31543	// more information, see About Advanced Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html)
31544	// in the AWS Systems Manager User Guide.
31545	//
31546	// You can change a standard parameter to an advanced parameter any time. But
31547	// you can't revert an advanced parameter to a standard parameter. Reverting
31548	// an advanced parameter to a standard parameter would result in data loss because
31549	// the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting
31550	// would also remove any policies attached to the parameter. Lastly, advanced
31551	// parameters use a different form of encryption than standard parameters.
31552	//
31553	// If you no longer need an advanced parameter, or if you no longer want to
31554	// incur charges for an advanced parameter, you must delete it and recreate
31555	// it as a new standard parameter.
31556	//
31557	// Using the Default Tier Configuration
31558	//
31559	// In PutParameter requests, you can specify the tier to create the parameter
31560	// in. Whenever you specify a tier in the request, Parameter Store creates or
31561	// updates the parameter according to that request. However, if you do not specify
31562	// a tier in a request, Parameter Store assigns the tier based on the current
31563	// Parameter Store default tier configuration.
31564	//
31565	// The default tier when you begin using Parameter Store is the standard-parameter
31566	// tier. If you use the advanced-parameter tier, you can specify one of the
31567	// following as the default:
31568	//
31569	//    * Advanced: With this option, Parameter Store evaluates all requests as
31570	//    advanced parameters.
31571	//
31572	//    * Intelligent-Tiering: With this option, Parameter Store evaluates each
31573	//    request to determine if the parameter is standard or advanced. If the
31574	//    request doesn't include any options that require an advanced parameter,
31575	//    the parameter is created in the standard-parameter tier. If one or more
31576	//    options requiring an advanced parameter are included in the request, Parameter
31577	//    Store create a parameter in the advanced-parameter tier. This approach
31578	//    helps control your parameter-related costs by always creating standard
31579	//    parameters unless an advanced parameter is necessary.
31580	//
31581	// Options that require an advanced parameter include the following:
31582	//
31583	//    * The content size of the parameter is more than 4 KB.
31584	//
31585	//    * The parameter uses a parameter policy.
31586	//
31587	//    * More than 10,000 parameters already exist in your AWS account in the
31588	//    current Region.
31589	//
31590	// For more information about configuring the default tier option, see Specifying
31591	// a Default Parameter Tier (http://docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html)
31592	// in the AWS Systems Manager User Guide.
31593	Tier *string `type:"string" enum:"ParameterTier"`
31594
31595	// The type of parameter that you want to add to the system.
31596	//
31597	// Items in a StringList must be separated by a comma (,). You can't use other
31598	// punctuation or special character to escape items in the list. If you have
31599	// a parameter value that requires a comma, then use the String data type.
31600	//
31601	// SecureString is not currently supported for AWS CloudFormation templates
31602	// or in the China Regions.
31603	//
31604	// Type is a required field
31605	Type *string `type:"string" required:"true" enum:"ParameterType"`
31606
31607	// The parameter value that you want to add to the system. Standard parameters
31608	// have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.
31609	//
31610	// Value is a required field
31611	Value *string `type:"string" required:"true"`
31612}
31613
31614// String returns the string representation
31615func (s PutParameterInput) String() string {
31616	return awsutil.Prettify(s)
31617}
31618
31619// GoString returns the string representation
31620func (s PutParameterInput) GoString() string {
31621	return s.String()
31622}
31623
31624// Validate inspects the fields of the type to determine if they are valid.
31625func (s *PutParameterInput) Validate() error {
31626	invalidParams := request.ErrInvalidParams{Context: "PutParameterInput"}
31627	if s.KeyId != nil && len(*s.KeyId) < 1 {
31628		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
31629	}
31630	if s.Name == nil {
31631		invalidParams.Add(request.NewErrParamRequired("Name"))
31632	}
31633	if s.Name != nil && len(*s.Name) < 1 {
31634		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
31635	}
31636	if s.Policies != nil && len(*s.Policies) < 1 {
31637		invalidParams.Add(request.NewErrParamMinLen("Policies", 1))
31638	}
31639	if s.Type == nil {
31640		invalidParams.Add(request.NewErrParamRequired("Type"))
31641	}
31642	if s.Value == nil {
31643		invalidParams.Add(request.NewErrParamRequired("Value"))
31644	}
31645	if s.Tags != nil {
31646		for i, v := range s.Tags {
31647			if v == nil {
31648				continue
31649			}
31650			if err := v.Validate(); err != nil {
31651				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
31652			}
31653		}
31654	}
31655
31656	if invalidParams.Len() > 0 {
31657		return invalidParams
31658	}
31659	return nil
31660}
31661
31662// SetAllowedPattern sets the AllowedPattern field's value.
31663func (s *PutParameterInput) SetAllowedPattern(v string) *PutParameterInput {
31664	s.AllowedPattern = &v
31665	return s
31666}
31667
31668// SetDescription sets the Description field's value.
31669func (s *PutParameterInput) SetDescription(v string) *PutParameterInput {
31670	s.Description = &v
31671	return s
31672}
31673
31674// SetKeyId sets the KeyId field's value.
31675func (s *PutParameterInput) SetKeyId(v string) *PutParameterInput {
31676	s.KeyId = &v
31677	return s
31678}
31679
31680// SetName sets the Name field's value.
31681func (s *PutParameterInput) SetName(v string) *PutParameterInput {
31682	s.Name = &v
31683	return s
31684}
31685
31686// SetOverwrite sets the Overwrite field's value.
31687func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput {
31688	s.Overwrite = &v
31689	return s
31690}
31691
31692// SetPolicies sets the Policies field's value.
31693func (s *PutParameterInput) SetPolicies(v string) *PutParameterInput {
31694	s.Policies = &v
31695	return s
31696}
31697
31698// SetTags sets the Tags field's value.
31699func (s *PutParameterInput) SetTags(v []*Tag) *PutParameterInput {
31700	s.Tags = v
31701	return s
31702}
31703
31704// SetTier sets the Tier field's value.
31705func (s *PutParameterInput) SetTier(v string) *PutParameterInput {
31706	s.Tier = &v
31707	return s
31708}
31709
31710// SetType sets the Type field's value.
31711func (s *PutParameterInput) SetType(v string) *PutParameterInput {
31712	s.Type = &v
31713	return s
31714}
31715
31716// SetValue sets the Value field's value.
31717func (s *PutParameterInput) SetValue(v string) *PutParameterInput {
31718	s.Value = &v
31719	return s
31720}
31721
31722type PutParameterOutput struct {
31723	_ struct{} `type:"structure"`
31724
31725	// The new version number of a parameter. If you edit a parameter value, Parameter
31726	// Store automatically creates a new version and assigns this new version a
31727	// unique ID. You can reference a parameter version ID in API actions or in
31728	// Systems Manager documents (SSM documents). By default, if you don't specify
31729	// a specific version, the system returns the latest parameter value when a
31730	// parameter is called.
31731	Version *int64 `type:"long"`
31732}
31733
31734// String returns the string representation
31735func (s PutParameterOutput) String() string {
31736	return awsutil.Prettify(s)
31737}
31738
31739// GoString returns the string representation
31740func (s PutParameterOutput) GoString() string {
31741	return s.String()
31742}
31743
31744// SetVersion sets the Version field's value.
31745func (s *PutParameterOutput) SetVersion(v int64) *PutParameterOutput {
31746	s.Version = &v
31747	return s
31748}
31749
31750type RegisterDefaultPatchBaselineInput struct {
31751	_ struct{} `type:"structure"`
31752
31753	// The ID of the patch baseline that should be the default patch baseline.
31754	//
31755	// BaselineId is a required field
31756	BaselineId *string `min:"20" type:"string" required:"true"`
31757}
31758
31759// String returns the string representation
31760func (s RegisterDefaultPatchBaselineInput) String() string {
31761	return awsutil.Prettify(s)
31762}
31763
31764// GoString returns the string representation
31765func (s RegisterDefaultPatchBaselineInput) GoString() string {
31766	return s.String()
31767}
31768
31769// Validate inspects the fields of the type to determine if they are valid.
31770func (s *RegisterDefaultPatchBaselineInput) Validate() error {
31771	invalidParams := request.ErrInvalidParams{Context: "RegisterDefaultPatchBaselineInput"}
31772	if s.BaselineId == nil {
31773		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
31774	}
31775	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
31776		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
31777	}
31778
31779	if invalidParams.Len() > 0 {
31780		return invalidParams
31781	}
31782	return nil
31783}
31784
31785// SetBaselineId sets the BaselineId field's value.
31786func (s *RegisterDefaultPatchBaselineInput) SetBaselineId(v string) *RegisterDefaultPatchBaselineInput {
31787	s.BaselineId = &v
31788	return s
31789}
31790
31791type RegisterDefaultPatchBaselineOutput struct {
31792	_ struct{} `type:"structure"`
31793
31794	// The ID of the default patch baseline.
31795	BaselineId *string `min:"20" type:"string"`
31796}
31797
31798// String returns the string representation
31799func (s RegisterDefaultPatchBaselineOutput) String() string {
31800	return awsutil.Prettify(s)
31801}
31802
31803// GoString returns the string representation
31804func (s RegisterDefaultPatchBaselineOutput) GoString() string {
31805	return s.String()
31806}
31807
31808// SetBaselineId sets the BaselineId field's value.
31809func (s *RegisterDefaultPatchBaselineOutput) SetBaselineId(v string) *RegisterDefaultPatchBaselineOutput {
31810	s.BaselineId = &v
31811	return s
31812}
31813
31814type RegisterPatchBaselineForPatchGroupInput struct {
31815	_ struct{} `type:"structure"`
31816
31817	// The ID of the patch baseline to register the patch group with.
31818	//
31819	// BaselineId is a required field
31820	BaselineId *string `min:"20" type:"string" required:"true"`
31821
31822	// The name of the patch group that should be registered with the patch baseline.
31823	//
31824	// PatchGroup is a required field
31825	PatchGroup *string `min:"1" type:"string" required:"true"`
31826}
31827
31828// String returns the string representation
31829func (s RegisterPatchBaselineForPatchGroupInput) String() string {
31830	return awsutil.Prettify(s)
31831}
31832
31833// GoString returns the string representation
31834func (s RegisterPatchBaselineForPatchGroupInput) GoString() string {
31835	return s.String()
31836}
31837
31838// Validate inspects the fields of the type to determine if they are valid.
31839func (s *RegisterPatchBaselineForPatchGroupInput) Validate() error {
31840	invalidParams := request.ErrInvalidParams{Context: "RegisterPatchBaselineForPatchGroupInput"}
31841	if s.BaselineId == nil {
31842		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
31843	}
31844	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
31845		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
31846	}
31847	if s.PatchGroup == nil {
31848		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
31849	}
31850	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
31851		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
31852	}
31853
31854	if invalidParams.Len() > 0 {
31855		return invalidParams
31856	}
31857	return nil
31858}
31859
31860// SetBaselineId sets the BaselineId field's value.
31861func (s *RegisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupInput {
31862	s.BaselineId = &v
31863	return s
31864}
31865
31866// SetPatchGroup sets the PatchGroup field's value.
31867func (s *RegisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupInput {
31868	s.PatchGroup = &v
31869	return s
31870}
31871
31872type RegisterPatchBaselineForPatchGroupOutput struct {
31873	_ struct{} `type:"structure"`
31874
31875	// The ID of the patch baseline the patch group was registered with.
31876	BaselineId *string `min:"20" type:"string"`
31877
31878	// The name of the patch group registered with the patch baseline.
31879	PatchGroup *string `min:"1" type:"string"`
31880}
31881
31882// String returns the string representation
31883func (s RegisterPatchBaselineForPatchGroupOutput) String() string {
31884	return awsutil.Prettify(s)
31885}
31886
31887// GoString returns the string representation
31888func (s RegisterPatchBaselineForPatchGroupOutput) GoString() string {
31889	return s.String()
31890}
31891
31892// SetBaselineId sets the BaselineId field's value.
31893func (s *RegisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupOutput {
31894	s.BaselineId = &v
31895	return s
31896}
31897
31898// SetPatchGroup sets the PatchGroup field's value.
31899func (s *RegisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupOutput {
31900	s.PatchGroup = &v
31901	return s
31902}
31903
31904type RegisterTargetWithMaintenanceWindowInput struct {
31905	_ struct{} `type:"structure"`
31906
31907	// User-provided idempotency token.
31908	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
31909
31910	// An optional description for the target.
31911	Description *string `min:"1" type:"string" sensitive:"true"`
31912
31913	// An optional name for the target.
31914	Name *string `min:"3" type:"string"`
31915
31916	// User-provided value that will be included in any CloudWatch events raised
31917	// while running tasks for these targets in this maintenance window.
31918	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
31919
31920	// The type of target being registered with the maintenance window.
31921	//
31922	// ResourceType is a required field
31923	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
31924
31925	// The targets to register with the maintenance window. In other words, the
31926	// instances to run commands on when the maintenance window runs.
31927	//
31928	// You can specify targets using instance IDs, resource group names, or tags
31929	// that have been applied to instances.
31930	//
31931	// Example 1: Specify instance IDs
31932	//
31933	// Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
31934	//
31935	// Example 2: Use tag key-pairs applied to instances
31936	//
31937	// Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
31938	//
31939	// Example 3: Use tag-keys applied to instances
31940	//
31941	// Key=tag-key,Values=my-tag-key-1,my-tag-key-2
31942	//
31943	// Example 4: Use resource group names
31944	//
31945	// Key=resource-groups:Name,Values=resource-group-name
31946	//
31947	// Example 5: Use filters for resource group types
31948	//
31949	// Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
31950	//
31951	// For Key=resource-groups:ResourceTypeFilters, specify resource types in the
31952	// following format
31953	//
31954	// Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
31955	//
31956	// For more information about these examples formats, including the best use
31957	// case for each one, see Examples: Register Targets with a Maintenance Window
31958	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html)
31959	// in the AWS Systems Manager User Guide.
31960	//
31961	// Targets is a required field
31962	Targets []*Target `type:"list" required:"true"`
31963
31964	// The ID of the maintenance window the target should be registered with.
31965	//
31966	// WindowId is a required field
31967	WindowId *string `min:"20" type:"string" required:"true"`
31968}
31969
31970// String returns the string representation
31971func (s RegisterTargetWithMaintenanceWindowInput) String() string {
31972	return awsutil.Prettify(s)
31973}
31974
31975// GoString returns the string representation
31976func (s RegisterTargetWithMaintenanceWindowInput) GoString() string {
31977	return s.String()
31978}
31979
31980// Validate inspects the fields of the type to determine if they are valid.
31981func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error {
31982	invalidParams := request.ErrInvalidParams{Context: "RegisterTargetWithMaintenanceWindowInput"}
31983	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
31984		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
31985	}
31986	if s.Description != nil && len(*s.Description) < 1 {
31987		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
31988	}
31989	if s.Name != nil && len(*s.Name) < 3 {
31990		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
31991	}
31992	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
31993		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
31994	}
31995	if s.ResourceType == nil {
31996		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
31997	}
31998	if s.Targets == nil {
31999		invalidParams.Add(request.NewErrParamRequired("Targets"))
32000	}
32001	if s.WindowId == nil {
32002		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32003	}
32004	if s.WindowId != nil && len(*s.WindowId) < 20 {
32005		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32006	}
32007	if s.Targets != nil {
32008		for i, v := range s.Targets {
32009			if v == nil {
32010				continue
32011			}
32012			if err := v.Validate(); err != nil {
32013				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
32014			}
32015		}
32016	}
32017
32018	if invalidParams.Len() > 0 {
32019		return invalidParams
32020	}
32021	return nil
32022}
32023
32024// SetClientToken sets the ClientToken field's value.
32025func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTargetWithMaintenanceWindowInput {
32026	s.ClientToken = &v
32027	return s
32028}
32029
32030// SetDescription sets the Description field's value.
32031func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput {
32032	s.Description = &v
32033	return s
32034}
32035
32036// SetName sets the Name field's value.
32037func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput {
32038	s.Name = &v
32039	return s
32040}
32041
32042// SetOwnerInformation sets the OwnerInformation field's value.
32043func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput {
32044	s.OwnerInformation = &v
32045	return s
32046}
32047
32048// SetResourceType sets the ResourceType field's value.
32049func (s *RegisterTargetWithMaintenanceWindowInput) SetResourceType(v string) *RegisterTargetWithMaintenanceWindowInput {
32050	s.ResourceType = &v
32051	return s
32052}
32053
32054// SetTargets sets the Targets field's value.
32055func (s *RegisterTargetWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTargetWithMaintenanceWindowInput {
32056	s.Targets = v
32057	return s
32058}
32059
32060// SetWindowId sets the WindowId field's value.
32061func (s *RegisterTargetWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTargetWithMaintenanceWindowInput {
32062	s.WindowId = &v
32063	return s
32064}
32065
32066type RegisterTargetWithMaintenanceWindowOutput struct {
32067	_ struct{} `type:"structure"`
32068
32069	// The ID of the target definition in this maintenance window.
32070	WindowTargetId *string `min:"36" type:"string"`
32071}
32072
32073// String returns the string representation
32074func (s RegisterTargetWithMaintenanceWindowOutput) String() string {
32075	return awsutil.Prettify(s)
32076}
32077
32078// GoString returns the string representation
32079func (s RegisterTargetWithMaintenanceWindowOutput) GoString() string {
32080	return s.String()
32081}
32082
32083// SetWindowTargetId sets the WindowTargetId field's value.
32084func (s *RegisterTargetWithMaintenanceWindowOutput) SetWindowTargetId(v string) *RegisterTargetWithMaintenanceWindowOutput {
32085	s.WindowTargetId = &v
32086	return s
32087}
32088
32089type RegisterTaskWithMaintenanceWindowInput struct {
32090	_ struct{} `type:"structure"`
32091
32092	// User-provided idempotency token.
32093	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
32094
32095	// An optional description for the task.
32096	Description *string `min:"1" type:"string" sensitive:"true"`
32097
32098	// A structure containing information about an Amazon S3 bucket to write instance-level
32099	// logs to.
32100	//
32101	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
32102	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
32103	// structure. For information about how Systems Manager handles these options
32104	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32105	LoggingInfo *LoggingInfo `type:"structure"`
32106
32107	// The maximum number of targets this task can be run for in parallel.
32108	//
32109	// MaxConcurrency is a required field
32110	MaxConcurrency *string `min:"1" type:"string" required:"true"`
32111
32112	// The maximum number of errors allowed before this task stops being scheduled.
32113	//
32114	// MaxErrors is a required field
32115	MaxErrors *string `min:"1" type:"string" required:"true"`
32116
32117	// An optional name for the task.
32118	Name *string `min:"3" type:"string"`
32119
32120	// The priority of the task in the maintenance window, the lower the number
32121	// the higher the priority. Tasks in a maintenance window are scheduled in priority
32122	// order with tasks that have the same priority scheduled in parallel.
32123	Priority *int64 `type:"integer"`
32124
32125	// The ARN of the IAM service role for Systems Manager to assume when running
32126	// a maintenance window task. If you do not specify a service role ARN, Systems
32127	// Manager uses your account's service-linked role. If no service-linked role
32128	// for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.
32129	//
32130	// For more information, see the following topics in the in the AWS Systems
32131	// Manager User Guide:
32132	//
32133	//    * Service-Linked Role Permissions for Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
32134	//
32135	//    * Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance
32136	//    Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
32137	ServiceRoleArn *string `type:"string"`
32138
32139	// The targets (either instances or maintenance window targets).
32140	//
32141	// Specify instances using the following format:
32142	//
32143	// Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>
32144	//
32145	// Specify maintenance window targets using the following format:
32146	//
32147	// Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2>
32148	//
32149	// Targets is a required field
32150	Targets []*Target `type:"list" required:"true"`
32151
32152	// The ARN of the task to run.
32153	//
32154	// TaskArn is a required field
32155	TaskArn *string `min:"1" type:"string" required:"true"`
32156
32157	// The parameters that the task should use during execution. Populate only the
32158	// fields that match the task type. All other fields should be empty.
32159	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
32160
32161	// The parameters that should be passed to the task when it is run.
32162	//
32163	// TaskParameters has been deprecated. To specify parameters to pass to a task
32164	// when it runs, instead use the Parameters option in the TaskInvocationParameters
32165	// structure. For information about how Systems Manager handles these options
32166	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32167	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
32168
32169	// The type of task being registered.
32170	//
32171	// TaskType is a required field
32172	TaskType *string `type:"string" required:"true" enum:"MaintenanceWindowTaskType"`
32173
32174	// The ID of the maintenance window the task should be added to.
32175	//
32176	// WindowId is a required field
32177	WindowId *string `min:"20" type:"string" required:"true"`
32178}
32179
32180// String returns the string representation
32181func (s RegisterTaskWithMaintenanceWindowInput) String() string {
32182	return awsutil.Prettify(s)
32183}
32184
32185// GoString returns the string representation
32186func (s RegisterTaskWithMaintenanceWindowInput) GoString() string {
32187	return s.String()
32188}
32189
32190// Validate inspects the fields of the type to determine if they are valid.
32191func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error {
32192	invalidParams := request.ErrInvalidParams{Context: "RegisterTaskWithMaintenanceWindowInput"}
32193	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
32194		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
32195	}
32196	if s.Description != nil && len(*s.Description) < 1 {
32197		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
32198	}
32199	if s.MaxConcurrency == nil {
32200		invalidParams.Add(request.NewErrParamRequired("MaxConcurrency"))
32201	}
32202	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
32203		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
32204	}
32205	if s.MaxErrors == nil {
32206		invalidParams.Add(request.NewErrParamRequired("MaxErrors"))
32207	}
32208	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
32209		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
32210	}
32211	if s.Name != nil && len(*s.Name) < 3 {
32212		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
32213	}
32214	if s.Targets == nil {
32215		invalidParams.Add(request.NewErrParamRequired("Targets"))
32216	}
32217	if s.TaskArn == nil {
32218		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
32219	}
32220	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
32221		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
32222	}
32223	if s.TaskType == nil {
32224		invalidParams.Add(request.NewErrParamRequired("TaskType"))
32225	}
32226	if s.WindowId == nil {
32227		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32228	}
32229	if s.WindowId != nil && len(*s.WindowId) < 20 {
32230		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32231	}
32232	if s.LoggingInfo != nil {
32233		if err := s.LoggingInfo.Validate(); err != nil {
32234			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
32235		}
32236	}
32237	if s.Targets != nil {
32238		for i, v := range s.Targets {
32239			if v == nil {
32240				continue
32241			}
32242			if err := v.Validate(); err != nil {
32243				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
32244			}
32245		}
32246	}
32247	if s.TaskInvocationParameters != nil {
32248		if err := s.TaskInvocationParameters.Validate(); err != nil {
32249			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
32250		}
32251	}
32252
32253	if invalidParams.Len() > 0 {
32254		return invalidParams
32255	}
32256	return nil
32257}
32258
32259// SetClientToken sets the ClientToken field's value.
32260func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTaskWithMaintenanceWindowInput {
32261	s.ClientToken = &v
32262	return s
32263}
32264
32265// SetDescription sets the Description field's value.
32266func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput {
32267	s.Description = &v
32268	return s
32269}
32270
32271// SetLoggingInfo sets the LoggingInfo field's value.
32272func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput {
32273	s.LoggingInfo = v
32274	return s
32275}
32276
32277// SetMaxConcurrency sets the MaxConcurrency field's value.
32278func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxConcurrency(v string) *RegisterTaskWithMaintenanceWindowInput {
32279	s.MaxConcurrency = &v
32280	return s
32281}
32282
32283// SetMaxErrors sets the MaxErrors field's value.
32284func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *RegisterTaskWithMaintenanceWindowInput {
32285	s.MaxErrors = &v
32286	return s
32287}
32288
32289// SetName sets the Name field's value.
32290func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput {
32291	s.Name = &v
32292	return s
32293}
32294
32295// SetPriority sets the Priority field's value.
32296func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput {
32297	s.Priority = &v
32298	return s
32299}
32300
32301// SetServiceRoleArn sets the ServiceRoleArn field's value.
32302func (s *RegisterTaskWithMaintenanceWindowInput) SetServiceRoleArn(v string) *RegisterTaskWithMaintenanceWindowInput {
32303	s.ServiceRoleArn = &v
32304	return s
32305}
32306
32307// SetTargets sets the Targets field's value.
32308func (s *RegisterTaskWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTaskWithMaintenanceWindowInput {
32309	s.Targets = v
32310	return s
32311}
32312
32313// SetTaskArn sets the TaskArn field's value.
32314func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterTaskWithMaintenanceWindowInput {
32315	s.TaskArn = &v
32316	return s
32317}
32318
32319// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
32320func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput {
32321	s.TaskInvocationParameters = v
32322	return s
32323}
32324
32325// SetTaskParameters sets the TaskParameters field's value.
32326func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput {
32327	s.TaskParameters = v
32328	return s
32329}
32330
32331// SetTaskType sets the TaskType field's value.
32332func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskType(v string) *RegisterTaskWithMaintenanceWindowInput {
32333	s.TaskType = &v
32334	return s
32335}
32336
32337// SetWindowId sets the WindowId field's value.
32338func (s *RegisterTaskWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTaskWithMaintenanceWindowInput {
32339	s.WindowId = &v
32340	return s
32341}
32342
32343type RegisterTaskWithMaintenanceWindowOutput struct {
32344	_ struct{} `type:"structure"`
32345
32346	// The ID of the task in the maintenance window.
32347	WindowTaskId *string `min:"36" type:"string"`
32348}
32349
32350// String returns the string representation
32351func (s RegisterTaskWithMaintenanceWindowOutput) String() string {
32352	return awsutil.Prettify(s)
32353}
32354
32355// GoString returns the string representation
32356func (s RegisterTaskWithMaintenanceWindowOutput) GoString() string {
32357	return s.String()
32358}
32359
32360// SetWindowTaskId sets the WindowTaskId field's value.
32361func (s *RegisterTaskWithMaintenanceWindowOutput) SetWindowTaskId(v string) *RegisterTaskWithMaintenanceWindowOutput {
32362	s.WindowTaskId = &v
32363	return s
32364}
32365
32366// An OpsItems that shares something in common with the current OpsItem. For
32367// example, related OpsItems can include OpsItems with similar error messages,
32368// impacted resources, or statuses for the impacted resource.
32369type RelatedOpsItem struct {
32370	_ struct{} `type:"structure"`
32371
32372	// The ID of an OpsItem related to the current OpsItem.
32373	//
32374	// OpsItemId is a required field
32375	OpsItemId *string `type:"string" required:"true"`
32376}
32377
32378// String returns the string representation
32379func (s RelatedOpsItem) String() string {
32380	return awsutil.Prettify(s)
32381}
32382
32383// GoString returns the string representation
32384func (s RelatedOpsItem) GoString() string {
32385	return s.String()
32386}
32387
32388// Validate inspects the fields of the type to determine if they are valid.
32389func (s *RelatedOpsItem) Validate() error {
32390	invalidParams := request.ErrInvalidParams{Context: "RelatedOpsItem"}
32391	if s.OpsItemId == nil {
32392		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
32393	}
32394
32395	if invalidParams.Len() > 0 {
32396		return invalidParams
32397	}
32398	return nil
32399}
32400
32401// SetOpsItemId sets the OpsItemId field's value.
32402func (s *RelatedOpsItem) SetOpsItemId(v string) *RelatedOpsItem {
32403	s.OpsItemId = &v
32404	return s
32405}
32406
32407type RemoveTagsFromResourceInput struct {
32408	_ struct{} `type:"structure"`
32409
32410	// The ID of the resource from which you want to remove tags. For example:
32411	//
32412	// ManagedInstance: mi-012345abcde
32413	//
32414	// MaintenanceWindow: mw-012345abcde
32415	//
32416	// PatchBaseline: pb-012345abcde
32417	//
32418	// For the Document and Parameter values, use the name of the resource.
32419	//
32420	// The ManagedInstance type for this API action is only for on-premises managed
32421	// instances. Specify the name of the managed instance in the following format:
32422	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
32423	//
32424	// ResourceId is a required field
32425	ResourceId *string `type:"string" required:"true"`
32426
32427	// The type of resource from which you want to remove a tag.
32428	//
32429	// The ManagedInstance type for this API action is only for on-premises managed
32430	// instances. Specify the name of the managed instance in the following format:
32431	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
32432	//
32433	// ResourceType is a required field
32434	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
32435
32436	// Tag keys that you want to remove from the specified resource.
32437	//
32438	// TagKeys is a required field
32439	TagKeys []*string `type:"list" required:"true"`
32440}
32441
32442// String returns the string representation
32443func (s RemoveTagsFromResourceInput) String() string {
32444	return awsutil.Prettify(s)
32445}
32446
32447// GoString returns the string representation
32448func (s RemoveTagsFromResourceInput) GoString() string {
32449	return s.String()
32450}
32451
32452// Validate inspects the fields of the type to determine if they are valid.
32453func (s *RemoveTagsFromResourceInput) Validate() error {
32454	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
32455	if s.ResourceId == nil {
32456		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
32457	}
32458	if s.ResourceType == nil {
32459		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
32460	}
32461	if s.TagKeys == nil {
32462		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
32463	}
32464
32465	if invalidParams.Len() > 0 {
32466		return invalidParams
32467	}
32468	return nil
32469}
32470
32471// SetResourceId sets the ResourceId field's value.
32472func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
32473	s.ResourceId = &v
32474	return s
32475}
32476
32477// SetResourceType sets the ResourceType field's value.
32478func (s *RemoveTagsFromResourceInput) SetResourceType(v string) *RemoveTagsFromResourceInput {
32479	s.ResourceType = &v
32480	return s
32481}
32482
32483// SetTagKeys sets the TagKeys field's value.
32484func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
32485	s.TagKeys = v
32486	return s
32487}
32488
32489type RemoveTagsFromResourceOutput struct {
32490	_ struct{} `type:"structure"`
32491}
32492
32493// String returns the string representation
32494func (s RemoveTagsFromResourceOutput) String() string {
32495	return awsutil.Prettify(s)
32496}
32497
32498// GoString returns the string representation
32499func (s RemoveTagsFromResourceOutput) GoString() string {
32500	return s.String()
32501}
32502
32503// The request body of the ResetServiceSetting API action.
32504type ResetServiceSettingInput struct {
32505	_ struct{} `type:"structure"`
32506
32507	// The ID of the service setting to reset.
32508	//
32509	// SettingId is a required field
32510	SettingId *string `min:"1" type:"string" required:"true"`
32511}
32512
32513// String returns the string representation
32514func (s ResetServiceSettingInput) String() string {
32515	return awsutil.Prettify(s)
32516}
32517
32518// GoString returns the string representation
32519func (s ResetServiceSettingInput) GoString() string {
32520	return s.String()
32521}
32522
32523// Validate inspects the fields of the type to determine if they are valid.
32524func (s *ResetServiceSettingInput) Validate() error {
32525	invalidParams := request.ErrInvalidParams{Context: "ResetServiceSettingInput"}
32526	if s.SettingId == nil {
32527		invalidParams.Add(request.NewErrParamRequired("SettingId"))
32528	}
32529	if s.SettingId != nil && len(*s.SettingId) < 1 {
32530		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
32531	}
32532
32533	if invalidParams.Len() > 0 {
32534		return invalidParams
32535	}
32536	return nil
32537}
32538
32539// SetSettingId sets the SettingId field's value.
32540func (s *ResetServiceSettingInput) SetSettingId(v string) *ResetServiceSettingInput {
32541	s.SettingId = &v
32542	return s
32543}
32544
32545// The result body of the ResetServiceSetting API action.
32546type ResetServiceSettingOutput struct {
32547	_ struct{} `type:"structure"`
32548
32549	// The current, effective service setting after calling the ResetServiceSetting
32550	// API action.
32551	ServiceSetting *ServiceSetting `type:"structure"`
32552}
32553
32554// String returns the string representation
32555func (s ResetServiceSettingOutput) String() string {
32556	return awsutil.Prettify(s)
32557}
32558
32559// GoString returns the string representation
32560func (s ResetServiceSettingOutput) GoString() string {
32561	return s.String()
32562}
32563
32564// SetServiceSetting sets the ServiceSetting field's value.
32565func (s *ResetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *ResetServiceSettingOutput {
32566	s.ServiceSetting = v
32567	return s
32568}
32569
32570// Information about targets that resolved during the Automation execution.
32571type ResolvedTargets struct {
32572	_ struct{} `type:"structure"`
32573
32574	// A list of parameter values sent to targets that resolved during the Automation
32575	// execution.
32576	ParameterValues []*string `type:"list"`
32577
32578	// A boolean value indicating whether the resolved target list is truncated.
32579	Truncated *bool `type:"boolean"`
32580}
32581
32582// String returns the string representation
32583func (s ResolvedTargets) String() string {
32584	return awsutil.Prettify(s)
32585}
32586
32587// GoString returns the string representation
32588func (s ResolvedTargets) GoString() string {
32589	return s.String()
32590}
32591
32592// SetParameterValues sets the ParameterValues field's value.
32593func (s *ResolvedTargets) SetParameterValues(v []*string) *ResolvedTargets {
32594	s.ParameterValues = v
32595	return s
32596}
32597
32598// SetTruncated sets the Truncated field's value.
32599func (s *ResolvedTargets) SetTruncated(v bool) *ResolvedTargets {
32600	s.Truncated = &v
32601	return s
32602}
32603
32604// Compliance summary information for a specific resource.
32605type ResourceComplianceSummaryItem struct {
32606	_ struct{} `type:"structure"`
32607
32608	// The compliance type.
32609	ComplianceType *string `min:"1" type:"string"`
32610
32611	// A list of items that are compliant for the resource.
32612	CompliantSummary *CompliantSummary `type:"structure"`
32613
32614	// Information about the execution.
32615	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
32616
32617	// A list of items that aren't compliant for the resource.
32618	NonCompliantSummary *NonCompliantSummary `type:"structure"`
32619
32620	// The highest severity item found for the resource. The resource is compliant
32621	// for this item.
32622	OverallSeverity *string `type:"string" enum:"ComplianceSeverity"`
32623
32624	// The resource ID.
32625	ResourceId *string `min:"1" type:"string"`
32626
32627	// The resource type.
32628	ResourceType *string `min:"1" type:"string"`
32629
32630	// The compliance status for the resource.
32631	Status *string `type:"string" enum:"ComplianceStatus"`
32632}
32633
32634// String returns the string representation
32635func (s ResourceComplianceSummaryItem) String() string {
32636	return awsutil.Prettify(s)
32637}
32638
32639// GoString returns the string representation
32640func (s ResourceComplianceSummaryItem) GoString() string {
32641	return s.String()
32642}
32643
32644// SetComplianceType sets the ComplianceType field's value.
32645func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem {
32646	s.ComplianceType = &v
32647	return s
32648}
32649
32650// SetCompliantSummary sets the CompliantSummary field's value.
32651func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem {
32652	s.CompliantSummary = v
32653	return s
32654}
32655
32656// SetExecutionSummary sets the ExecutionSummary field's value.
32657func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem {
32658	s.ExecutionSummary = v
32659	return s
32660}
32661
32662// SetNonCompliantSummary sets the NonCompliantSummary field's value.
32663func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem {
32664	s.NonCompliantSummary = v
32665	return s
32666}
32667
32668// SetOverallSeverity sets the OverallSeverity field's value.
32669func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem {
32670	s.OverallSeverity = &v
32671	return s
32672}
32673
32674// SetResourceId sets the ResourceId field's value.
32675func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem {
32676	s.ResourceId = &v
32677	return s
32678}
32679
32680// SetResourceType sets the ResourceType field's value.
32681func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem {
32682	s.ResourceType = &v
32683	return s
32684}
32685
32686// SetStatus sets the Status field's value.
32687func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem {
32688	s.Status = &v
32689	return s
32690}
32691
32692// Information about a Resource Data Sync configuration, including its current
32693// status and last successful sync.
32694type ResourceDataSyncItem struct {
32695	_ struct{} `type:"structure"`
32696
32697	// The status reported by the last sync.
32698	LastStatus *string `type:"string" enum:"LastResourceDataSyncStatus"`
32699
32700	// The last time the sync operations returned a status of SUCCESSFUL (UTC).
32701	LastSuccessfulSyncTime *time.Time `type:"timestamp"`
32702
32703	// The status message details reported by the last sync.
32704	LastSyncStatusMessage *string `type:"string"`
32705
32706	// The last time the configuration attempted to sync (UTC).
32707	LastSyncTime *time.Time `type:"timestamp"`
32708
32709	// Configuration information for the target Amazon S3 bucket.
32710	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
32711
32712	// The date and time the configuration was created (UTC).
32713	SyncCreatedTime *time.Time `type:"timestamp"`
32714
32715	// The name of the Resource Data Sync.
32716	SyncName *string `min:"1" type:"string"`
32717}
32718
32719// String returns the string representation
32720func (s ResourceDataSyncItem) String() string {
32721	return awsutil.Prettify(s)
32722}
32723
32724// GoString returns the string representation
32725func (s ResourceDataSyncItem) GoString() string {
32726	return s.String()
32727}
32728
32729// SetLastStatus sets the LastStatus field's value.
32730func (s *ResourceDataSyncItem) SetLastStatus(v string) *ResourceDataSyncItem {
32731	s.LastStatus = &v
32732	return s
32733}
32734
32735// SetLastSuccessfulSyncTime sets the LastSuccessfulSyncTime field's value.
32736func (s *ResourceDataSyncItem) SetLastSuccessfulSyncTime(v time.Time) *ResourceDataSyncItem {
32737	s.LastSuccessfulSyncTime = &v
32738	return s
32739}
32740
32741// SetLastSyncStatusMessage sets the LastSyncStatusMessage field's value.
32742func (s *ResourceDataSyncItem) SetLastSyncStatusMessage(v string) *ResourceDataSyncItem {
32743	s.LastSyncStatusMessage = &v
32744	return s
32745}
32746
32747// SetLastSyncTime sets the LastSyncTime field's value.
32748func (s *ResourceDataSyncItem) SetLastSyncTime(v time.Time) *ResourceDataSyncItem {
32749	s.LastSyncTime = &v
32750	return s
32751}
32752
32753// SetS3Destination sets the S3Destination field's value.
32754func (s *ResourceDataSyncItem) SetS3Destination(v *ResourceDataSyncS3Destination) *ResourceDataSyncItem {
32755	s.S3Destination = v
32756	return s
32757}
32758
32759// SetSyncCreatedTime sets the SyncCreatedTime field's value.
32760func (s *ResourceDataSyncItem) SetSyncCreatedTime(v time.Time) *ResourceDataSyncItem {
32761	s.SyncCreatedTime = &v
32762	return s
32763}
32764
32765// SetSyncName sets the SyncName field's value.
32766func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem {
32767	s.SyncName = &v
32768	return s
32769}
32770
32771// Information about the target Amazon S3 bucket for the Resource Data Sync.
32772type ResourceDataSyncS3Destination struct {
32773	_ struct{} `type:"structure"`
32774
32775	// The ARN of an encryption key for a destination in Amazon S3. Must belong
32776	// to the same Region as the destination Amazon S3 bucket.
32777	AWSKMSKeyARN *string `min:"1" type:"string"`
32778
32779	// The name of the Amazon S3 bucket where the aggregated data is stored.
32780	//
32781	// BucketName is a required field
32782	BucketName *string `min:"1" type:"string" required:"true"`
32783
32784	// An Amazon S3 prefix for the bucket.
32785	Prefix *string `min:"1" type:"string"`
32786
32787	// The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.
32788	//
32789	// Region is a required field
32790	Region *string `min:"1" type:"string" required:"true"`
32791
32792	// A supported sync format. The following format is currently supported: JsonSerDe
32793	//
32794	// SyncFormat is a required field
32795	SyncFormat *string `type:"string" required:"true" enum:"ResourceDataSyncS3Format"`
32796}
32797
32798// String returns the string representation
32799func (s ResourceDataSyncS3Destination) String() string {
32800	return awsutil.Prettify(s)
32801}
32802
32803// GoString returns the string representation
32804func (s ResourceDataSyncS3Destination) GoString() string {
32805	return s.String()
32806}
32807
32808// Validate inspects the fields of the type to determine if they are valid.
32809func (s *ResourceDataSyncS3Destination) Validate() error {
32810	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"}
32811	if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 {
32812		invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1))
32813	}
32814	if s.BucketName == nil {
32815		invalidParams.Add(request.NewErrParamRequired("BucketName"))
32816	}
32817	if s.BucketName != nil && len(*s.BucketName) < 1 {
32818		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
32819	}
32820	if s.Prefix != nil && len(*s.Prefix) < 1 {
32821		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
32822	}
32823	if s.Region == nil {
32824		invalidParams.Add(request.NewErrParamRequired("Region"))
32825	}
32826	if s.Region != nil && len(*s.Region) < 1 {
32827		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
32828	}
32829	if s.SyncFormat == nil {
32830		invalidParams.Add(request.NewErrParamRequired("SyncFormat"))
32831	}
32832
32833	if invalidParams.Len() > 0 {
32834		return invalidParams
32835	}
32836	return nil
32837}
32838
32839// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value.
32840func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination {
32841	s.AWSKMSKeyARN = &v
32842	return s
32843}
32844
32845// SetBucketName sets the BucketName field's value.
32846func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination {
32847	s.BucketName = &v
32848	return s
32849}
32850
32851// SetPrefix sets the Prefix field's value.
32852func (s *ResourceDataSyncS3Destination) SetPrefix(v string) *ResourceDataSyncS3Destination {
32853	s.Prefix = &v
32854	return s
32855}
32856
32857// SetRegion sets the Region field's value.
32858func (s *ResourceDataSyncS3Destination) SetRegion(v string) *ResourceDataSyncS3Destination {
32859	s.Region = &v
32860	return s
32861}
32862
32863// SetSyncFormat sets the SyncFormat field's value.
32864func (s *ResourceDataSyncS3Destination) SetSyncFormat(v string) *ResourceDataSyncS3Destination {
32865	s.SyncFormat = &v
32866	return s
32867}
32868
32869// The inventory item result attribute.
32870type ResultAttribute struct {
32871	_ struct{} `type:"structure"`
32872
32873	// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default
32874	// Value: AWS:InstanceInformation.
32875	//
32876	// TypeName is a required field
32877	TypeName *string `min:"1" type:"string" required:"true"`
32878}
32879
32880// String returns the string representation
32881func (s ResultAttribute) String() string {
32882	return awsutil.Prettify(s)
32883}
32884
32885// GoString returns the string representation
32886func (s ResultAttribute) GoString() string {
32887	return s.String()
32888}
32889
32890// Validate inspects the fields of the type to determine if they are valid.
32891func (s *ResultAttribute) Validate() error {
32892	invalidParams := request.ErrInvalidParams{Context: "ResultAttribute"}
32893	if s.TypeName == nil {
32894		invalidParams.Add(request.NewErrParamRequired("TypeName"))
32895	}
32896	if s.TypeName != nil && len(*s.TypeName) < 1 {
32897		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
32898	}
32899
32900	if invalidParams.Len() > 0 {
32901		return invalidParams
32902	}
32903	return nil
32904}
32905
32906// SetTypeName sets the TypeName field's value.
32907func (s *ResultAttribute) SetTypeName(v string) *ResultAttribute {
32908	s.TypeName = &v
32909	return s
32910}
32911
32912type ResumeSessionInput struct {
32913	_ struct{} `type:"structure"`
32914
32915	// The ID of the disconnected session to resume.
32916	//
32917	// SessionId is a required field
32918	SessionId *string `min:"1" type:"string" required:"true"`
32919}
32920
32921// String returns the string representation
32922func (s ResumeSessionInput) String() string {
32923	return awsutil.Prettify(s)
32924}
32925
32926// GoString returns the string representation
32927func (s ResumeSessionInput) GoString() string {
32928	return s.String()
32929}
32930
32931// Validate inspects the fields of the type to determine if they are valid.
32932func (s *ResumeSessionInput) Validate() error {
32933	invalidParams := request.ErrInvalidParams{Context: "ResumeSessionInput"}
32934	if s.SessionId == nil {
32935		invalidParams.Add(request.NewErrParamRequired("SessionId"))
32936	}
32937	if s.SessionId != nil && len(*s.SessionId) < 1 {
32938		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
32939	}
32940
32941	if invalidParams.Len() > 0 {
32942		return invalidParams
32943	}
32944	return nil
32945}
32946
32947// SetSessionId sets the SessionId field's value.
32948func (s *ResumeSessionInput) SetSessionId(v string) *ResumeSessionInput {
32949	s.SessionId = &v
32950	return s
32951}
32952
32953type ResumeSessionOutput struct {
32954	_ struct{} `type:"structure"`
32955
32956	// The ID of the session.
32957	SessionId *string `min:"1" type:"string"`
32958
32959	// A URL back to SSM Agent on the instance that the Session Manager client uses
32960	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).
32961	//
32962	// region represents the Region identifier for an AWS Region supported by AWS
32963	// Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list
32964	// of supported region values, see the Region column in the AWS Systems Manager
32965	// table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)
32966	// in the AWS General Reference.
32967	//
32968	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
32969	StreamUrl *string `type:"string"`
32970
32971	// An encrypted token value containing session and caller information. Used
32972	// to authenticate the connection to the instance.
32973	TokenValue *string `type:"string"`
32974}
32975
32976// String returns the string representation
32977func (s ResumeSessionOutput) String() string {
32978	return awsutil.Prettify(s)
32979}
32980
32981// GoString returns the string representation
32982func (s ResumeSessionOutput) GoString() string {
32983	return s.String()
32984}
32985
32986// SetSessionId sets the SessionId field's value.
32987func (s *ResumeSessionOutput) SetSessionId(v string) *ResumeSessionOutput {
32988	s.SessionId = &v
32989	return s
32990}
32991
32992// SetStreamUrl sets the StreamUrl field's value.
32993func (s *ResumeSessionOutput) SetStreamUrl(v string) *ResumeSessionOutput {
32994	s.StreamUrl = &v
32995	return s
32996}
32997
32998// SetTokenValue sets the TokenValue field's value.
32999func (s *ResumeSessionOutput) SetTokenValue(v string) *ResumeSessionOutput {
33000	s.TokenValue = &v
33001	return s
33002}
33003
33004// An Amazon S3 bucket where you want to store the results of this request.
33005type S3OutputLocation struct {
33006	_ struct{} `type:"structure"`
33007
33008	// The name of the Amazon S3 bucket.
33009	OutputS3BucketName *string `min:"3" type:"string"`
33010
33011	// The Amazon S3 bucket subfolder.
33012	OutputS3KeyPrefix *string `type:"string"`
33013
33014	// (Deprecated) You can no longer specify this parameter. The system ignores
33015	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
33016	// region.
33017	OutputS3Region *string `min:"3" type:"string"`
33018}
33019
33020// String returns the string representation
33021func (s S3OutputLocation) String() string {
33022	return awsutil.Prettify(s)
33023}
33024
33025// GoString returns the string representation
33026func (s S3OutputLocation) GoString() string {
33027	return s.String()
33028}
33029
33030// Validate inspects the fields of the type to determine if they are valid.
33031func (s *S3OutputLocation) Validate() error {
33032	invalidParams := request.ErrInvalidParams{Context: "S3OutputLocation"}
33033	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
33034		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
33035	}
33036	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
33037		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
33038	}
33039
33040	if invalidParams.Len() > 0 {
33041		return invalidParams
33042	}
33043	return nil
33044}
33045
33046// SetOutputS3BucketName sets the OutputS3BucketName field's value.
33047func (s *S3OutputLocation) SetOutputS3BucketName(v string) *S3OutputLocation {
33048	s.OutputS3BucketName = &v
33049	return s
33050}
33051
33052// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
33053func (s *S3OutputLocation) SetOutputS3KeyPrefix(v string) *S3OutputLocation {
33054	s.OutputS3KeyPrefix = &v
33055	return s
33056}
33057
33058// SetOutputS3Region sets the OutputS3Region field's value.
33059func (s *S3OutputLocation) SetOutputS3Region(v string) *S3OutputLocation {
33060	s.OutputS3Region = &v
33061	return s
33062}
33063
33064// A URL for the Amazon S3 bucket where you want to store the results of this
33065// request.
33066type S3OutputUrl struct {
33067	_ struct{} `type:"structure"`
33068
33069	// A URL for an Amazon S3 bucket where you want to store the results of this
33070	// request.
33071	OutputUrl *string `type:"string"`
33072}
33073
33074// String returns the string representation
33075func (s S3OutputUrl) String() string {
33076	return awsutil.Prettify(s)
33077}
33078
33079// GoString returns the string representation
33080func (s S3OutputUrl) GoString() string {
33081	return s.String()
33082}
33083
33084// SetOutputUrl sets the OutputUrl field's value.
33085func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl {
33086	s.OutputUrl = &v
33087	return s
33088}
33089
33090// Information about a scheduled execution for a maintenance window.
33091type ScheduledWindowExecution struct {
33092	_ struct{} `type:"structure"`
33093
33094	// The time, in ISO-8601 Extended format, that the maintenance window is scheduled
33095	// to be run.
33096	ExecutionTime *string `type:"string"`
33097
33098	// The name of the maintenance window to be run.
33099	Name *string `min:"3" type:"string"`
33100
33101	// The ID of the maintenance window to be run.
33102	WindowId *string `min:"20" type:"string"`
33103}
33104
33105// String returns the string representation
33106func (s ScheduledWindowExecution) String() string {
33107	return awsutil.Prettify(s)
33108}
33109
33110// GoString returns the string representation
33111func (s ScheduledWindowExecution) GoString() string {
33112	return s.String()
33113}
33114
33115// SetExecutionTime sets the ExecutionTime field's value.
33116func (s *ScheduledWindowExecution) SetExecutionTime(v string) *ScheduledWindowExecution {
33117	s.ExecutionTime = &v
33118	return s
33119}
33120
33121// SetName sets the Name field's value.
33122func (s *ScheduledWindowExecution) SetName(v string) *ScheduledWindowExecution {
33123	s.Name = &v
33124	return s
33125}
33126
33127// SetWindowId sets the WindowId field's value.
33128func (s *ScheduledWindowExecution) SetWindowId(v string) *ScheduledWindowExecution {
33129	s.WindowId = &v
33130	return s
33131}
33132
33133type SendAutomationSignalInput struct {
33134	_ struct{} `type:"structure"`
33135
33136	// The unique identifier for an existing Automation execution that you want
33137	// to send the signal to.
33138	//
33139	// AutomationExecutionId is a required field
33140	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
33141
33142	// The data sent with the signal. The data schema depends on the type of signal
33143	// used in the request.
33144	//
33145	// For Approve and Reject signal types, the payload is an optional comment that
33146	// you can send with the signal type. For example:
33147	//
33148	// Comment="Looks good"
33149	//
33150	// For StartStep and Resume signal types, you must send the name of the Automation
33151	// step to start or resume as the payload. For example:
33152	//
33153	// StepName="step1"
33154	//
33155	// For the StopStep signal type, you must send the step execution ID as the
33156	// payload. For example:
33157	//
33158	// StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"
33159	Payload map[string][]*string `min:"1" type:"map"`
33160
33161	// The type of signal to send to an Automation execution.
33162	//
33163	// SignalType is a required field
33164	SignalType *string `type:"string" required:"true" enum:"SignalType"`
33165}
33166
33167// String returns the string representation
33168func (s SendAutomationSignalInput) String() string {
33169	return awsutil.Prettify(s)
33170}
33171
33172// GoString returns the string representation
33173func (s SendAutomationSignalInput) GoString() string {
33174	return s.String()
33175}
33176
33177// Validate inspects the fields of the type to determine if they are valid.
33178func (s *SendAutomationSignalInput) Validate() error {
33179	invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"}
33180	if s.AutomationExecutionId == nil {
33181		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
33182	}
33183	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
33184		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
33185	}
33186	if s.Payload != nil && len(s.Payload) < 1 {
33187		invalidParams.Add(request.NewErrParamMinLen("Payload", 1))
33188	}
33189	if s.SignalType == nil {
33190		invalidParams.Add(request.NewErrParamRequired("SignalType"))
33191	}
33192
33193	if invalidParams.Len() > 0 {
33194		return invalidParams
33195	}
33196	return nil
33197}
33198
33199// SetAutomationExecutionId sets the AutomationExecutionId field's value.
33200func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput {
33201	s.AutomationExecutionId = &v
33202	return s
33203}
33204
33205// SetPayload sets the Payload field's value.
33206func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput {
33207	s.Payload = v
33208	return s
33209}
33210
33211// SetSignalType sets the SignalType field's value.
33212func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput {
33213	s.SignalType = &v
33214	return s
33215}
33216
33217type SendAutomationSignalOutput struct {
33218	_ struct{} `type:"structure"`
33219}
33220
33221// String returns the string representation
33222func (s SendAutomationSignalOutput) String() string {
33223	return awsutil.Prettify(s)
33224}
33225
33226// GoString returns the string representation
33227func (s SendAutomationSignalOutput) GoString() string {
33228	return s.String()
33229}
33230
33231type SendCommandInput struct {
33232	_ struct{} `type:"structure"`
33233
33234	// Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.
33235	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
33236
33237	// User-specified information about the command, such as a brief description
33238	// of what the command should do.
33239	Comment *string `type:"string"`
33240
33241	// The Sha256 or Sha1 hash created by the system when the document was created.
33242	//
33243	// Sha1 hashes have been deprecated.
33244	DocumentHash *string `type:"string"`
33245
33246	// Sha256 or Sha1.
33247	//
33248	// Sha1 hashes have been deprecated.
33249	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
33250
33251	// Required. The name of the Systems Manager document to run. This can be a
33252	// public document or a custom document.
33253	//
33254	// DocumentName is a required field
33255	DocumentName *string `type:"string" required:"true"`
33256
33257	// The SSM document version to use in the request. You can specify $DEFAULT,
33258	// $LATEST, or a specific version number. If you run commands by using the AWS
33259	// CLI, then you must escape the first two options by using a backslash. If
33260	// you specify a version number, then you don't need to use the backslash. For
33261	// example:
33262	//
33263	// --document-version "\$DEFAULT"
33264	//
33265	// --document-version "\$LATEST"
33266	//
33267	// --document-version "3"
33268	DocumentVersion *string `type:"string"`
33269
33270	// The instance IDs where the command should run. You can specify a maximum
33271	// of 50 IDs. If you prefer not to list individual instance IDs, you can instead
33272	// send commands to a fleet of instances using the Targets parameter, which
33273	// accepts EC2 tags. For more information about how to use targets, see Sending
33274	// Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
33275	// in the AWS Systems Manager User Guide.
33276	InstanceIds []*string `type:"list"`
33277
33278	// (Optional) The maximum number of instances that are allowed to run the command
33279	// at the same time. You can specify a number such as 10 or a percentage such
33280	// as 10%. The default value is 50. For more information about how to use MaxConcurrency,
33281	// see Using Concurrency Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity)
33282	// in the AWS Systems Manager User Guide.
33283	MaxConcurrency *string `min:"1" type:"string"`
33284
33285	// The maximum number of errors allowed without the command failing. When the
33286	// command fails one more time beyond the value of MaxErrors, the systems stops
33287	// sending the command to additional targets. You can specify a number like
33288	// 10 or a percentage like 10%. The default value is 0. For more information
33289	// about how to use MaxErrors, see Using Error Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors)
33290	// in the AWS Systems Manager User Guide.
33291	MaxErrors *string `min:"1" type:"string"`
33292
33293	// Configurations for sending notifications.
33294	NotificationConfig *NotificationConfig `type:"structure"`
33295
33296	// The name of the S3 bucket where command execution responses should be stored.
33297	OutputS3BucketName *string `min:"3" type:"string"`
33298
33299	// The directory structure within the S3 bucket where the responses should be
33300	// stored.
33301	OutputS3KeyPrefix *string `type:"string"`
33302
33303	// (Deprecated) You can no longer specify this parameter. The system ignores
33304	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
33305	// region.
33306	OutputS3Region *string `min:"3" type:"string"`
33307
33308	// The required and optional parameters specified in the document being run.
33309	Parameters map[string][]*string `type:"map"`
33310
33311	// The ARN of the IAM service role to use to publish Amazon Simple Notification
33312	// Service (Amazon SNS) notifications for Run Command commands.
33313	ServiceRoleArn *string `type:"string"`
33314
33315	// (Optional) An array of search criteria that targets instances using a Key,Value
33316	// combination that you specify. Targets is required if you don't provide one
33317	// or more instance IDs in the call. For more information about how to use targets,
33318	// see Sending Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
33319	// in the AWS Systems Manager User Guide.
33320	Targets []*Target `type:"list"`
33321
33322	// If this time is reached and the command has not already started running,
33323	// it will not run.
33324	TimeoutSeconds *int64 `min:"30" type:"integer"`
33325}
33326
33327// String returns the string representation
33328func (s SendCommandInput) String() string {
33329	return awsutil.Prettify(s)
33330}
33331
33332// GoString returns the string representation
33333func (s SendCommandInput) GoString() string {
33334	return s.String()
33335}
33336
33337// Validate inspects the fields of the type to determine if they are valid.
33338func (s *SendCommandInput) Validate() error {
33339	invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"}
33340	if s.DocumentName == nil {
33341		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
33342	}
33343	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
33344		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
33345	}
33346	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
33347		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
33348	}
33349	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
33350		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
33351	}
33352	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
33353		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
33354	}
33355	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
33356		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
33357	}
33358	if s.CloudWatchOutputConfig != nil {
33359		if err := s.CloudWatchOutputConfig.Validate(); err != nil {
33360			invalidParams.AddNested("CloudWatchOutputConfig", err.(request.ErrInvalidParams))
33361		}
33362	}
33363	if s.Targets != nil {
33364		for i, v := range s.Targets {
33365			if v == nil {
33366				continue
33367			}
33368			if err := v.Validate(); err != nil {
33369				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
33370			}
33371		}
33372	}
33373
33374	if invalidParams.Len() > 0 {
33375		return invalidParams
33376	}
33377	return nil
33378}
33379
33380// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
33381func (s *SendCommandInput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *SendCommandInput {
33382	s.CloudWatchOutputConfig = v
33383	return s
33384}
33385
33386// SetComment sets the Comment field's value.
33387func (s *SendCommandInput) SetComment(v string) *SendCommandInput {
33388	s.Comment = &v
33389	return s
33390}
33391
33392// SetDocumentHash sets the DocumentHash field's value.
33393func (s *SendCommandInput) SetDocumentHash(v string) *SendCommandInput {
33394	s.DocumentHash = &v
33395	return s
33396}
33397
33398// SetDocumentHashType sets the DocumentHashType field's value.
33399func (s *SendCommandInput) SetDocumentHashType(v string) *SendCommandInput {
33400	s.DocumentHashType = &v
33401	return s
33402}
33403
33404// SetDocumentName sets the DocumentName field's value.
33405func (s *SendCommandInput) SetDocumentName(v string) *SendCommandInput {
33406	s.DocumentName = &v
33407	return s
33408}
33409
33410// SetDocumentVersion sets the DocumentVersion field's value.
33411func (s *SendCommandInput) SetDocumentVersion(v string) *SendCommandInput {
33412	s.DocumentVersion = &v
33413	return s
33414}
33415
33416// SetInstanceIds sets the InstanceIds field's value.
33417func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput {
33418	s.InstanceIds = v
33419	return s
33420}
33421
33422// SetMaxConcurrency sets the MaxConcurrency field's value.
33423func (s *SendCommandInput) SetMaxConcurrency(v string) *SendCommandInput {
33424	s.MaxConcurrency = &v
33425	return s
33426}
33427
33428// SetMaxErrors sets the MaxErrors field's value.
33429func (s *SendCommandInput) SetMaxErrors(v string) *SendCommandInput {
33430	s.MaxErrors = &v
33431	return s
33432}
33433
33434// SetNotificationConfig sets the NotificationConfig field's value.
33435func (s *SendCommandInput) SetNotificationConfig(v *NotificationConfig) *SendCommandInput {
33436	s.NotificationConfig = v
33437	return s
33438}
33439
33440// SetOutputS3BucketName sets the OutputS3BucketName field's value.
33441func (s *SendCommandInput) SetOutputS3BucketName(v string) *SendCommandInput {
33442	s.OutputS3BucketName = &v
33443	return s
33444}
33445
33446// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
33447func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput {
33448	s.OutputS3KeyPrefix = &v
33449	return s
33450}
33451
33452// SetOutputS3Region sets the OutputS3Region field's value.
33453func (s *SendCommandInput) SetOutputS3Region(v string) *SendCommandInput {
33454	s.OutputS3Region = &v
33455	return s
33456}
33457
33458// SetParameters sets the Parameters field's value.
33459func (s *SendCommandInput) SetParameters(v map[string][]*string) *SendCommandInput {
33460	s.Parameters = v
33461	return s
33462}
33463
33464// SetServiceRoleArn sets the ServiceRoleArn field's value.
33465func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput {
33466	s.ServiceRoleArn = &v
33467	return s
33468}
33469
33470// SetTargets sets the Targets field's value.
33471func (s *SendCommandInput) SetTargets(v []*Target) *SendCommandInput {
33472	s.Targets = v
33473	return s
33474}
33475
33476// SetTimeoutSeconds sets the TimeoutSeconds field's value.
33477func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput {
33478	s.TimeoutSeconds = &v
33479	return s
33480}
33481
33482type SendCommandOutput struct {
33483	_ struct{} `type:"structure"`
33484
33485	// The request as it was received by Systems Manager. Also provides the command
33486	// ID which can be used future references to this request.
33487	Command *Command `type:"structure"`
33488}
33489
33490// String returns the string representation
33491func (s SendCommandOutput) String() string {
33492	return awsutil.Prettify(s)
33493}
33494
33495// GoString returns the string representation
33496func (s SendCommandOutput) GoString() string {
33497	return s.String()
33498}
33499
33500// SetCommand sets the Command field's value.
33501func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput {
33502	s.Command = v
33503	return s
33504}
33505
33506// The service setting data structure.
33507//
33508// ServiceSetting is an account-level setting for an AWS service. This setting
33509// defines how a user interacts with or uses a service or a feature of a service.
33510// For example, if an AWS service charges money to the account based on feature
33511// or service usage, then the AWS service team might create a default setting
33512// of "false". This means the user can't use this feature unless they change
33513// the setting to "true" and intentionally opt in for a paid feature.
33514//
33515// Services map a SettingId object to a setting value. AWS services teams define
33516// the default value for a SettingId. You can't create a new SettingId, but
33517// you can overwrite the default value if you have the ssm:UpdateServiceSetting
33518// permission for the setting. Use the UpdateServiceSetting API action to change
33519// the default setting. Or, use the ResetServiceSetting to change the value
33520// back to the original value defined by the AWS service team.
33521type ServiceSetting struct {
33522	_ struct{} `type:"structure"`
33523
33524	// The ARN of the service setting.
33525	ARN *string `type:"string"`
33526
33527	// The last time the service setting was modified.
33528	LastModifiedDate *time.Time `type:"timestamp"`
33529
33530	// The ARN of the last modified user. This field is populated only if the setting
33531	// value was overwritten.
33532	LastModifiedUser *string `type:"string"`
33533
33534	// The ID of the service setting.
33535	SettingId *string `min:"1" type:"string"`
33536
33537	// The value of the service setting.
33538	SettingValue *string `min:"1" type:"string"`
33539
33540	// The status of the service setting. The value can be Default, Customized or
33541	// PendingUpdate.
33542	//
33543	//    * Default: The current setting uses a default value provisioned by the
33544	//    AWS service team.
33545	//
33546	//    * Customized: The current setting use a custom value specified by the
33547	//    customer.
33548	//
33549	//    * PendingUpdate: The current setting uses a default or custom value, but
33550	//    a setting change request is pending approval.
33551	Status *string `type:"string"`
33552}
33553
33554// String returns the string representation
33555func (s ServiceSetting) String() string {
33556	return awsutil.Prettify(s)
33557}
33558
33559// GoString returns the string representation
33560func (s ServiceSetting) GoString() string {
33561	return s.String()
33562}
33563
33564// SetARN sets the ARN field's value.
33565func (s *ServiceSetting) SetARN(v string) *ServiceSetting {
33566	s.ARN = &v
33567	return s
33568}
33569
33570// SetLastModifiedDate sets the LastModifiedDate field's value.
33571func (s *ServiceSetting) SetLastModifiedDate(v time.Time) *ServiceSetting {
33572	s.LastModifiedDate = &v
33573	return s
33574}
33575
33576// SetLastModifiedUser sets the LastModifiedUser field's value.
33577func (s *ServiceSetting) SetLastModifiedUser(v string) *ServiceSetting {
33578	s.LastModifiedUser = &v
33579	return s
33580}
33581
33582// SetSettingId sets the SettingId field's value.
33583func (s *ServiceSetting) SetSettingId(v string) *ServiceSetting {
33584	s.SettingId = &v
33585	return s
33586}
33587
33588// SetSettingValue sets the SettingValue field's value.
33589func (s *ServiceSetting) SetSettingValue(v string) *ServiceSetting {
33590	s.SettingValue = &v
33591	return s
33592}
33593
33594// SetStatus sets the Status field's value.
33595func (s *ServiceSetting) SetStatus(v string) *ServiceSetting {
33596	s.Status = &v
33597	return s
33598}
33599
33600// Information about a Session Manager connection to an instance.
33601type Session struct {
33602	_ struct{} `type:"structure"`
33603
33604	// Reserved for future use.
33605	Details *string `min:"1" type:"string"`
33606
33607	// The name of the Session Manager SSM document used to define the parameters
33608	// and plugin settings for the session. For example, SSM-SessionManagerRunShell.
33609	DocumentName *string `type:"string"`
33610
33611	// The date and time, in ISO-8601 Extended format, when the session was terminated.
33612	EndDate *time.Time `type:"timestamp"`
33613
33614	// Reserved for future use.
33615	OutputUrl *SessionManagerOutputUrl `type:"structure"`
33616
33617	// The ID of the AWS user account that started the session.
33618	Owner *string `min:"1" type:"string"`
33619
33620	// The ID of the session.
33621	SessionId *string `min:"1" type:"string"`
33622
33623	// The date and time, in ISO-8601 Extended format, when the session began.
33624	StartDate *time.Time `type:"timestamp"`
33625
33626	// The status of the session. For example, "Connected" or "Terminated".
33627	Status *string `type:"string" enum:"SessionStatus"`
33628
33629	// The instance that the Session Manager session connected to.
33630	Target *string `min:"1" type:"string"`
33631}
33632
33633// String returns the string representation
33634func (s Session) String() string {
33635	return awsutil.Prettify(s)
33636}
33637
33638// GoString returns the string representation
33639func (s Session) GoString() string {
33640	return s.String()
33641}
33642
33643// SetDetails sets the Details field's value.
33644func (s *Session) SetDetails(v string) *Session {
33645	s.Details = &v
33646	return s
33647}
33648
33649// SetDocumentName sets the DocumentName field's value.
33650func (s *Session) SetDocumentName(v string) *Session {
33651	s.DocumentName = &v
33652	return s
33653}
33654
33655// SetEndDate sets the EndDate field's value.
33656func (s *Session) SetEndDate(v time.Time) *Session {
33657	s.EndDate = &v
33658	return s
33659}
33660
33661// SetOutputUrl sets the OutputUrl field's value.
33662func (s *Session) SetOutputUrl(v *SessionManagerOutputUrl) *Session {
33663	s.OutputUrl = v
33664	return s
33665}
33666
33667// SetOwner sets the Owner field's value.
33668func (s *Session) SetOwner(v string) *Session {
33669	s.Owner = &v
33670	return s
33671}
33672
33673// SetSessionId sets the SessionId field's value.
33674func (s *Session) SetSessionId(v string) *Session {
33675	s.SessionId = &v
33676	return s
33677}
33678
33679// SetStartDate sets the StartDate field's value.
33680func (s *Session) SetStartDate(v time.Time) *Session {
33681	s.StartDate = &v
33682	return s
33683}
33684
33685// SetStatus sets the Status field's value.
33686func (s *Session) SetStatus(v string) *Session {
33687	s.Status = &v
33688	return s
33689}
33690
33691// SetTarget sets the Target field's value.
33692func (s *Session) SetTarget(v string) *Session {
33693	s.Target = &v
33694	return s
33695}
33696
33697// Describes a filter for Session Manager information.
33698type SessionFilter struct {
33699	_ struct{} `type:"structure"`
33700
33701	// The name of the filter.
33702	//
33703	// Key is a required field
33704	Key *string `locationName:"key" type:"string" required:"true" enum:"SessionFilterKey"`
33705
33706	// The filter value. Valid values for each filter key are as follows:
33707	//
33708	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
33709	//    specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018,
33710	//    and later.
33711	//
33712	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
33713	//    specify 2018-08-29T00:00:00Z to see sessions that started before August
33714	//    29, 2018.
33715	//
33716	//    * Target: Specify an instance to which session connections have been made.
33717	//
33718	//    * Owner: Specify an AWS user account to see a list of sessions started
33719	//    by that user.
33720	//
33721	//    * Status: Specify a valid session status to see a list of all sessions
33722	//    with that status. Status values you can specify include: Connected Connecting
33723	//    Disconnected Terminated Terminating Failed
33724	//
33725	// Value is a required field
33726	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
33727}
33728
33729// String returns the string representation
33730func (s SessionFilter) String() string {
33731	return awsutil.Prettify(s)
33732}
33733
33734// GoString returns the string representation
33735func (s SessionFilter) GoString() string {
33736	return s.String()
33737}
33738
33739// Validate inspects the fields of the type to determine if they are valid.
33740func (s *SessionFilter) Validate() error {
33741	invalidParams := request.ErrInvalidParams{Context: "SessionFilter"}
33742	if s.Key == nil {
33743		invalidParams.Add(request.NewErrParamRequired("Key"))
33744	}
33745	if s.Value == nil {
33746		invalidParams.Add(request.NewErrParamRequired("Value"))
33747	}
33748	if s.Value != nil && len(*s.Value) < 1 {
33749		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
33750	}
33751
33752	if invalidParams.Len() > 0 {
33753		return invalidParams
33754	}
33755	return nil
33756}
33757
33758// SetKey sets the Key field's value.
33759func (s *SessionFilter) SetKey(v string) *SessionFilter {
33760	s.Key = &v
33761	return s
33762}
33763
33764// SetValue sets the Value field's value.
33765func (s *SessionFilter) SetValue(v string) *SessionFilter {
33766	s.Value = &v
33767	return s
33768}
33769
33770// Reserved for future use.
33771type SessionManagerOutputUrl struct {
33772	_ struct{} `type:"structure"`
33773
33774	// Reserved for future use.
33775	CloudWatchOutputUrl *string `min:"1" type:"string"`
33776
33777	// Reserved for future use.
33778	S3OutputUrl *string `min:"1" type:"string"`
33779}
33780
33781// String returns the string representation
33782func (s SessionManagerOutputUrl) String() string {
33783	return awsutil.Prettify(s)
33784}
33785
33786// GoString returns the string representation
33787func (s SessionManagerOutputUrl) GoString() string {
33788	return s.String()
33789}
33790
33791// SetCloudWatchOutputUrl sets the CloudWatchOutputUrl field's value.
33792func (s *SessionManagerOutputUrl) SetCloudWatchOutputUrl(v string) *SessionManagerOutputUrl {
33793	s.CloudWatchOutputUrl = &v
33794	return s
33795}
33796
33797// SetS3OutputUrl sets the S3OutputUrl field's value.
33798func (s *SessionManagerOutputUrl) SetS3OutputUrl(v string) *SessionManagerOutputUrl {
33799	s.S3OutputUrl = &v
33800	return s
33801}
33802
33803// The number of managed instances found for each patch severity level defined
33804// in the request filter.
33805type SeveritySummary struct {
33806	_ struct{} `type:"structure"`
33807
33808	// The total number of resources or compliance items that have a severity level
33809	// of critical. Critical severity is determined by the organization that published
33810	// the compliance items.
33811	CriticalCount *int64 `type:"integer"`
33812
33813	// The total number of resources or compliance items that have a severity level
33814	// of high. High severity is determined by the organization that published the
33815	// compliance items.
33816	HighCount *int64 `type:"integer"`
33817
33818	// The total number of resources or compliance items that have a severity level
33819	// of informational. Informational severity is determined by the organization
33820	// that published the compliance items.
33821	InformationalCount *int64 `type:"integer"`
33822
33823	// The total number of resources or compliance items that have a severity level
33824	// of low. Low severity is determined by the organization that published the
33825	// compliance items.
33826	LowCount *int64 `type:"integer"`
33827
33828	// The total number of resources or compliance items that have a severity level
33829	// of medium. Medium severity is determined by the organization that published
33830	// the compliance items.
33831	MediumCount *int64 `type:"integer"`
33832
33833	// The total number of resources or compliance items that have a severity level
33834	// of unspecified. Unspecified severity is determined by the organization that
33835	// published the compliance items.
33836	UnspecifiedCount *int64 `type:"integer"`
33837}
33838
33839// String returns the string representation
33840func (s SeveritySummary) String() string {
33841	return awsutil.Prettify(s)
33842}
33843
33844// GoString returns the string representation
33845func (s SeveritySummary) GoString() string {
33846	return s.String()
33847}
33848
33849// SetCriticalCount sets the CriticalCount field's value.
33850func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary {
33851	s.CriticalCount = &v
33852	return s
33853}
33854
33855// SetHighCount sets the HighCount field's value.
33856func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary {
33857	s.HighCount = &v
33858	return s
33859}
33860
33861// SetInformationalCount sets the InformationalCount field's value.
33862func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary {
33863	s.InformationalCount = &v
33864	return s
33865}
33866
33867// SetLowCount sets the LowCount field's value.
33868func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary {
33869	s.LowCount = &v
33870	return s
33871}
33872
33873// SetMediumCount sets the MediumCount field's value.
33874func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary {
33875	s.MediumCount = &v
33876	return s
33877}
33878
33879// SetUnspecifiedCount sets the UnspecifiedCount field's value.
33880func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary {
33881	s.UnspecifiedCount = &v
33882	return s
33883}
33884
33885type StartAssociationsOnceInput struct {
33886	_ struct{} `type:"structure"`
33887
33888	// The association IDs that you want to run immediately and only one time.
33889	//
33890	// AssociationIds is a required field
33891	AssociationIds []*string `min:"1" type:"list" required:"true"`
33892}
33893
33894// String returns the string representation
33895func (s StartAssociationsOnceInput) String() string {
33896	return awsutil.Prettify(s)
33897}
33898
33899// GoString returns the string representation
33900func (s StartAssociationsOnceInput) GoString() string {
33901	return s.String()
33902}
33903
33904// Validate inspects the fields of the type to determine if they are valid.
33905func (s *StartAssociationsOnceInput) Validate() error {
33906	invalidParams := request.ErrInvalidParams{Context: "StartAssociationsOnceInput"}
33907	if s.AssociationIds == nil {
33908		invalidParams.Add(request.NewErrParamRequired("AssociationIds"))
33909	}
33910	if s.AssociationIds != nil && len(s.AssociationIds) < 1 {
33911		invalidParams.Add(request.NewErrParamMinLen("AssociationIds", 1))
33912	}
33913
33914	if invalidParams.Len() > 0 {
33915		return invalidParams
33916	}
33917	return nil
33918}
33919
33920// SetAssociationIds sets the AssociationIds field's value.
33921func (s *StartAssociationsOnceInput) SetAssociationIds(v []*string) *StartAssociationsOnceInput {
33922	s.AssociationIds = v
33923	return s
33924}
33925
33926type StartAssociationsOnceOutput struct {
33927	_ struct{} `type:"structure"`
33928}
33929
33930// String returns the string representation
33931func (s StartAssociationsOnceOutput) String() string {
33932	return awsutil.Prettify(s)
33933}
33934
33935// GoString returns the string representation
33936func (s StartAssociationsOnceOutput) GoString() string {
33937	return s.String()
33938}
33939
33940type StartAutomationExecutionInput struct {
33941	_ struct{} `type:"structure"`
33942
33943	// User-provided idempotency token. The token must be unique, is case insensitive,
33944	// enforces the UUID format, and can't be reused.
33945	ClientToken *string `min:"36" type:"string"`
33946
33947	// The name of the Automation document to use for this execution.
33948	//
33949	// DocumentName is a required field
33950	DocumentName *string `type:"string" required:"true"`
33951
33952	// The version of the Automation document to use for this execution.
33953	DocumentVersion *string `type:"string"`
33954
33955	// The maximum number of targets allowed to run this task in parallel. You can
33956	// specify a number, such as 10, or a percentage, such as 10%. The default value
33957	// is 10.
33958	MaxConcurrency *string `min:"1" type:"string"`
33959
33960	// The number of errors that are allowed before the system stops running the
33961	// automation on additional targets. You can specify either an absolute number
33962	// of errors, for example 10, or a percentage of the target set, for example
33963	// 10%. If you specify 3, for example, the system stops running the automation
33964	// when the fourth error is received. If you specify 0, then the system stops
33965	// running the automation on additional targets after the first error result
33966	// is returned. If you run an automation on 50 resources and set max-errors
33967	// to 10%, then the system stops running the automation on additional targets
33968	// when the sixth error is received.
33969	//
33970	// Executions that are already running an automation when max-errors is reached
33971	// are allowed to complete, but some of these executions may fail as well. If
33972	// you need to ensure that there won't be more than max-errors failed executions,
33973	// set max-concurrency to 1 so the executions proceed one at a time.
33974	MaxErrors *string `min:"1" type:"string"`
33975
33976	// The execution mode of the automation. Valid modes include the following:
33977	// Auto and Interactive. The default mode is Auto.
33978	Mode *string `type:"string" enum:"ExecutionMode"`
33979
33980	// A key-value map of execution parameters, which match the declared parameters
33981	// in the Automation document.
33982	Parameters map[string][]*string `min:"1" type:"map"`
33983
33984	// A location is a combination of AWS Regions and/or AWS accounts where you
33985	// want to run the Automation. Use this action to start an Automation in multiple
33986	// Regions and multiple accounts. For more information, see Executing Automations
33987	// in Multiple AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
33988	// in the AWS Systems Manager User Guide.
33989	TargetLocations []*TargetLocation `min:"1" type:"list"`
33990
33991	// A key-value mapping of document parameters to target resources. Both Targets
33992	// and TargetMaps cannot be specified together.
33993	TargetMaps []map[string][]*string `type:"list"`
33994
33995	// The name of the parameter used as the target resource for the rate-controlled
33996	// execution. Required if you specify targets.
33997	TargetParameterName *string `min:"1" type:"string"`
33998
33999	// A key-value mapping to target resources. Required if you specify TargetParameterName.
34000	Targets []*Target `type:"list"`
34001}
34002
34003// String returns the string representation
34004func (s StartAutomationExecutionInput) String() string {
34005	return awsutil.Prettify(s)
34006}
34007
34008// GoString returns the string representation
34009func (s StartAutomationExecutionInput) GoString() string {
34010	return s.String()
34011}
34012
34013// Validate inspects the fields of the type to determine if they are valid.
34014func (s *StartAutomationExecutionInput) Validate() error {
34015	invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"}
34016	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
34017		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
34018	}
34019	if s.DocumentName == nil {
34020		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
34021	}
34022	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
34023		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
34024	}
34025	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
34026		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
34027	}
34028	if s.Parameters != nil && len(s.Parameters) < 1 {
34029		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
34030	}
34031	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
34032		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
34033	}
34034	if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 {
34035		invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1))
34036	}
34037	if s.TargetLocations != nil {
34038		for i, v := range s.TargetLocations {
34039			if v == nil {
34040				continue
34041			}
34042			if err := v.Validate(); err != nil {
34043				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
34044			}
34045		}
34046	}
34047	if s.Targets != nil {
34048		for i, v := range s.Targets {
34049			if v == nil {
34050				continue
34051			}
34052			if err := v.Validate(); err != nil {
34053				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
34054			}
34055		}
34056	}
34057
34058	if invalidParams.Len() > 0 {
34059		return invalidParams
34060	}
34061	return nil
34062}
34063
34064// SetClientToken sets the ClientToken field's value.
34065func (s *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput {
34066	s.ClientToken = &v
34067	return s
34068}
34069
34070// SetDocumentName sets the DocumentName field's value.
34071func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput {
34072	s.DocumentName = &v
34073	return s
34074}
34075
34076// SetDocumentVersion sets the DocumentVersion field's value.
34077func (s *StartAutomationExecutionInput) SetDocumentVersion(v string) *StartAutomationExecutionInput {
34078	s.DocumentVersion = &v
34079	return s
34080}
34081
34082// SetMaxConcurrency sets the MaxConcurrency field's value.
34083func (s *StartAutomationExecutionInput) SetMaxConcurrency(v string) *StartAutomationExecutionInput {
34084	s.MaxConcurrency = &v
34085	return s
34086}
34087
34088// SetMaxErrors sets the MaxErrors field's value.
34089func (s *StartAutomationExecutionInput) SetMaxErrors(v string) *StartAutomationExecutionInput {
34090	s.MaxErrors = &v
34091	return s
34092}
34093
34094// SetMode sets the Mode field's value.
34095func (s *StartAutomationExecutionInput) SetMode(v string) *StartAutomationExecutionInput {
34096	s.Mode = &v
34097	return s
34098}
34099
34100// SetParameters sets the Parameters field's value.
34101func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput {
34102	s.Parameters = v
34103	return s
34104}
34105
34106// SetTargetLocations sets the TargetLocations field's value.
34107func (s *StartAutomationExecutionInput) SetTargetLocations(v []*TargetLocation) *StartAutomationExecutionInput {
34108	s.TargetLocations = v
34109	return s
34110}
34111
34112// SetTargetMaps sets the TargetMaps field's value.
34113func (s *StartAutomationExecutionInput) SetTargetMaps(v []map[string][]*string) *StartAutomationExecutionInput {
34114	s.TargetMaps = v
34115	return s
34116}
34117
34118// SetTargetParameterName sets the TargetParameterName field's value.
34119func (s *StartAutomationExecutionInput) SetTargetParameterName(v string) *StartAutomationExecutionInput {
34120	s.TargetParameterName = &v
34121	return s
34122}
34123
34124// SetTargets sets the Targets field's value.
34125func (s *StartAutomationExecutionInput) SetTargets(v []*Target) *StartAutomationExecutionInput {
34126	s.Targets = v
34127	return s
34128}
34129
34130type StartAutomationExecutionOutput struct {
34131	_ struct{} `type:"structure"`
34132
34133	// The unique ID of a newly scheduled automation execution.
34134	AutomationExecutionId *string `min:"36" type:"string"`
34135}
34136
34137// String returns the string representation
34138func (s StartAutomationExecutionOutput) String() string {
34139	return awsutil.Prettify(s)
34140}
34141
34142// GoString returns the string representation
34143func (s StartAutomationExecutionOutput) GoString() string {
34144	return s.String()
34145}
34146
34147// SetAutomationExecutionId sets the AutomationExecutionId field's value.
34148func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *StartAutomationExecutionOutput {
34149	s.AutomationExecutionId = &v
34150	return s
34151}
34152
34153type StartSessionInput struct {
34154	_ struct{} `type:"structure"`
34155
34156	// The name of the SSM document to define the parameters and plugin settings
34157	// for the session. For example, SSM-SessionManagerRunShell. If no document
34158	// name is provided, a shell to the instance is launched by default.
34159	DocumentName *string `type:"string"`
34160
34161	// Reserved for future use.
34162	Parameters map[string][]*string `type:"map"`
34163
34164	// The instance to connect to for the session.
34165	//
34166	// Target is a required field
34167	Target *string `min:"1" type:"string" required:"true"`
34168}
34169
34170// String returns the string representation
34171func (s StartSessionInput) String() string {
34172	return awsutil.Prettify(s)
34173}
34174
34175// GoString returns the string representation
34176func (s StartSessionInput) GoString() string {
34177	return s.String()
34178}
34179
34180// Validate inspects the fields of the type to determine if they are valid.
34181func (s *StartSessionInput) Validate() error {
34182	invalidParams := request.ErrInvalidParams{Context: "StartSessionInput"}
34183	if s.Target == nil {
34184		invalidParams.Add(request.NewErrParamRequired("Target"))
34185	}
34186	if s.Target != nil && len(*s.Target) < 1 {
34187		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
34188	}
34189
34190	if invalidParams.Len() > 0 {
34191		return invalidParams
34192	}
34193	return nil
34194}
34195
34196// SetDocumentName sets the DocumentName field's value.
34197func (s *StartSessionInput) SetDocumentName(v string) *StartSessionInput {
34198	s.DocumentName = &v
34199	return s
34200}
34201
34202// SetParameters sets the Parameters field's value.
34203func (s *StartSessionInput) SetParameters(v map[string][]*string) *StartSessionInput {
34204	s.Parameters = v
34205	return s
34206}
34207
34208// SetTarget sets the Target field's value.
34209func (s *StartSessionInput) SetTarget(v string) *StartSessionInput {
34210	s.Target = &v
34211	return s
34212}
34213
34214type StartSessionOutput struct {
34215	_ struct{} `type:"structure"`
34216
34217	// The ID of the session.
34218	SessionId *string `min:"1" type:"string"`
34219
34220	// A URL back to SSM Agent on the instance that the Session Manager client uses
34221	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
34222	//
34223	// region represents the Region identifier for an AWS Region supported by AWS
34224	// Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list
34225	// of supported region values, see the Region column in the AWS Systems Manager
34226	// table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)
34227	// in the AWS General Reference.
34228	//
34229	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
34230	StreamUrl *string `type:"string"`
34231
34232	// An encrypted token value containing session and caller information. Used
34233	// to authenticate the connection to the instance.
34234	TokenValue *string `type:"string"`
34235}
34236
34237// String returns the string representation
34238func (s StartSessionOutput) String() string {
34239	return awsutil.Prettify(s)
34240}
34241
34242// GoString returns the string representation
34243func (s StartSessionOutput) GoString() string {
34244	return s.String()
34245}
34246
34247// SetSessionId sets the SessionId field's value.
34248func (s *StartSessionOutput) SetSessionId(v string) *StartSessionOutput {
34249	s.SessionId = &v
34250	return s
34251}
34252
34253// SetStreamUrl sets the StreamUrl field's value.
34254func (s *StartSessionOutput) SetStreamUrl(v string) *StartSessionOutput {
34255	s.StreamUrl = &v
34256	return s
34257}
34258
34259// SetTokenValue sets the TokenValue field's value.
34260func (s *StartSessionOutput) SetTokenValue(v string) *StartSessionOutput {
34261	s.TokenValue = &v
34262	return s
34263}
34264
34265// Detailed information about an the execution state of an Automation step.
34266type StepExecution struct {
34267	_ struct{} `type:"structure"`
34268
34269	// The action this step performs. The action determines the behavior of the
34270	// step.
34271	Action *string `type:"string"`
34272
34273	// If a step has finished execution, this contains the time the execution ended.
34274	// If the step has not yet concluded, this field is not populated.
34275	ExecutionEndTime *time.Time `type:"timestamp"`
34276
34277	// If a step has begun execution, this contains the time the step started. If
34278	// the step is in Pending status, this field is not populated.
34279	ExecutionStartTime *time.Time `type:"timestamp"`
34280
34281	// Information about the Automation failure.
34282	FailureDetails *FailureDetails `type:"structure"`
34283
34284	// If a step failed, this message explains why the execution failed.
34285	FailureMessage *string `type:"string"`
34286
34287	// Fully-resolved values passed into the step before execution.
34288	Inputs map[string]*string `type:"map"`
34289
34290	// The flag which can be used to help decide whether the failure of current
34291	// step leads to the Automation failure.
34292	IsCritical *bool `type:"boolean"`
34293
34294	// The flag which can be used to end automation no matter whether the step succeeds
34295	// or fails.
34296	IsEnd *bool `type:"boolean"`
34297
34298	// The maximum number of tries to run the action of the step. The default value
34299	// is 1.
34300	MaxAttempts *int64 `type:"integer"`
34301
34302	// The next step after the step succeeds.
34303	NextStep *string `type:"string"`
34304
34305	// The action to take if the step fails. The default value is Abort.
34306	OnFailure *string `type:"string"`
34307
34308	// Returned values from the execution of the step.
34309	Outputs map[string][]*string `min:"1" type:"map"`
34310
34311	// A user-specified list of parameters to override when running a step.
34312	OverriddenParameters map[string][]*string `min:"1" type:"map"`
34313
34314	// A message associated with the response code for an execution.
34315	Response *string `type:"string"`
34316
34317	// The response code returned by the execution of the step.
34318	ResponseCode *string `type:"string"`
34319
34320	// The unique ID of a step execution.
34321	StepExecutionId *string `type:"string"`
34322
34323	// The name of this execution step.
34324	StepName *string `type:"string"`
34325
34326	// The execution status for this step. Valid values include: Pending, InProgress,
34327	// Success, Cancelled, Failed, and TimedOut.
34328	StepStatus *string `type:"string" enum:"AutomationExecutionStatus"`
34329
34330	// The combination of AWS Regions and accounts targeted by the current Automation
34331	// execution.
34332	TargetLocation *TargetLocation `type:"structure"`
34333
34334	// The targets for the step execution.
34335	Targets []*Target `type:"list"`
34336
34337	// The timeout seconds of the step.
34338	TimeoutSeconds *int64 `type:"long"`
34339
34340	// Strategies used when step fails, we support Continue and Abort. Abort will
34341	// fail the automation when the step fails. Continue will ignore the failure
34342	// of current step and allow automation to run the next step. With conditional
34343	// branching, we add step:stepName to support the automation to go to another
34344	// specific step.
34345	ValidNextSteps []*string `type:"list"`
34346}
34347
34348// String returns the string representation
34349func (s StepExecution) String() string {
34350	return awsutil.Prettify(s)
34351}
34352
34353// GoString returns the string representation
34354func (s StepExecution) GoString() string {
34355	return s.String()
34356}
34357
34358// SetAction sets the Action field's value.
34359func (s *StepExecution) SetAction(v string) *StepExecution {
34360	s.Action = &v
34361	return s
34362}
34363
34364// SetExecutionEndTime sets the ExecutionEndTime field's value.
34365func (s *StepExecution) SetExecutionEndTime(v time.Time) *StepExecution {
34366	s.ExecutionEndTime = &v
34367	return s
34368}
34369
34370// SetExecutionStartTime sets the ExecutionStartTime field's value.
34371func (s *StepExecution) SetExecutionStartTime(v time.Time) *StepExecution {
34372	s.ExecutionStartTime = &v
34373	return s
34374}
34375
34376// SetFailureDetails sets the FailureDetails field's value.
34377func (s *StepExecution) SetFailureDetails(v *FailureDetails) *StepExecution {
34378	s.FailureDetails = v
34379	return s
34380}
34381
34382// SetFailureMessage sets the FailureMessage field's value.
34383func (s *StepExecution) SetFailureMessage(v string) *StepExecution {
34384	s.FailureMessage = &v
34385	return s
34386}
34387
34388// SetInputs sets the Inputs field's value.
34389func (s *StepExecution) SetInputs(v map[string]*string) *StepExecution {
34390	s.Inputs = v
34391	return s
34392}
34393
34394// SetIsCritical sets the IsCritical field's value.
34395func (s *StepExecution) SetIsCritical(v bool) *StepExecution {
34396	s.IsCritical = &v
34397	return s
34398}
34399
34400// SetIsEnd sets the IsEnd field's value.
34401func (s *StepExecution) SetIsEnd(v bool) *StepExecution {
34402	s.IsEnd = &v
34403	return s
34404}
34405
34406// SetMaxAttempts sets the MaxAttempts field's value.
34407func (s *StepExecution) SetMaxAttempts(v int64) *StepExecution {
34408	s.MaxAttempts = &v
34409	return s
34410}
34411
34412// SetNextStep sets the NextStep field's value.
34413func (s *StepExecution) SetNextStep(v string) *StepExecution {
34414	s.NextStep = &v
34415	return s
34416}
34417
34418// SetOnFailure sets the OnFailure field's value.
34419func (s *StepExecution) SetOnFailure(v string) *StepExecution {
34420	s.OnFailure = &v
34421	return s
34422}
34423
34424// SetOutputs sets the Outputs field's value.
34425func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution {
34426	s.Outputs = v
34427	return s
34428}
34429
34430// SetOverriddenParameters sets the OverriddenParameters field's value.
34431func (s *StepExecution) SetOverriddenParameters(v map[string][]*string) *StepExecution {
34432	s.OverriddenParameters = v
34433	return s
34434}
34435
34436// SetResponse sets the Response field's value.
34437func (s *StepExecution) SetResponse(v string) *StepExecution {
34438	s.Response = &v
34439	return s
34440}
34441
34442// SetResponseCode sets the ResponseCode field's value.
34443func (s *StepExecution) SetResponseCode(v string) *StepExecution {
34444	s.ResponseCode = &v
34445	return s
34446}
34447
34448// SetStepExecutionId sets the StepExecutionId field's value.
34449func (s *StepExecution) SetStepExecutionId(v string) *StepExecution {
34450	s.StepExecutionId = &v
34451	return s
34452}
34453
34454// SetStepName sets the StepName field's value.
34455func (s *StepExecution) SetStepName(v string) *StepExecution {
34456	s.StepName = &v
34457	return s
34458}
34459
34460// SetStepStatus sets the StepStatus field's value.
34461func (s *StepExecution) SetStepStatus(v string) *StepExecution {
34462	s.StepStatus = &v
34463	return s
34464}
34465
34466// SetTargetLocation sets the TargetLocation field's value.
34467func (s *StepExecution) SetTargetLocation(v *TargetLocation) *StepExecution {
34468	s.TargetLocation = v
34469	return s
34470}
34471
34472// SetTargets sets the Targets field's value.
34473func (s *StepExecution) SetTargets(v []*Target) *StepExecution {
34474	s.Targets = v
34475	return s
34476}
34477
34478// SetTimeoutSeconds sets the TimeoutSeconds field's value.
34479func (s *StepExecution) SetTimeoutSeconds(v int64) *StepExecution {
34480	s.TimeoutSeconds = &v
34481	return s
34482}
34483
34484// SetValidNextSteps sets the ValidNextSteps field's value.
34485func (s *StepExecution) SetValidNextSteps(v []*string) *StepExecution {
34486	s.ValidNextSteps = v
34487	return s
34488}
34489
34490// A filter to limit the amount of step execution information returned by the
34491// call.
34492type StepExecutionFilter struct {
34493	_ struct{} `type:"structure"`
34494
34495	// One or more keys to limit the results. Valid filter keys include the following:
34496	// StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore,
34497	// StartTimeAfter.
34498	//
34499	// Key is a required field
34500	Key *string `type:"string" required:"true" enum:"StepExecutionFilterKey"`
34501
34502	// The values of the filter key.
34503	//
34504	// Values is a required field
34505	Values []*string `min:"1" type:"list" required:"true"`
34506}
34507
34508// String returns the string representation
34509func (s StepExecutionFilter) String() string {
34510	return awsutil.Prettify(s)
34511}
34512
34513// GoString returns the string representation
34514func (s StepExecutionFilter) GoString() string {
34515	return s.String()
34516}
34517
34518// Validate inspects the fields of the type to determine if they are valid.
34519func (s *StepExecutionFilter) Validate() error {
34520	invalidParams := request.ErrInvalidParams{Context: "StepExecutionFilter"}
34521	if s.Key == nil {
34522		invalidParams.Add(request.NewErrParamRequired("Key"))
34523	}
34524	if s.Values == nil {
34525		invalidParams.Add(request.NewErrParamRequired("Values"))
34526	}
34527	if s.Values != nil && len(s.Values) < 1 {
34528		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
34529	}
34530
34531	if invalidParams.Len() > 0 {
34532		return invalidParams
34533	}
34534	return nil
34535}
34536
34537// SetKey sets the Key field's value.
34538func (s *StepExecutionFilter) SetKey(v string) *StepExecutionFilter {
34539	s.Key = &v
34540	return s
34541}
34542
34543// SetValues sets the Values field's value.
34544func (s *StepExecutionFilter) SetValues(v []*string) *StepExecutionFilter {
34545	s.Values = v
34546	return s
34547}
34548
34549type StopAutomationExecutionInput struct {
34550	_ struct{} `type:"structure"`
34551
34552	// The execution ID of the Automation to stop.
34553	//
34554	// AutomationExecutionId is a required field
34555	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
34556
34557	// The stop request type. Valid types include the following: Cancel and Complete.
34558	// The default type is Cancel.
34559	Type *string `type:"string" enum:"StopType"`
34560}
34561
34562// String returns the string representation
34563func (s StopAutomationExecutionInput) String() string {
34564	return awsutil.Prettify(s)
34565}
34566
34567// GoString returns the string representation
34568func (s StopAutomationExecutionInput) GoString() string {
34569	return s.String()
34570}
34571
34572// Validate inspects the fields of the type to determine if they are valid.
34573func (s *StopAutomationExecutionInput) Validate() error {
34574	invalidParams := request.ErrInvalidParams{Context: "StopAutomationExecutionInput"}
34575	if s.AutomationExecutionId == nil {
34576		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
34577	}
34578	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
34579		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
34580	}
34581
34582	if invalidParams.Len() > 0 {
34583		return invalidParams
34584	}
34585	return nil
34586}
34587
34588// SetAutomationExecutionId sets the AutomationExecutionId field's value.
34589func (s *StopAutomationExecutionInput) SetAutomationExecutionId(v string) *StopAutomationExecutionInput {
34590	s.AutomationExecutionId = &v
34591	return s
34592}
34593
34594// SetType sets the Type field's value.
34595func (s *StopAutomationExecutionInput) SetType(v string) *StopAutomationExecutionInput {
34596	s.Type = &v
34597	return s
34598}
34599
34600type StopAutomationExecutionOutput struct {
34601	_ struct{} `type:"structure"`
34602}
34603
34604// String returns the string representation
34605func (s StopAutomationExecutionOutput) String() string {
34606	return awsutil.Prettify(s)
34607}
34608
34609// GoString returns the string representation
34610func (s StopAutomationExecutionOutput) GoString() string {
34611	return s.String()
34612}
34613
34614// Metadata that you assign to your AWS resources. Tags enable you to categorize
34615// your resources in different ways, for example, by purpose, owner, or environment.
34616// In Systems Manager, you can apply tags to documents, managed instances, maintenance
34617// windows, Parameter Store parameters, and patch baselines.
34618type Tag struct {
34619	_ struct{} `type:"structure"`
34620
34621	// The name of the tag.
34622	//
34623	// Key is a required field
34624	Key *string `min:"1" type:"string" required:"true"`
34625
34626	// The value of the tag.
34627	//
34628	// Value is a required field
34629	Value *string `min:"1" type:"string" required:"true"`
34630}
34631
34632// String returns the string representation
34633func (s Tag) String() string {
34634	return awsutil.Prettify(s)
34635}
34636
34637// GoString returns the string representation
34638func (s Tag) GoString() string {
34639	return s.String()
34640}
34641
34642// Validate inspects the fields of the type to determine if they are valid.
34643func (s *Tag) Validate() error {
34644	invalidParams := request.ErrInvalidParams{Context: "Tag"}
34645	if s.Key == nil {
34646		invalidParams.Add(request.NewErrParamRequired("Key"))
34647	}
34648	if s.Key != nil && len(*s.Key) < 1 {
34649		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
34650	}
34651	if s.Value == nil {
34652		invalidParams.Add(request.NewErrParamRequired("Value"))
34653	}
34654	if s.Value != nil && len(*s.Value) < 1 {
34655		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
34656	}
34657
34658	if invalidParams.Len() > 0 {
34659		return invalidParams
34660	}
34661	return nil
34662}
34663
34664// SetKey sets the Key field's value.
34665func (s *Tag) SetKey(v string) *Tag {
34666	s.Key = &v
34667	return s
34668}
34669
34670// SetValue sets the Value field's value.
34671func (s *Tag) SetValue(v string) *Tag {
34672	s.Value = &v
34673	return s
34674}
34675
34676// An array of search criteria that targets instances using a Key,Value combination
34677// that you specify.
34678//
34679// Supported formats include the following.
34680//
34681//    * Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
34682//
34683//    * Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
34684//
34685//    * Key=tag-key,Values=my-tag-key-1,my-tag-key-2
34686//
34687//    * (Maintenance window targets only) Key=resource-groups:Name,Values=resource-group-name
34688//
34689//    * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
34690//
34691// For example:
34692//
34693//    * Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
34694//
34695//    * Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3
34696//
34697//    * Key=tag-key,Values=Name,Instance-Type,CostCenter
34698//
34699//    * (Maintenance window targets only) Key=resource-groups:Name,Values=ProductionResourceGroup
34700//
34701//    * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
34702//
34703// For information about how to send commands that target instances using Key,Value
34704// parameters, see Using Targets and Rate Controls to Send Commands to a Fleet
34705// (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting)
34706// in the AWS Systems Manager User Guide.
34707type Target struct {
34708	_ struct{} `type:"structure"`
34709
34710	// User-defined criteria for sending commands that target instances that meet
34711	// the criteria.
34712	Key *string `min:"1" type:"string"`
34713
34714	// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole,
34715	// you could specify value:WebServer to run a command on instances that include
34716	// Amazon EC2 tags of ServerRole,WebServer.
34717	Values []*string `type:"list"`
34718}
34719
34720// String returns the string representation
34721func (s Target) String() string {
34722	return awsutil.Prettify(s)
34723}
34724
34725// GoString returns the string representation
34726func (s Target) GoString() string {
34727	return s.String()
34728}
34729
34730// Validate inspects the fields of the type to determine if they are valid.
34731func (s *Target) Validate() error {
34732	invalidParams := request.ErrInvalidParams{Context: "Target"}
34733	if s.Key != nil && len(*s.Key) < 1 {
34734		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
34735	}
34736
34737	if invalidParams.Len() > 0 {
34738		return invalidParams
34739	}
34740	return nil
34741}
34742
34743// SetKey sets the Key field's value.
34744func (s *Target) SetKey(v string) *Target {
34745	s.Key = &v
34746	return s
34747}
34748
34749// SetValues sets the Values field's value.
34750func (s *Target) SetValues(v []*string) *Target {
34751	s.Values = v
34752	return s
34753}
34754
34755// The combination of AWS Regions and accounts targeted by the current Automation
34756// execution.
34757type TargetLocation struct {
34758	_ struct{} `type:"structure"`
34759
34760	// The AWS accounts targeted by the current Automation execution.
34761	Accounts []*string `min:"1" type:"list"`
34762
34763	// The Automation execution role used by the currently running Automation.
34764	ExecutionRoleName *string `min:"1" type:"string"`
34765
34766	// The AWS Regions targeted by the current Automation execution.
34767	Regions []*string `min:"1" type:"list"`
34768
34769	// The maximum number of AWS accounts and AWS regions allowed to run the Automation
34770	// concurrently
34771	TargetLocationMaxConcurrency *string `min:"1" type:"string"`
34772
34773	// The maximum number of errors allowed before the system stops queueing additional
34774	// Automation executions for the currently running Automation.
34775	TargetLocationMaxErrors *string `min:"1" type:"string"`
34776}
34777
34778// String returns the string representation
34779func (s TargetLocation) String() string {
34780	return awsutil.Prettify(s)
34781}
34782
34783// GoString returns the string representation
34784func (s TargetLocation) GoString() string {
34785	return s.String()
34786}
34787
34788// Validate inspects the fields of the type to determine if they are valid.
34789func (s *TargetLocation) Validate() error {
34790	invalidParams := request.ErrInvalidParams{Context: "TargetLocation"}
34791	if s.Accounts != nil && len(s.Accounts) < 1 {
34792		invalidParams.Add(request.NewErrParamMinLen("Accounts", 1))
34793	}
34794	if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 {
34795		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1))
34796	}
34797	if s.Regions != nil && len(s.Regions) < 1 {
34798		invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
34799	}
34800	if s.TargetLocationMaxConcurrency != nil && len(*s.TargetLocationMaxConcurrency) < 1 {
34801		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxConcurrency", 1))
34802	}
34803	if s.TargetLocationMaxErrors != nil && len(*s.TargetLocationMaxErrors) < 1 {
34804		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxErrors", 1))
34805	}
34806
34807	if invalidParams.Len() > 0 {
34808		return invalidParams
34809	}
34810	return nil
34811}
34812
34813// SetAccounts sets the Accounts field's value.
34814func (s *TargetLocation) SetAccounts(v []*string) *TargetLocation {
34815	s.Accounts = v
34816	return s
34817}
34818
34819// SetExecutionRoleName sets the ExecutionRoleName field's value.
34820func (s *TargetLocation) SetExecutionRoleName(v string) *TargetLocation {
34821	s.ExecutionRoleName = &v
34822	return s
34823}
34824
34825// SetRegions sets the Regions field's value.
34826func (s *TargetLocation) SetRegions(v []*string) *TargetLocation {
34827	s.Regions = v
34828	return s
34829}
34830
34831// SetTargetLocationMaxConcurrency sets the TargetLocationMaxConcurrency field's value.
34832func (s *TargetLocation) SetTargetLocationMaxConcurrency(v string) *TargetLocation {
34833	s.TargetLocationMaxConcurrency = &v
34834	return s
34835}
34836
34837// SetTargetLocationMaxErrors sets the TargetLocationMaxErrors field's value.
34838func (s *TargetLocation) SetTargetLocationMaxErrors(v string) *TargetLocation {
34839	s.TargetLocationMaxErrors = &v
34840	return s
34841}
34842
34843type TerminateSessionInput struct {
34844	_ struct{} `type:"structure"`
34845
34846	// The ID of the session to terminate.
34847	//
34848	// SessionId is a required field
34849	SessionId *string `min:"1" type:"string" required:"true"`
34850}
34851
34852// String returns the string representation
34853func (s TerminateSessionInput) String() string {
34854	return awsutil.Prettify(s)
34855}
34856
34857// GoString returns the string representation
34858func (s TerminateSessionInput) GoString() string {
34859	return s.String()
34860}
34861
34862// Validate inspects the fields of the type to determine if they are valid.
34863func (s *TerminateSessionInput) Validate() error {
34864	invalidParams := request.ErrInvalidParams{Context: "TerminateSessionInput"}
34865	if s.SessionId == nil {
34866		invalidParams.Add(request.NewErrParamRequired("SessionId"))
34867	}
34868	if s.SessionId != nil && len(*s.SessionId) < 1 {
34869		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
34870	}
34871
34872	if invalidParams.Len() > 0 {
34873		return invalidParams
34874	}
34875	return nil
34876}
34877
34878// SetSessionId sets the SessionId field's value.
34879func (s *TerminateSessionInput) SetSessionId(v string) *TerminateSessionInput {
34880	s.SessionId = &v
34881	return s
34882}
34883
34884type TerminateSessionOutput struct {
34885	_ struct{} `type:"structure"`
34886
34887	// The ID of the session that has been terminated.
34888	SessionId *string `min:"1" type:"string"`
34889}
34890
34891// String returns the string representation
34892func (s TerminateSessionOutput) String() string {
34893	return awsutil.Prettify(s)
34894}
34895
34896// GoString returns the string representation
34897func (s TerminateSessionOutput) GoString() string {
34898	return s.String()
34899}
34900
34901// SetSessionId sets the SessionId field's value.
34902func (s *TerminateSessionOutput) SetSessionId(v string) *TerminateSessionOutput {
34903	s.SessionId = &v
34904	return s
34905}
34906
34907type UpdateAssociationInput struct {
34908	_ struct{} `type:"structure"`
34909
34910	// The ID of the association you want to update.
34911	//
34912	// AssociationId is a required field
34913	AssociationId *string `type:"string" required:"true"`
34914
34915	// The name of the association that you want to update.
34916	AssociationName *string `type:"string"`
34917
34918	// This parameter is provided for concurrency control purposes. You must specify
34919	// the latest association version in the service. If you want to ensure that
34920	// this request succeeds, either specify $LATEST, or omit this parameter.
34921	AssociationVersion *string `type:"string"`
34922
34923	// Specify the target for the association. This target is required for associations
34924	// that use an Automation document and target resources by using rate controls.
34925	AutomationTargetParameterName *string `min:"1" type:"string"`
34926
34927	// The severity level to assign to the association.
34928	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
34929
34930	// The document version you want update for the association.
34931	DocumentVersion *string `type:"string"`
34932
34933	// The maximum number of targets allowed to run the association at the same
34934	// time. You can specify a number, for example 10, or a percentage of the target
34935	// set, for example 10%. The default value is 100%, which means all targets
34936	// run the association at the same time.
34937	//
34938	// If a new instance starts and attempts to run an association while Systems
34939	// Manager is running MaxConcurrency associations, the association is allowed
34940	// to run. During the next association interval, the new instance will process
34941	// its association within the limit specified for MaxConcurrency.
34942	MaxConcurrency *string `min:"1" type:"string"`
34943
34944	// The number of errors that are allowed before the system stops sending requests
34945	// to run the association on additional targets. You can specify either an absolute
34946	// number of errors, for example 10, or a percentage of the target set, for
34947	// example 10%. If you specify 3, for example, the system stops sending requests
34948	// when the fourth error is received. If you specify 0, then the system stops
34949	// sending requests after the first error is returned. If you run an association
34950	// on 50 instances and set MaxError to 10%, then the system stops sending the
34951	// request when the sixth error is received.
34952	//
34953	// Executions that are already running an association when MaxErrors is reached
34954	// are allowed to complete, but some of these executions may fail as well. If
34955	// you need to ensure that there won't be more than max-errors failed executions,
34956	// set MaxConcurrency to 1 so that executions proceed one at a time.
34957	MaxErrors *string `min:"1" type:"string"`
34958
34959	// The name of the SSM document that contains the configuration information
34960	// for the instance. You can specify Command or Automation documents.
34961	//
34962	// You can specify AWS-predefined documents, documents you created, or a document
34963	// that is shared with you from another account.
34964	//
34965	// For SSM documents that are shared with you from other AWS accounts, you must
34966	// specify the complete SSM document ARN, in the following format:
34967	//
34968	// arn:aws:ssm:region:account-id:document/document-name
34969	//
34970	// For example:
34971	//
34972	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
34973	//
34974	// For AWS-predefined documents and SSM documents you created in your account,
34975	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
34976	// or My-Document.
34977	Name *string `type:"string"`
34978
34979	// An Amazon S3 bucket where you want to store the results of this request.
34980	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
34981
34982	// The parameters you want to update for the association. If you create a parameter
34983	// using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}
34984	Parameters map[string][]*string `type:"map"`
34985
34986	// The cron expression used to schedule the association that you want to update.
34987	ScheduleExpression *string `min:"1" type:"string"`
34988
34989	// The targets of the association.
34990	Targets []*Target `type:"list"`
34991}
34992
34993// String returns the string representation
34994func (s UpdateAssociationInput) String() string {
34995	return awsutil.Prettify(s)
34996}
34997
34998// GoString returns the string representation
34999func (s UpdateAssociationInput) GoString() string {
35000	return s.String()
35001}
35002
35003// Validate inspects the fields of the type to determine if they are valid.
35004func (s *UpdateAssociationInput) Validate() error {
35005	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationInput"}
35006	if s.AssociationId == nil {
35007		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
35008	}
35009	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
35010		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
35011	}
35012	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
35013		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
35014	}
35015	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
35016		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
35017	}
35018	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
35019		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
35020	}
35021	if s.OutputLocation != nil {
35022		if err := s.OutputLocation.Validate(); err != nil {
35023			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
35024		}
35025	}
35026	if s.Targets != nil {
35027		for i, v := range s.Targets {
35028			if v == nil {
35029				continue
35030			}
35031			if err := v.Validate(); err != nil {
35032				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
35033			}
35034		}
35035	}
35036
35037	if invalidParams.Len() > 0 {
35038		return invalidParams
35039	}
35040	return nil
35041}
35042
35043// SetAssociationId sets the AssociationId field's value.
35044func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput {
35045	s.AssociationId = &v
35046	return s
35047}
35048
35049// SetAssociationName sets the AssociationName field's value.
35050func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput {
35051	s.AssociationName = &v
35052	return s
35053}
35054
35055// SetAssociationVersion sets the AssociationVersion field's value.
35056func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput {
35057	s.AssociationVersion = &v
35058	return s
35059}
35060
35061// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
35062func (s *UpdateAssociationInput) SetAutomationTargetParameterName(v string) *UpdateAssociationInput {
35063	s.AutomationTargetParameterName = &v
35064	return s
35065}
35066
35067// SetComplianceSeverity sets the ComplianceSeverity field's value.
35068func (s *UpdateAssociationInput) SetComplianceSeverity(v string) *UpdateAssociationInput {
35069	s.ComplianceSeverity = &v
35070	return s
35071}
35072
35073// SetDocumentVersion sets the DocumentVersion field's value.
35074func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput {
35075	s.DocumentVersion = &v
35076	return s
35077}
35078
35079// SetMaxConcurrency sets the MaxConcurrency field's value.
35080func (s *UpdateAssociationInput) SetMaxConcurrency(v string) *UpdateAssociationInput {
35081	s.MaxConcurrency = &v
35082	return s
35083}
35084
35085// SetMaxErrors sets the MaxErrors field's value.
35086func (s *UpdateAssociationInput) SetMaxErrors(v string) *UpdateAssociationInput {
35087	s.MaxErrors = &v
35088	return s
35089}
35090
35091// SetName sets the Name field's value.
35092func (s *UpdateAssociationInput) SetName(v string) *UpdateAssociationInput {
35093	s.Name = &v
35094	return s
35095}
35096
35097// SetOutputLocation sets the OutputLocation field's value.
35098func (s *UpdateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *UpdateAssociationInput {
35099	s.OutputLocation = v
35100	return s
35101}
35102
35103// SetParameters sets the Parameters field's value.
35104func (s *UpdateAssociationInput) SetParameters(v map[string][]*string) *UpdateAssociationInput {
35105	s.Parameters = v
35106	return s
35107}
35108
35109// SetScheduleExpression sets the ScheduleExpression field's value.
35110func (s *UpdateAssociationInput) SetScheduleExpression(v string) *UpdateAssociationInput {
35111	s.ScheduleExpression = &v
35112	return s
35113}
35114
35115// SetTargets sets the Targets field's value.
35116func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput {
35117	s.Targets = v
35118	return s
35119}
35120
35121type UpdateAssociationOutput struct {
35122	_ struct{} `type:"structure"`
35123
35124	// The description of the association that was updated.
35125	AssociationDescription *AssociationDescription `type:"structure"`
35126}
35127
35128// String returns the string representation
35129func (s UpdateAssociationOutput) String() string {
35130	return awsutil.Prettify(s)
35131}
35132
35133// GoString returns the string representation
35134func (s UpdateAssociationOutput) GoString() string {
35135	return s.String()
35136}
35137
35138// SetAssociationDescription sets the AssociationDescription field's value.
35139func (s *UpdateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationOutput {
35140	s.AssociationDescription = v
35141	return s
35142}
35143
35144type UpdateAssociationStatusInput struct {
35145	_ struct{} `type:"structure"`
35146
35147	// The association status.
35148	//
35149	// AssociationStatus is a required field
35150	AssociationStatus *AssociationStatus `type:"structure" required:"true"`
35151
35152	// The ID of the instance.
35153	//
35154	// InstanceId is a required field
35155	InstanceId *string `type:"string" required:"true"`
35156
35157	// The name of the Systems Manager document.
35158	//
35159	// Name is a required field
35160	Name *string `type:"string" required:"true"`
35161}
35162
35163// String returns the string representation
35164func (s UpdateAssociationStatusInput) String() string {
35165	return awsutil.Prettify(s)
35166}
35167
35168// GoString returns the string representation
35169func (s UpdateAssociationStatusInput) GoString() string {
35170	return s.String()
35171}
35172
35173// Validate inspects the fields of the type to determine if they are valid.
35174func (s *UpdateAssociationStatusInput) Validate() error {
35175	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"}
35176	if s.AssociationStatus == nil {
35177		invalidParams.Add(request.NewErrParamRequired("AssociationStatus"))
35178	}
35179	if s.InstanceId == nil {
35180		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
35181	}
35182	if s.Name == nil {
35183		invalidParams.Add(request.NewErrParamRequired("Name"))
35184	}
35185	if s.AssociationStatus != nil {
35186		if err := s.AssociationStatus.Validate(); err != nil {
35187			invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams))
35188		}
35189	}
35190
35191	if invalidParams.Len() > 0 {
35192		return invalidParams
35193	}
35194	return nil
35195}
35196
35197// SetAssociationStatus sets the AssociationStatus field's value.
35198func (s *UpdateAssociationStatusInput) SetAssociationStatus(v *AssociationStatus) *UpdateAssociationStatusInput {
35199	s.AssociationStatus = v
35200	return s
35201}
35202
35203// SetInstanceId sets the InstanceId field's value.
35204func (s *UpdateAssociationStatusInput) SetInstanceId(v string) *UpdateAssociationStatusInput {
35205	s.InstanceId = &v
35206	return s
35207}
35208
35209// SetName sets the Name field's value.
35210func (s *UpdateAssociationStatusInput) SetName(v string) *UpdateAssociationStatusInput {
35211	s.Name = &v
35212	return s
35213}
35214
35215type UpdateAssociationStatusOutput struct {
35216	_ struct{} `type:"structure"`
35217
35218	// Information about the association.
35219	AssociationDescription *AssociationDescription `type:"structure"`
35220}
35221
35222// String returns the string representation
35223func (s UpdateAssociationStatusOutput) String() string {
35224	return awsutil.Prettify(s)
35225}
35226
35227// GoString returns the string representation
35228func (s UpdateAssociationStatusOutput) GoString() string {
35229	return s.String()
35230}
35231
35232// SetAssociationDescription sets the AssociationDescription field's value.
35233func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationStatusOutput {
35234	s.AssociationDescription = v
35235	return s
35236}
35237
35238type UpdateDocumentDefaultVersionInput struct {
35239	_ struct{} `type:"structure"`
35240
35241	// The version of a custom document that you want to set as the default version.
35242	//
35243	// DocumentVersion is a required field
35244	DocumentVersion *string `type:"string" required:"true"`
35245
35246	// The name of a custom document that you want to set as the default version.
35247	//
35248	// Name is a required field
35249	Name *string `type:"string" required:"true"`
35250}
35251
35252// String returns the string representation
35253func (s UpdateDocumentDefaultVersionInput) String() string {
35254	return awsutil.Prettify(s)
35255}
35256
35257// GoString returns the string representation
35258func (s UpdateDocumentDefaultVersionInput) GoString() string {
35259	return s.String()
35260}
35261
35262// Validate inspects the fields of the type to determine if they are valid.
35263func (s *UpdateDocumentDefaultVersionInput) Validate() error {
35264	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentDefaultVersionInput"}
35265	if s.DocumentVersion == nil {
35266		invalidParams.Add(request.NewErrParamRequired("DocumentVersion"))
35267	}
35268	if s.Name == nil {
35269		invalidParams.Add(request.NewErrParamRequired("Name"))
35270	}
35271
35272	if invalidParams.Len() > 0 {
35273		return invalidParams
35274	}
35275	return nil
35276}
35277
35278// SetDocumentVersion sets the DocumentVersion field's value.
35279func (s *UpdateDocumentDefaultVersionInput) SetDocumentVersion(v string) *UpdateDocumentDefaultVersionInput {
35280	s.DocumentVersion = &v
35281	return s
35282}
35283
35284// SetName sets the Name field's value.
35285func (s *UpdateDocumentDefaultVersionInput) SetName(v string) *UpdateDocumentDefaultVersionInput {
35286	s.Name = &v
35287	return s
35288}
35289
35290type UpdateDocumentDefaultVersionOutput struct {
35291	_ struct{} `type:"structure"`
35292
35293	// The description of a custom document that you want to set as the default
35294	// version.
35295	Description *DocumentDefaultVersionDescription `type:"structure"`
35296}
35297
35298// String returns the string representation
35299func (s UpdateDocumentDefaultVersionOutput) String() string {
35300	return awsutil.Prettify(s)
35301}
35302
35303// GoString returns the string representation
35304func (s UpdateDocumentDefaultVersionOutput) GoString() string {
35305	return s.String()
35306}
35307
35308// SetDescription sets the Description field's value.
35309func (s *UpdateDocumentDefaultVersionOutput) SetDescription(v *DocumentDefaultVersionDescription) *UpdateDocumentDefaultVersionOutput {
35310	s.Description = v
35311	return s
35312}
35313
35314type UpdateDocumentInput struct {
35315	_ struct{} `type:"structure"`
35316
35317	// A list of key and value pairs that describe attachments to a version of a
35318	// document.
35319	Attachments []*AttachmentsSource `type:"list"`
35320
35321	// A valid JSON or YAML string.
35322	//
35323	// Content is a required field
35324	Content *string `min:"1" type:"string" required:"true"`
35325
35326	// Specify the document format for the new document version. Systems Manager
35327	// supports JSON and YAML documents. JSON is the default format.
35328	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
35329
35330	// (Required) The version of the document that you want to update.
35331	DocumentVersion *string `type:"string"`
35332
35333	// The name of the document that you want to update.
35334	//
35335	// Name is a required field
35336	Name *string `type:"string" required:"true"`
35337
35338	// Specify a new target type for the document.
35339	TargetType *string `type:"string"`
35340
35341	// An optional field specifying the version of the artifact you are updating
35342	// with the document. For example, "Release 12, Update 6". This value is unique
35343	// across all versions of a document, and cannot be changed.
35344	VersionName *string `type:"string"`
35345}
35346
35347// String returns the string representation
35348func (s UpdateDocumentInput) String() string {
35349	return awsutil.Prettify(s)
35350}
35351
35352// GoString returns the string representation
35353func (s UpdateDocumentInput) GoString() string {
35354	return s.String()
35355}
35356
35357// Validate inspects the fields of the type to determine if they are valid.
35358func (s *UpdateDocumentInput) Validate() error {
35359	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
35360	if s.Content == nil {
35361		invalidParams.Add(request.NewErrParamRequired("Content"))
35362	}
35363	if s.Content != nil && len(*s.Content) < 1 {
35364		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
35365	}
35366	if s.Name == nil {
35367		invalidParams.Add(request.NewErrParamRequired("Name"))
35368	}
35369	if s.Attachments != nil {
35370		for i, v := range s.Attachments {
35371			if v == nil {
35372				continue
35373			}
35374			if err := v.Validate(); err != nil {
35375				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
35376			}
35377		}
35378	}
35379
35380	if invalidParams.Len() > 0 {
35381		return invalidParams
35382	}
35383	return nil
35384}
35385
35386// SetAttachments sets the Attachments field's value.
35387func (s *UpdateDocumentInput) SetAttachments(v []*AttachmentsSource) *UpdateDocumentInput {
35388	s.Attachments = v
35389	return s
35390}
35391
35392// SetContent sets the Content field's value.
35393func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput {
35394	s.Content = &v
35395	return s
35396}
35397
35398// SetDocumentFormat sets the DocumentFormat field's value.
35399func (s *UpdateDocumentInput) SetDocumentFormat(v string) *UpdateDocumentInput {
35400	s.DocumentFormat = &v
35401	return s
35402}
35403
35404// SetDocumentVersion sets the DocumentVersion field's value.
35405func (s *UpdateDocumentInput) SetDocumentVersion(v string) *UpdateDocumentInput {
35406	s.DocumentVersion = &v
35407	return s
35408}
35409
35410// SetName sets the Name field's value.
35411func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
35412	s.Name = &v
35413	return s
35414}
35415
35416// SetTargetType sets the TargetType field's value.
35417func (s *UpdateDocumentInput) SetTargetType(v string) *UpdateDocumentInput {
35418	s.TargetType = &v
35419	return s
35420}
35421
35422// SetVersionName sets the VersionName field's value.
35423func (s *UpdateDocumentInput) SetVersionName(v string) *UpdateDocumentInput {
35424	s.VersionName = &v
35425	return s
35426}
35427
35428type UpdateDocumentOutput struct {
35429	_ struct{} `type:"structure"`
35430
35431	// A description of the document that was updated.
35432	DocumentDescription *DocumentDescription `type:"structure"`
35433}
35434
35435// String returns the string representation
35436func (s UpdateDocumentOutput) String() string {
35437	return awsutil.Prettify(s)
35438}
35439
35440// GoString returns the string representation
35441func (s UpdateDocumentOutput) GoString() string {
35442	return s.String()
35443}
35444
35445// SetDocumentDescription sets the DocumentDescription field's value.
35446func (s *UpdateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *UpdateDocumentOutput {
35447	s.DocumentDescription = v
35448	return s
35449}
35450
35451type UpdateMaintenanceWindowInput struct {
35452	_ struct{} `type:"structure"`
35453
35454	// Whether targets must be registered with the maintenance window before tasks
35455	// can be defined for those targets.
35456	AllowUnassociatedTargets *bool `type:"boolean"`
35457
35458	// The number of hours before the end of the maintenance window that Systems
35459	// Manager stops scheduling new tasks for execution.
35460	Cutoff *int64 `type:"integer"`
35461
35462	// An optional description for the update request.
35463	Description *string `min:"1" type:"string" sensitive:"true"`
35464
35465	// The duration of the maintenance window in hours.
35466	Duration *int64 `min:"1" type:"integer"`
35467
35468	// Whether the maintenance window is enabled.
35469	Enabled *bool `type:"boolean"`
35470
35471	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
35472	// window to become inactive. EndDate allows you to set a date and time in the
35473	// future when the maintenance window will no longer run.
35474	EndDate *string `type:"string"`
35475
35476	// The name of the maintenance window.
35477	Name *string `min:"3" type:"string"`
35478
35479	// If True, then all fields that are required by the CreateMaintenanceWindow
35480	// action are also required for this API request. Optional fields that are not
35481	// specified are set to null.
35482	Replace *bool `type:"boolean"`
35483
35484	// The schedule of the maintenance window in the form of a cron or rate expression.
35485	Schedule *string `min:"1" type:"string"`
35486
35487	// The time zone that the scheduled maintenance window executions are based
35488	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
35489	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
35490	// (https://www.iana.org/time-zones) on the IANA website.
35491	ScheduleTimezone *string `type:"string"`
35492
35493	// The time zone that the scheduled maintenance window executions are based
35494	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
35495	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
35496	// (https://www.iana.org/time-zones) on the IANA website.
35497	StartDate *string `type:"string"`
35498
35499	// The ID of the maintenance window to update.
35500	//
35501	// WindowId is a required field
35502	WindowId *string `min:"20" type:"string" required:"true"`
35503}
35504
35505// String returns the string representation
35506func (s UpdateMaintenanceWindowInput) String() string {
35507	return awsutil.Prettify(s)
35508}
35509
35510// GoString returns the string representation
35511func (s UpdateMaintenanceWindowInput) GoString() string {
35512	return s.String()
35513}
35514
35515// Validate inspects the fields of the type to determine if they are valid.
35516func (s *UpdateMaintenanceWindowInput) Validate() error {
35517	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"}
35518	if s.Description != nil && len(*s.Description) < 1 {
35519		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
35520	}
35521	if s.Duration != nil && *s.Duration < 1 {
35522		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
35523	}
35524	if s.Name != nil && len(*s.Name) < 3 {
35525		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
35526	}
35527	if s.Schedule != nil && len(*s.Schedule) < 1 {
35528		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
35529	}
35530	if s.WindowId == nil {
35531		invalidParams.Add(request.NewErrParamRequired("WindowId"))
35532	}
35533	if s.WindowId != nil && len(*s.WindowId) < 20 {
35534		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
35535	}
35536
35537	if invalidParams.Len() > 0 {
35538		return invalidParams
35539	}
35540	return nil
35541}
35542
35543// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
35544func (s *UpdateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowInput {
35545	s.AllowUnassociatedTargets = &v
35546	return s
35547}
35548
35549// SetCutoff sets the Cutoff field's value.
35550func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWindowInput {
35551	s.Cutoff = &v
35552	return s
35553}
35554
35555// SetDescription sets the Description field's value.
35556func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput {
35557	s.Description = &v
35558	return s
35559}
35560
35561// SetDuration sets the Duration field's value.
35562func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput {
35563	s.Duration = &v
35564	return s
35565}
35566
35567// SetEnabled sets the Enabled field's value.
35568func (s *UpdateMaintenanceWindowInput) SetEnabled(v bool) *UpdateMaintenanceWindowInput {
35569	s.Enabled = &v
35570	return s
35571}
35572
35573// SetEndDate sets the EndDate field's value.
35574func (s *UpdateMaintenanceWindowInput) SetEndDate(v string) *UpdateMaintenanceWindowInput {
35575	s.EndDate = &v
35576	return s
35577}
35578
35579// SetName sets the Name field's value.
35580func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput {
35581	s.Name = &v
35582	return s
35583}
35584
35585// SetReplace sets the Replace field's value.
35586func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput {
35587	s.Replace = &v
35588	return s
35589}
35590
35591// SetSchedule sets the Schedule field's value.
35592func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput {
35593	s.Schedule = &v
35594	return s
35595}
35596
35597// SetScheduleTimezone sets the ScheduleTimezone field's value.
35598func (s *UpdateMaintenanceWindowInput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowInput {
35599	s.ScheduleTimezone = &v
35600	return s
35601}
35602
35603// SetStartDate sets the StartDate field's value.
35604func (s *UpdateMaintenanceWindowInput) SetStartDate(v string) *UpdateMaintenanceWindowInput {
35605	s.StartDate = &v
35606	return s
35607}
35608
35609// SetWindowId sets the WindowId field's value.
35610func (s *UpdateMaintenanceWindowInput) SetWindowId(v string) *UpdateMaintenanceWindowInput {
35611	s.WindowId = &v
35612	return s
35613}
35614
35615type UpdateMaintenanceWindowOutput struct {
35616	_ struct{} `type:"structure"`
35617
35618	// Whether targets must be registered with the maintenance window before tasks
35619	// can be defined for those targets.
35620	AllowUnassociatedTargets *bool `type:"boolean"`
35621
35622	// The number of hours before the end of the maintenance window that Systems
35623	// Manager stops scheduling new tasks for execution.
35624	Cutoff *int64 `type:"integer"`
35625
35626	// An optional description of the update.
35627	Description *string `min:"1" type:"string" sensitive:"true"`
35628
35629	// The duration of the maintenance window in hours.
35630	Duration *int64 `min:"1" type:"integer"`
35631
35632	// Whether the maintenance window is enabled.
35633	Enabled *bool `type:"boolean"`
35634
35635	// The date and time, in ISO-8601 Extended format, for when the maintenance
35636	// window is scheduled to become inactive. The maintenance window will not run
35637	// after this specified time.
35638	EndDate *string `type:"string"`
35639
35640	// The name of the maintenance window.
35641	Name *string `min:"3" type:"string"`
35642
35643	// The schedule of the maintenance window in the form of a cron or rate expression.
35644	Schedule *string `min:"1" type:"string"`
35645
35646	// The time zone that the scheduled maintenance window executions are based
35647	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
35648	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
35649	// (https://www.iana.org/time-zones) on the IANA website.
35650	ScheduleTimezone *string `type:"string"`
35651
35652	// The date and time, in ISO-8601 Extended format, for when the maintenance
35653	// window is scheduled to become active. The maintenance window will not run
35654	// before this specified time.
35655	StartDate *string `type:"string"`
35656
35657	// The ID of the created maintenance window.
35658	WindowId *string `min:"20" type:"string"`
35659}
35660
35661// String returns the string representation
35662func (s UpdateMaintenanceWindowOutput) String() string {
35663	return awsutil.Prettify(s)
35664}
35665
35666// GoString returns the string representation
35667func (s UpdateMaintenanceWindowOutput) GoString() string {
35668	return s.String()
35669}
35670
35671// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
35672func (s *UpdateMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowOutput {
35673	s.AllowUnassociatedTargets = &v
35674	return s
35675}
35676
35677// SetCutoff sets the Cutoff field's value.
35678func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWindowOutput {
35679	s.Cutoff = &v
35680	return s
35681}
35682
35683// SetDescription sets the Description field's value.
35684func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput {
35685	s.Description = &v
35686	return s
35687}
35688
35689// SetDuration sets the Duration field's value.
35690func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput {
35691	s.Duration = &v
35692	return s
35693}
35694
35695// SetEnabled sets the Enabled field's value.
35696func (s *UpdateMaintenanceWindowOutput) SetEnabled(v bool) *UpdateMaintenanceWindowOutput {
35697	s.Enabled = &v
35698	return s
35699}
35700
35701// SetEndDate sets the EndDate field's value.
35702func (s *UpdateMaintenanceWindowOutput) SetEndDate(v string) *UpdateMaintenanceWindowOutput {
35703	s.EndDate = &v
35704	return s
35705}
35706
35707// SetName sets the Name field's value.
35708func (s *UpdateMaintenanceWindowOutput) SetName(v string) *UpdateMaintenanceWindowOutput {
35709	s.Name = &v
35710	return s
35711}
35712
35713// SetSchedule sets the Schedule field's value.
35714func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenanceWindowOutput {
35715	s.Schedule = &v
35716	return s
35717}
35718
35719// SetScheduleTimezone sets the ScheduleTimezone field's value.
35720func (s *UpdateMaintenanceWindowOutput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowOutput {
35721	s.ScheduleTimezone = &v
35722	return s
35723}
35724
35725// SetStartDate sets the StartDate field's value.
35726func (s *UpdateMaintenanceWindowOutput) SetStartDate(v string) *UpdateMaintenanceWindowOutput {
35727	s.StartDate = &v
35728	return s
35729}
35730
35731// SetWindowId sets the WindowId field's value.
35732func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput {
35733	s.WindowId = &v
35734	return s
35735}
35736
35737type UpdateMaintenanceWindowTargetInput struct {
35738	_ struct{} `type:"structure"`
35739
35740	// An optional description for the update.
35741	Description *string `min:"1" type:"string" sensitive:"true"`
35742
35743	// A name for the update.
35744	Name *string `min:"3" type:"string"`
35745
35746	// User-provided value that will be included in any CloudWatch events raised
35747	// while running tasks for these targets in this maintenance window.
35748	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
35749
35750	// If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow
35751	// action are also required for this API request. Optional fields that are not
35752	// specified are set to null.
35753	Replace *bool `type:"boolean"`
35754
35755	// The targets to add or replace.
35756	Targets []*Target `type:"list"`
35757
35758	// The maintenance window ID with which to modify the target.
35759	//
35760	// WindowId is a required field
35761	WindowId *string `min:"20" type:"string" required:"true"`
35762
35763	// The target ID to modify.
35764	//
35765	// WindowTargetId is a required field
35766	WindowTargetId *string `min:"36" type:"string" required:"true"`
35767}
35768
35769// String returns the string representation
35770func (s UpdateMaintenanceWindowTargetInput) String() string {
35771	return awsutil.Prettify(s)
35772}
35773
35774// GoString returns the string representation
35775func (s UpdateMaintenanceWindowTargetInput) GoString() string {
35776	return s.String()
35777}
35778
35779// Validate inspects the fields of the type to determine if they are valid.
35780func (s *UpdateMaintenanceWindowTargetInput) Validate() error {
35781	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"}
35782	if s.Description != nil && len(*s.Description) < 1 {
35783		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
35784	}
35785	if s.Name != nil && len(*s.Name) < 3 {
35786		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
35787	}
35788	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
35789		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
35790	}
35791	if s.WindowId == nil {
35792		invalidParams.Add(request.NewErrParamRequired("WindowId"))
35793	}
35794	if s.WindowId != nil && len(*s.WindowId) < 20 {
35795		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
35796	}
35797	if s.WindowTargetId == nil {
35798		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
35799	}
35800	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
35801		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
35802	}
35803	if s.Targets != nil {
35804		for i, v := range s.Targets {
35805			if v == nil {
35806				continue
35807			}
35808			if err := v.Validate(); err != nil {
35809				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
35810			}
35811		}
35812	}
35813
35814	if invalidParams.Len() > 0 {
35815		return invalidParams
35816	}
35817	return nil
35818}
35819
35820// SetDescription sets the Description field's value.
35821func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput {
35822	s.Description = &v
35823	return s
35824}
35825
35826// SetName sets the Name field's value.
35827func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput {
35828	s.Name = &v
35829	return s
35830}
35831
35832// SetOwnerInformation sets the OwnerInformation field's value.
35833func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput {
35834	s.OwnerInformation = &v
35835	return s
35836}
35837
35838// SetReplace sets the Replace field's value.
35839func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput {
35840	s.Replace = &v
35841	return s
35842}
35843
35844// SetTargets sets the Targets field's value.
35845func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput {
35846	s.Targets = v
35847	return s
35848}
35849
35850// SetWindowId sets the WindowId field's value.
35851func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput {
35852	s.WindowId = &v
35853	return s
35854}
35855
35856// SetWindowTargetId sets the WindowTargetId field's value.
35857func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput {
35858	s.WindowTargetId = &v
35859	return s
35860}
35861
35862type UpdateMaintenanceWindowTargetOutput struct {
35863	_ struct{} `type:"structure"`
35864
35865	// The updated description.
35866	Description *string `min:"1" type:"string" sensitive:"true"`
35867
35868	// The updated name.
35869	Name *string `min:"3" type:"string"`
35870
35871	// The updated owner.
35872	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
35873
35874	// The updated targets.
35875	Targets []*Target `type:"list"`
35876
35877	// The maintenance window ID specified in the update request.
35878	WindowId *string `min:"20" type:"string"`
35879
35880	// The target ID specified in the update request.
35881	WindowTargetId *string `min:"36" type:"string"`
35882}
35883
35884// String returns the string representation
35885func (s UpdateMaintenanceWindowTargetOutput) String() string {
35886	return awsutil.Prettify(s)
35887}
35888
35889// GoString returns the string representation
35890func (s UpdateMaintenanceWindowTargetOutput) GoString() string {
35891	return s.String()
35892}
35893
35894// SetDescription sets the Description field's value.
35895func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput {
35896	s.Description = &v
35897	return s
35898}
35899
35900// SetName sets the Name field's value.
35901func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput {
35902	s.Name = &v
35903	return s
35904}
35905
35906// SetOwnerInformation sets the OwnerInformation field's value.
35907func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput {
35908	s.OwnerInformation = &v
35909	return s
35910}
35911
35912// SetTargets sets the Targets field's value.
35913func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput {
35914	s.Targets = v
35915	return s
35916}
35917
35918// SetWindowId sets the WindowId field's value.
35919func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput {
35920	s.WindowId = &v
35921	return s
35922}
35923
35924// SetWindowTargetId sets the WindowTargetId field's value.
35925func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput {
35926	s.WindowTargetId = &v
35927	return s
35928}
35929
35930type UpdateMaintenanceWindowTaskInput struct {
35931	_ struct{} `type:"structure"`
35932
35933	// The new task description to specify.
35934	Description *string `min:"1" type:"string" sensitive:"true"`
35935
35936	// The new logging location in Amazon S3 to specify.
35937	//
35938	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
35939	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
35940	// structure. For information about how Systems Manager handles these options
35941	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
35942	LoggingInfo *LoggingInfo `type:"structure"`
35943
35944	// The new MaxConcurrency value you want to specify. MaxConcurrency is the number
35945	// of targets that are allowed to run this task in parallel.
35946	MaxConcurrency *string `min:"1" type:"string"`
35947
35948	// The new MaxErrors value to specify. MaxErrors is the maximum number of errors
35949	// that are allowed before the task stops being scheduled.
35950	MaxErrors *string `min:"1" type:"string"`
35951
35952	// The new task name to specify.
35953	Name *string `min:"3" type:"string"`
35954
35955	// The new task priority to specify. The lower the number, the higher the priority.
35956	// Tasks that have the same priority are scheduled in parallel.
35957	Priority *int64 `type:"integer"`
35958
35959	// If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow
35960	// action are also required for this API request. Optional fields that are not
35961	// specified are set to null.
35962	Replace *bool `type:"boolean"`
35963
35964	// The ARN of the IAM service role for Systems Manager to assume when running
35965	// a maintenance window task. If you do not specify a service role ARN, Systems
35966	// Manager uses your account's service-linked role. If no service-linked role
35967	// for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.
35968	//
35969	// For more information, see the following topics in the in the AWS Systems
35970	// Manager User Guide:
35971	//
35972	//    * Service-Linked Role Permissions for Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
35973	//
35974	//    * Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance
35975	//    Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
35976	ServiceRoleArn *string `type:"string"`
35977
35978	// The targets (either instances or tags) to modify. Instances are specified
35979	// using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified
35980	// using Key=tag_name,Values=tag_value.
35981	Targets []*Target `type:"list"`
35982
35983	// The task ARN to modify.
35984	TaskArn *string `min:"1" type:"string"`
35985
35986	// The parameters that the task should use during execution. Populate only the
35987	// fields that match the task type. All other fields should be empty.
35988	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
35989
35990	// The parameters to modify.
35991	//
35992	// TaskParameters has been deprecated. To specify parameters to pass to a task
35993	// when it runs, instead use the Parameters option in the TaskInvocationParameters
35994	// structure. For information about how Systems Manager handles these options
35995	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
35996	//
35997	// The map has the following format:
35998	//
35999	// Key: string, between 1 and 255 characters
36000	//
36001	// Value: an array of strings, each string is between 1 and 255 characters
36002	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
36003
36004	// The maintenance window ID that contains the task to modify.
36005	//
36006	// WindowId is a required field
36007	WindowId *string `min:"20" type:"string" required:"true"`
36008
36009	// The task ID to modify.
36010	//
36011	// WindowTaskId is a required field
36012	WindowTaskId *string `min:"36" type:"string" required:"true"`
36013}
36014
36015// String returns the string representation
36016func (s UpdateMaintenanceWindowTaskInput) String() string {
36017	return awsutil.Prettify(s)
36018}
36019
36020// GoString returns the string representation
36021func (s UpdateMaintenanceWindowTaskInput) GoString() string {
36022	return s.String()
36023}
36024
36025// Validate inspects the fields of the type to determine if they are valid.
36026func (s *UpdateMaintenanceWindowTaskInput) Validate() error {
36027	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"}
36028	if s.Description != nil && len(*s.Description) < 1 {
36029		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36030	}
36031	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
36032		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
36033	}
36034	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
36035		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
36036	}
36037	if s.Name != nil && len(*s.Name) < 3 {
36038		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
36039	}
36040	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
36041		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
36042	}
36043	if s.WindowId == nil {
36044		invalidParams.Add(request.NewErrParamRequired("WindowId"))
36045	}
36046	if s.WindowId != nil && len(*s.WindowId) < 20 {
36047		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
36048	}
36049	if s.WindowTaskId == nil {
36050		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
36051	}
36052	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
36053		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
36054	}
36055	if s.LoggingInfo != nil {
36056		if err := s.LoggingInfo.Validate(); err != nil {
36057			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
36058		}
36059	}
36060	if s.Targets != nil {
36061		for i, v := range s.Targets {
36062			if v == nil {
36063				continue
36064			}
36065			if err := v.Validate(); err != nil {
36066				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
36067			}
36068		}
36069	}
36070	if s.TaskInvocationParameters != nil {
36071		if err := s.TaskInvocationParameters.Validate(); err != nil {
36072			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
36073		}
36074	}
36075
36076	if invalidParams.Len() > 0 {
36077		return invalidParams
36078	}
36079	return nil
36080}
36081
36082// SetDescription sets the Description field's value.
36083func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput {
36084	s.Description = &v
36085	return s
36086}
36087
36088// SetLoggingInfo sets the LoggingInfo field's value.
36089func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput {
36090	s.LoggingInfo = v
36091	return s
36092}
36093
36094// SetMaxConcurrency sets the MaxConcurrency field's value.
36095func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput {
36096	s.MaxConcurrency = &v
36097	return s
36098}
36099
36100// SetMaxErrors sets the MaxErrors field's value.
36101func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput {
36102	s.MaxErrors = &v
36103	return s
36104}
36105
36106// SetName sets the Name field's value.
36107func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput {
36108	s.Name = &v
36109	return s
36110}
36111
36112// SetPriority sets the Priority field's value.
36113func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput {
36114	s.Priority = &v
36115	return s
36116}
36117
36118// SetReplace sets the Replace field's value.
36119func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput {
36120	s.Replace = &v
36121	return s
36122}
36123
36124// SetServiceRoleArn sets the ServiceRoleArn field's value.
36125func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput {
36126	s.ServiceRoleArn = &v
36127	return s
36128}
36129
36130// SetTargets sets the Targets field's value.
36131func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput {
36132	s.Targets = v
36133	return s
36134}
36135
36136// SetTaskArn sets the TaskArn field's value.
36137func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput {
36138	s.TaskArn = &v
36139	return s
36140}
36141
36142// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
36143func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput {
36144	s.TaskInvocationParameters = v
36145	return s
36146}
36147
36148// SetTaskParameters sets the TaskParameters field's value.
36149func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput {
36150	s.TaskParameters = v
36151	return s
36152}
36153
36154// SetWindowId sets the WindowId field's value.
36155func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput {
36156	s.WindowId = &v
36157	return s
36158}
36159
36160// SetWindowTaskId sets the WindowTaskId field's value.
36161func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput {
36162	s.WindowTaskId = &v
36163	return s
36164}
36165
36166type UpdateMaintenanceWindowTaskOutput struct {
36167	_ struct{} `type:"structure"`
36168
36169	// The updated task description.
36170	Description *string `min:"1" type:"string" sensitive:"true"`
36171
36172	// The updated logging information in Amazon S3.
36173	//
36174	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
36175	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
36176	// structure. For information about how Systems Manager handles these options
36177	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
36178	LoggingInfo *LoggingInfo `type:"structure"`
36179
36180	// The updated MaxConcurrency value.
36181	MaxConcurrency *string `min:"1" type:"string"`
36182
36183	// The updated MaxErrors value.
36184	MaxErrors *string `min:"1" type:"string"`
36185
36186	// The updated task name.
36187	Name *string `min:"3" type:"string"`
36188
36189	// The updated priority value.
36190	Priority *int64 `type:"integer"`
36191
36192	// The ARN of the IAM service role to use to publish Amazon Simple Notification
36193	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
36194	ServiceRoleArn *string `type:"string"`
36195
36196	// The updated target values.
36197	Targets []*Target `type:"list"`
36198
36199	// The updated task ARN value.
36200	TaskArn *string `min:"1" type:"string"`
36201
36202	// The updated parameter values.
36203	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
36204
36205	// The updated parameter values.
36206	//
36207	// TaskParameters has been deprecated. To specify parameters to pass to a task
36208	// when it runs, instead use the Parameters option in the TaskInvocationParameters
36209	// structure. For information about how Systems Manager handles these options
36210	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
36211	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
36212
36213	// The ID of the maintenance window that was updated.
36214	WindowId *string `min:"20" type:"string"`
36215
36216	// The task ID of the maintenance window that was updated.
36217	WindowTaskId *string `min:"36" type:"string"`
36218}
36219
36220// String returns the string representation
36221func (s UpdateMaintenanceWindowTaskOutput) String() string {
36222	return awsutil.Prettify(s)
36223}
36224
36225// GoString returns the string representation
36226func (s UpdateMaintenanceWindowTaskOutput) GoString() string {
36227	return s.String()
36228}
36229
36230// SetDescription sets the Description field's value.
36231func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput {
36232	s.Description = &v
36233	return s
36234}
36235
36236// SetLoggingInfo sets the LoggingInfo field's value.
36237func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput {
36238	s.LoggingInfo = v
36239	return s
36240}
36241
36242// SetMaxConcurrency sets the MaxConcurrency field's value.
36243func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput {
36244	s.MaxConcurrency = &v
36245	return s
36246}
36247
36248// SetMaxErrors sets the MaxErrors field's value.
36249func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput {
36250	s.MaxErrors = &v
36251	return s
36252}
36253
36254// SetName sets the Name field's value.
36255func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput {
36256	s.Name = &v
36257	return s
36258}
36259
36260// SetPriority sets the Priority field's value.
36261func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput {
36262	s.Priority = &v
36263	return s
36264}
36265
36266// SetServiceRoleArn sets the ServiceRoleArn field's value.
36267func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput {
36268	s.ServiceRoleArn = &v
36269	return s
36270}
36271
36272// SetTargets sets the Targets field's value.
36273func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput {
36274	s.Targets = v
36275	return s
36276}
36277
36278// SetTaskArn sets the TaskArn field's value.
36279func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput {
36280	s.TaskArn = &v
36281	return s
36282}
36283
36284// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
36285func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput {
36286	s.TaskInvocationParameters = v
36287	return s
36288}
36289
36290// SetTaskParameters sets the TaskParameters field's value.
36291func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput {
36292	s.TaskParameters = v
36293	return s
36294}
36295
36296// SetWindowId sets the WindowId field's value.
36297func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput {
36298	s.WindowId = &v
36299	return s
36300}
36301
36302// SetWindowTaskId sets the WindowTaskId field's value.
36303func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput {
36304	s.WindowTaskId = &v
36305	return s
36306}
36307
36308type UpdateManagedInstanceRoleInput struct {
36309	_ struct{} `type:"structure"`
36310
36311	// The IAM role you want to assign or change.
36312	//
36313	// IamRole is a required field
36314	IamRole *string `type:"string" required:"true"`
36315
36316	// The ID of the managed instance where you want to update the role.
36317	//
36318	// InstanceId is a required field
36319	InstanceId *string `type:"string" required:"true"`
36320}
36321
36322// String returns the string representation
36323func (s UpdateManagedInstanceRoleInput) String() string {
36324	return awsutil.Prettify(s)
36325}
36326
36327// GoString returns the string representation
36328func (s UpdateManagedInstanceRoleInput) GoString() string {
36329	return s.String()
36330}
36331
36332// Validate inspects the fields of the type to determine if they are valid.
36333func (s *UpdateManagedInstanceRoleInput) Validate() error {
36334	invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"}
36335	if s.IamRole == nil {
36336		invalidParams.Add(request.NewErrParamRequired("IamRole"))
36337	}
36338	if s.InstanceId == nil {
36339		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
36340	}
36341
36342	if invalidParams.Len() > 0 {
36343		return invalidParams
36344	}
36345	return nil
36346}
36347
36348// SetIamRole sets the IamRole field's value.
36349func (s *UpdateManagedInstanceRoleInput) SetIamRole(v string) *UpdateManagedInstanceRoleInput {
36350	s.IamRole = &v
36351	return s
36352}
36353
36354// SetInstanceId sets the InstanceId field's value.
36355func (s *UpdateManagedInstanceRoleInput) SetInstanceId(v string) *UpdateManagedInstanceRoleInput {
36356	s.InstanceId = &v
36357	return s
36358}
36359
36360type UpdateManagedInstanceRoleOutput struct {
36361	_ struct{} `type:"structure"`
36362}
36363
36364// String returns the string representation
36365func (s UpdateManagedInstanceRoleOutput) String() string {
36366	return awsutil.Prettify(s)
36367}
36368
36369// GoString returns the string representation
36370func (s UpdateManagedInstanceRoleOutput) GoString() string {
36371	return s.String()
36372}
36373
36374type UpdateOpsItemInput struct {
36375	_ struct{} `type:"structure"`
36376
36377	// Update the information about the OpsItem. Provide enough information so that
36378	// users reading this OpsItem for the first time understand the issue.
36379	Description *string `min:"1" type:"string"`
36380
36381	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
36382	// when this OpsItem is edited or changed.
36383	Notifications []*OpsItemNotification `type:"list"`
36384
36385	// Add new keys or edit existing key-value pairs of the OperationalData map
36386	// in the OpsItem object.
36387	//
36388	// Operational data is custom data that provides useful reference details about
36389	// the OpsItem. For example, you can specify log files, error strings, license
36390	// keys, troubleshooting tips, or other relevant data. You enter operational
36391	// data as key-value pairs. The key has a maximum length of 128 characters.
36392	// The value has a maximum size of 20 KB.
36393	//
36394	// Operational data keys can't begin with the following: amazon, aws, amzn,
36395	// ssm, /amazon, /aws, /amzn, /ssm.
36396	//
36397	// You can choose to make the data searchable by other users in the account
36398	// or you can restrict search access. Searchable data means that all users with
36399	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
36400	// API action) can view and search on the specified data. Operational data that
36401	// is not searchable is only viewable by users who have access to the OpsItem
36402	// (as provided by the GetOpsItem API action).
36403	//
36404	// Use the /aws/resources key in OperationalData to specify a related resource
36405	// in the request. Use the /aws/automations key in OperationalData to associate
36406	// an Automation runbook with the OpsItem. To view AWS CLI example commands
36407	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
36408	// in the AWS Systems Manager User Guide.
36409	OperationalData map[string]*OpsItemDataValue `type:"map"`
36410
36411	// Keys that you want to remove from the OperationalData map.
36412	OperationalDataToDelete []*string `type:"list"`
36413
36414	// The ID of the OpsItem.
36415	//
36416	// OpsItemId is a required field
36417	OpsItemId *string `type:"string" required:"true"`
36418
36419	// The importance of this OpsItem in relation to other OpsItems in the system.
36420	Priority *int64 `min:"1" type:"integer"`
36421
36422	// One or more OpsItems that share something in common with the current OpsItems.
36423	// For example, related OpsItems can include OpsItems with similar error messages,
36424	// impacted resources, or statuses for the impacted resource.
36425	RelatedOpsItems []*RelatedOpsItem `type:"list"`
36426
36427	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
36428	// information, see Editing OpsItem Details (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html)
36429	// in the AWS Systems Manager User Guide.
36430	Status *string `type:"string" enum:"OpsItemStatus"`
36431
36432	// A short heading that describes the nature of the OpsItem and the impacted
36433	// resource.
36434	Title *string `min:"1" type:"string"`
36435}
36436
36437// String returns the string representation
36438func (s UpdateOpsItemInput) String() string {
36439	return awsutil.Prettify(s)
36440}
36441
36442// GoString returns the string representation
36443func (s UpdateOpsItemInput) GoString() string {
36444	return s.String()
36445}
36446
36447// Validate inspects the fields of the type to determine if they are valid.
36448func (s *UpdateOpsItemInput) Validate() error {
36449	invalidParams := request.ErrInvalidParams{Context: "UpdateOpsItemInput"}
36450	if s.Description != nil && len(*s.Description) < 1 {
36451		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36452	}
36453	if s.OpsItemId == nil {
36454		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
36455	}
36456	if s.Priority != nil && *s.Priority < 1 {
36457		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
36458	}
36459	if s.Title != nil && len(*s.Title) < 1 {
36460		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
36461	}
36462	if s.RelatedOpsItems != nil {
36463		for i, v := range s.RelatedOpsItems {
36464			if v == nil {
36465				continue
36466			}
36467			if err := v.Validate(); err != nil {
36468				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
36469			}
36470		}
36471	}
36472
36473	if invalidParams.Len() > 0 {
36474		return invalidParams
36475	}
36476	return nil
36477}
36478
36479// SetDescription sets the Description field's value.
36480func (s *UpdateOpsItemInput) SetDescription(v string) *UpdateOpsItemInput {
36481	s.Description = &v
36482	return s
36483}
36484
36485// SetNotifications sets the Notifications field's value.
36486func (s *UpdateOpsItemInput) SetNotifications(v []*OpsItemNotification) *UpdateOpsItemInput {
36487	s.Notifications = v
36488	return s
36489}
36490
36491// SetOperationalData sets the OperationalData field's value.
36492func (s *UpdateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *UpdateOpsItemInput {
36493	s.OperationalData = v
36494	return s
36495}
36496
36497// SetOperationalDataToDelete sets the OperationalDataToDelete field's value.
36498func (s *UpdateOpsItemInput) SetOperationalDataToDelete(v []*string) *UpdateOpsItemInput {
36499	s.OperationalDataToDelete = v
36500	return s
36501}
36502
36503// SetOpsItemId sets the OpsItemId field's value.
36504func (s *UpdateOpsItemInput) SetOpsItemId(v string) *UpdateOpsItemInput {
36505	s.OpsItemId = &v
36506	return s
36507}
36508
36509// SetPriority sets the Priority field's value.
36510func (s *UpdateOpsItemInput) SetPriority(v int64) *UpdateOpsItemInput {
36511	s.Priority = &v
36512	return s
36513}
36514
36515// SetRelatedOpsItems sets the RelatedOpsItems field's value.
36516func (s *UpdateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *UpdateOpsItemInput {
36517	s.RelatedOpsItems = v
36518	return s
36519}
36520
36521// SetStatus sets the Status field's value.
36522func (s *UpdateOpsItemInput) SetStatus(v string) *UpdateOpsItemInput {
36523	s.Status = &v
36524	return s
36525}
36526
36527// SetTitle sets the Title field's value.
36528func (s *UpdateOpsItemInput) SetTitle(v string) *UpdateOpsItemInput {
36529	s.Title = &v
36530	return s
36531}
36532
36533type UpdateOpsItemOutput struct {
36534	_ struct{} `type:"structure"`
36535}
36536
36537// String returns the string representation
36538func (s UpdateOpsItemOutput) String() string {
36539	return awsutil.Prettify(s)
36540}
36541
36542// GoString returns the string representation
36543func (s UpdateOpsItemOutput) GoString() string {
36544	return s.String()
36545}
36546
36547type UpdatePatchBaselineInput struct {
36548	_ struct{} `type:"structure"`
36549
36550	// A set of rules used to include patches in the baseline.
36551	ApprovalRules *PatchRuleGroup `type:"structure"`
36552
36553	// A list of explicitly approved patches for the baseline.
36554	//
36555	// For information about accepted formats for lists of approved patches and
36556	// rejected patches, see Package Name Formats for Approved and Rejected Patch
36557	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
36558	// in the AWS Systems Manager User Guide.
36559	ApprovedPatches []*string `type:"list"`
36560
36561	// Assigns a new compliance severity level to an existing patch baseline.
36562	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
36563
36564	// Indicates whether the list of approved patches includes non-security updates
36565	// that should be applied to the instances. The default value is 'false'. Applies
36566	// to Linux instances only.
36567	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
36568
36569	// The ID of the patch baseline to update.
36570	//
36571	// BaselineId is a required field
36572	BaselineId *string `min:"20" type:"string" required:"true"`
36573
36574	// A description of the patch baseline.
36575	Description *string `min:"1" type:"string"`
36576
36577	// A set of global filters used to include patches in the baseline.
36578	GlobalFilters *PatchFilterGroup `type:"structure"`
36579
36580	// The name of the patch baseline.
36581	Name *string `min:"3" type:"string"`
36582
36583	// A list of explicitly rejected patches for the baseline.
36584	//
36585	// For information about accepted formats for lists of approved patches and
36586	// rejected patches, see Package Name Formats for Approved and Rejected Patch
36587	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
36588	// in the AWS Systems Manager User Guide.
36589	RejectedPatches []*string `type:"list"`
36590
36591	// The action for Patch Manager to take on patches included in the RejectedPackages
36592	// list.
36593	//
36594	//    * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed
36595	//    only if it is a dependency of another package. It is considered compliant
36596	//    with the patch baseline, and its status is reported as InstalledOther.
36597	//    This is the default action if no option is specified.
36598	//
36599	//    * BLOCK: Packages in the RejectedPatches list, and packages that include
36600	//    them as dependencies, are not installed under any circumstances. If a
36601	//    package was installed before it was added to the Rejected patches list,
36602	//    it is considered non-compliant with the patch baseline, and its status
36603	//    is reported as InstalledRejected.
36604	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
36605
36606	// If True, then all fields that are required by the CreatePatchBaseline action
36607	// are also required for this API request. Optional fields that are not specified
36608	// are set to null.
36609	Replace *bool `type:"boolean"`
36610
36611	// Information about the patches to use to update the instances, including target
36612	// operating systems and source repositories. Applies to Linux instances only.
36613	Sources []*PatchSource `type:"list"`
36614}
36615
36616// String returns the string representation
36617func (s UpdatePatchBaselineInput) String() string {
36618	return awsutil.Prettify(s)
36619}
36620
36621// GoString returns the string representation
36622func (s UpdatePatchBaselineInput) GoString() string {
36623	return s.String()
36624}
36625
36626// Validate inspects the fields of the type to determine if they are valid.
36627func (s *UpdatePatchBaselineInput) Validate() error {
36628	invalidParams := request.ErrInvalidParams{Context: "UpdatePatchBaselineInput"}
36629	if s.BaselineId == nil {
36630		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
36631	}
36632	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
36633		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
36634	}
36635	if s.Description != nil && len(*s.Description) < 1 {
36636		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36637	}
36638	if s.Name != nil && len(*s.Name) < 3 {
36639		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
36640	}
36641	if s.ApprovalRules != nil {
36642		if err := s.ApprovalRules.Validate(); err != nil {
36643			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
36644		}
36645	}
36646	if s.GlobalFilters != nil {
36647		if err := s.GlobalFilters.Validate(); err != nil {
36648			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
36649		}
36650	}
36651	if s.Sources != nil {
36652		for i, v := range s.Sources {
36653			if v == nil {
36654				continue
36655			}
36656			if err := v.Validate(); err != nil {
36657				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
36658			}
36659		}
36660	}
36661
36662	if invalidParams.Len() > 0 {
36663		return invalidParams
36664	}
36665	return nil
36666}
36667
36668// SetApprovalRules sets the ApprovalRules field's value.
36669func (s *UpdatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineInput {
36670	s.ApprovalRules = v
36671	return s
36672}
36673
36674// SetApprovedPatches sets the ApprovedPatches field's value.
36675func (s *UpdatePatchBaselineInput) SetApprovedPatches(v []*string) *UpdatePatchBaselineInput {
36676	s.ApprovedPatches = v
36677	return s
36678}
36679
36680// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
36681func (s *UpdatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineInput {
36682	s.ApprovedPatchesComplianceLevel = &v
36683	return s
36684}
36685
36686// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
36687func (s *UpdatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineInput {
36688	s.ApprovedPatchesEnableNonSecurity = &v
36689	return s
36690}
36691
36692// SetBaselineId sets the BaselineId field's value.
36693func (s *UpdatePatchBaselineInput) SetBaselineId(v string) *UpdatePatchBaselineInput {
36694	s.BaselineId = &v
36695	return s
36696}
36697
36698// SetDescription sets the Description field's value.
36699func (s *UpdatePatchBaselineInput) SetDescription(v string) *UpdatePatchBaselineInput {
36700	s.Description = &v
36701	return s
36702}
36703
36704// SetGlobalFilters sets the GlobalFilters field's value.
36705func (s *UpdatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineInput {
36706	s.GlobalFilters = v
36707	return s
36708}
36709
36710// SetName sets the Name field's value.
36711func (s *UpdatePatchBaselineInput) SetName(v string) *UpdatePatchBaselineInput {
36712	s.Name = &v
36713	return s
36714}
36715
36716// SetRejectedPatches sets the RejectedPatches field's value.
36717func (s *UpdatePatchBaselineInput) SetRejectedPatches(v []*string) *UpdatePatchBaselineInput {
36718	s.RejectedPatches = v
36719	return s
36720}
36721
36722// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
36723func (s *UpdatePatchBaselineInput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineInput {
36724	s.RejectedPatchesAction = &v
36725	return s
36726}
36727
36728// SetReplace sets the Replace field's value.
36729func (s *UpdatePatchBaselineInput) SetReplace(v bool) *UpdatePatchBaselineInput {
36730	s.Replace = &v
36731	return s
36732}
36733
36734// SetSources sets the Sources field's value.
36735func (s *UpdatePatchBaselineInput) SetSources(v []*PatchSource) *UpdatePatchBaselineInput {
36736	s.Sources = v
36737	return s
36738}
36739
36740type UpdatePatchBaselineOutput struct {
36741	_ struct{} `type:"structure"`
36742
36743	// A set of rules used to include patches in the baseline.
36744	ApprovalRules *PatchRuleGroup `type:"structure"`
36745
36746	// A list of explicitly approved patches for the baseline.
36747	ApprovedPatches []*string `type:"list"`
36748
36749	// The compliance severity level assigned to the patch baseline after the update
36750	// completed.
36751	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
36752
36753	// Indicates whether the list of approved patches includes non-security updates
36754	// that should be applied to the instances. The default value is 'false'. Applies
36755	// to Linux instances only.
36756	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
36757
36758	// The ID of the deleted patch baseline.
36759	BaselineId *string `min:"20" type:"string"`
36760
36761	// The date when the patch baseline was created.
36762	CreatedDate *time.Time `type:"timestamp"`
36763
36764	// A description of the Patch Baseline.
36765	Description *string `min:"1" type:"string"`
36766
36767	// A set of global filters used to exclude patches from the baseline.
36768	GlobalFilters *PatchFilterGroup `type:"structure"`
36769
36770	// The date when the patch baseline was last modified.
36771	ModifiedDate *time.Time `type:"timestamp"`
36772
36773	// The name of the patch baseline.
36774	Name *string `min:"3" type:"string"`
36775
36776	// The operating system rule used by the updated patch baseline.
36777	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
36778
36779	// A list of explicitly rejected patches for the baseline.
36780	RejectedPatches []*string `type:"list"`
36781
36782	// The action specified to take on patches included in the RejectedPatches list.
36783	// A patch can be allowed only if it is a dependency of another package, or
36784	// blocked entirely along with packages that include it as a dependency.
36785	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
36786
36787	// Information about the patches to use to update the instances, including target
36788	// operating systems and source repositories. Applies to Linux instances only.
36789	Sources []*PatchSource `type:"list"`
36790}
36791
36792// String returns the string representation
36793func (s UpdatePatchBaselineOutput) String() string {
36794	return awsutil.Prettify(s)
36795}
36796
36797// GoString returns the string representation
36798func (s UpdatePatchBaselineOutput) GoString() string {
36799	return s.String()
36800}
36801
36802// SetApprovalRules sets the ApprovalRules field's value.
36803func (s *UpdatePatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineOutput {
36804	s.ApprovalRules = v
36805	return s
36806}
36807
36808// SetApprovedPatches sets the ApprovedPatches field's value.
36809func (s *UpdatePatchBaselineOutput) SetApprovedPatches(v []*string) *UpdatePatchBaselineOutput {
36810	s.ApprovedPatches = v
36811	return s
36812}
36813
36814// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
36815func (s *UpdatePatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineOutput {
36816	s.ApprovedPatchesComplianceLevel = &v
36817	return s
36818}
36819
36820// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
36821func (s *UpdatePatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineOutput {
36822	s.ApprovedPatchesEnableNonSecurity = &v
36823	return s
36824}
36825
36826// SetBaselineId sets the BaselineId field's value.
36827func (s *UpdatePatchBaselineOutput) SetBaselineId(v string) *UpdatePatchBaselineOutput {
36828	s.BaselineId = &v
36829	return s
36830}
36831
36832// SetCreatedDate sets the CreatedDate field's value.
36833func (s *UpdatePatchBaselineOutput) SetCreatedDate(v time.Time) *UpdatePatchBaselineOutput {
36834	s.CreatedDate = &v
36835	return s
36836}
36837
36838// SetDescription sets the Description field's value.
36839func (s *UpdatePatchBaselineOutput) SetDescription(v string) *UpdatePatchBaselineOutput {
36840	s.Description = &v
36841	return s
36842}
36843
36844// SetGlobalFilters sets the GlobalFilters field's value.
36845func (s *UpdatePatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineOutput {
36846	s.GlobalFilters = v
36847	return s
36848}
36849
36850// SetModifiedDate sets the ModifiedDate field's value.
36851func (s *UpdatePatchBaselineOutput) SetModifiedDate(v time.Time) *UpdatePatchBaselineOutput {
36852	s.ModifiedDate = &v
36853	return s
36854}
36855
36856// SetName sets the Name field's value.
36857func (s *UpdatePatchBaselineOutput) SetName(v string) *UpdatePatchBaselineOutput {
36858	s.Name = &v
36859	return s
36860}
36861
36862// SetOperatingSystem sets the OperatingSystem field's value.
36863func (s *UpdatePatchBaselineOutput) SetOperatingSystem(v string) *UpdatePatchBaselineOutput {
36864	s.OperatingSystem = &v
36865	return s
36866}
36867
36868// SetRejectedPatches sets the RejectedPatches field's value.
36869func (s *UpdatePatchBaselineOutput) SetRejectedPatches(v []*string) *UpdatePatchBaselineOutput {
36870	s.RejectedPatches = v
36871	return s
36872}
36873
36874// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
36875func (s *UpdatePatchBaselineOutput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineOutput {
36876	s.RejectedPatchesAction = &v
36877	return s
36878}
36879
36880// SetSources sets the Sources field's value.
36881func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBaselineOutput {
36882	s.Sources = v
36883	return s
36884}
36885
36886// The request body of the UpdateServiceSetting API action.
36887type UpdateServiceSettingInput struct {
36888	_ struct{} `type:"structure"`
36889
36890	// The ID of the service setting to update.
36891	//
36892	// SettingId is a required field
36893	SettingId *string `min:"1" type:"string" required:"true"`
36894
36895	// The new value to specify for the service setting.
36896	//
36897	// SettingValue is a required field
36898	SettingValue *string `min:"1" type:"string" required:"true"`
36899}
36900
36901// String returns the string representation
36902func (s UpdateServiceSettingInput) String() string {
36903	return awsutil.Prettify(s)
36904}
36905
36906// GoString returns the string representation
36907func (s UpdateServiceSettingInput) GoString() string {
36908	return s.String()
36909}
36910
36911// Validate inspects the fields of the type to determine if they are valid.
36912func (s *UpdateServiceSettingInput) Validate() error {
36913	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingInput"}
36914	if s.SettingId == nil {
36915		invalidParams.Add(request.NewErrParamRequired("SettingId"))
36916	}
36917	if s.SettingId != nil && len(*s.SettingId) < 1 {
36918		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
36919	}
36920	if s.SettingValue == nil {
36921		invalidParams.Add(request.NewErrParamRequired("SettingValue"))
36922	}
36923	if s.SettingValue != nil && len(*s.SettingValue) < 1 {
36924		invalidParams.Add(request.NewErrParamMinLen("SettingValue", 1))
36925	}
36926
36927	if invalidParams.Len() > 0 {
36928		return invalidParams
36929	}
36930	return nil
36931}
36932
36933// SetSettingId sets the SettingId field's value.
36934func (s *UpdateServiceSettingInput) SetSettingId(v string) *UpdateServiceSettingInput {
36935	s.SettingId = &v
36936	return s
36937}
36938
36939// SetSettingValue sets the SettingValue field's value.
36940func (s *UpdateServiceSettingInput) SetSettingValue(v string) *UpdateServiceSettingInput {
36941	s.SettingValue = &v
36942	return s
36943}
36944
36945// The result body of the UpdateServiceSetting API action.
36946type UpdateServiceSettingOutput struct {
36947	_ struct{} `type:"structure"`
36948}
36949
36950// String returns the string representation
36951func (s UpdateServiceSettingOutput) String() string {
36952	return awsutil.Prettify(s)
36953}
36954
36955// GoString returns the string representation
36956func (s UpdateServiceSettingOutput) GoString() string {
36957	return s.String()
36958}
36959
36960const (
36961	// AssociationComplianceSeverityCritical is a AssociationComplianceSeverity enum value
36962	AssociationComplianceSeverityCritical = "CRITICAL"
36963
36964	// AssociationComplianceSeverityHigh is a AssociationComplianceSeverity enum value
36965	AssociationComplianceSeverityHigh = "HIGH"
36966
36967	// AssociationComplianceSeverityMedium is a AssociationComplianceSeverity enum value
36968	AssociationComplianceSeverityMedium = "MEDIUM"
36969
36970	// AssociationComplianceSeverityLow is a AssociationComplianceSeverity enum value
36971	AssociationComplianceSeverityLow = "LOW"
36972
36973	// AssociationComplianceSeverityUnspecified is a AssociationComplianceSeverity enum value
36974	AssociationComplianceSeverityUnspecified = "UNSPECIFIED"
36975)
36976
36977const (
36978	// AssociationExecutionFilterKeyExecutionId is a AssociationExecutionFilterKey enum value
36979	AssociationExecutionFilterKeyExecutionId = "ExecutionId"
36980
36981	// AssociationExecutionFilterKeyStatus is a AssociationExecutionFilterKey enum value
36982	AssociationExecutionFilterKeyStatus = "Status"
36983
36984	// AssociationExecutionFilterKeyCreatedTime is a AssociationExecutionFilterKey enum value
36985	AssociationExecutionFilterKeyCreatedTime = "CreatedTime"
36986)
36987
36988const (
36989	// AssociationExecutionTargetsFilterKeyStatus is a AssociationExecutionTargetsFilterKey enum value
36990	AssociationExecutionTargetsFilterKeyStatus = "Status"
36991
36992	// AssociationExecutionTargetsFilterKeyResourceId is a AssociationExecutionTargetsFilterKey enum value
36993	AssociationExecutionTargetsFilterKeyResourceId = "ResourceId"
36994
36995	// AssociationExecutionTargetsFilterKeyResourceType is a AssociationExecutionTargetsFilterKey enum value
36996	AssociationExecutionTargetsFilterKeyResourceType = "ResourceType"
36997)
36998
36999const (
37000	// AssociationFilterKeyInstanceId is a AssociationFilterKey enum value
37001	AssociationFilterKeyInstanceId = "InstanceId"
37002
37003	// AssociationFilterKeyName is a AssociationFilterKey enum value
37004	AssociationFilterKeyName = "Name"
37005
37006	// AssociationFilterKeyAssociationId is a AssociationFilterKey enum value
37007	AssociationFilterKeyAssociationId = "AssociationId"
37008
37009	// AssociationFilterKeyAssociationStatusName is a AssociationFilterKey enum value
37010	AssociationFilterKeyAssociationStatusName = "AssociationStatusName"
37011
37012	// AssociationFilterKeyLastExecutedBefore is a AssociationFilterKey enum value
37013	AssociationFilterKeyLastExecutedBefore = "LastExecutedBefore"
37014
37015	// AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value
37016	AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter"
37017
37018	// AssociationFilterKeyAssociationName is a AssociationFilterKey enum value
37019	AssociationFilterKeyAssociationName = "AssociationName"
37020)
37021
37022const (
37023	// AssociationFilterOperatorTypeEqual is a AssociationFilterOperatorType enum value
37024	AssociationFilterOperatorTypeEqual = "EQUAL"
37025
37026	// AssociationFilterOperatorTypeLessThan is a AssociationFilterOperatorType enum value
37027	AssociationFilterOperatorTypeLessThan = "LESS_THAN"
37028
37029	// AssociationFilterOperatorTypeGreaterThan is a AssociationFilterOperatorType enum value
37030	AssociationFilterOperatorTypeGreaterThan = "GREATER_THAN"
37031)
37032
37033const (
37034	// AssociationStatusNamePending is a AssociationStatusName enum value
37035	AssociationStatusNamePending = "Pending"
37036
37037	// AssociationStatusNameSuccess is a AssociationStatusName enum value
37038	AssociationStatusNameSuccess = "Success"
37039
37040	// AssociationStatusNameFailed is a AssociationStatusName enum value
37041	AssociationStatusNameFailed = "Failed"
37042)
37043
37044const (
37045	// AttachmentHashTypeSha256 is a AttachmentHashType enum value
37046	AttachmentHashTypeSha256 = "Sha256"
37047)
37048
37049const (
37050	// AttachmentsSourceKeySourceUrl is a AttachmentsSourceKey enum value
37051	AttachmentsSourceKeySourceUrl = "SourceUrl"
37052)
37053
37054const (
37055	// AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value
37056	AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix"
37057
37058	// AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value
37059	AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus"
37060
37061	// AutomationExecutionFilterKeyExecutionId is a AutomationExecutionFilterKey enum value
37062	AutomationExecutionFilterKeyExecutionId = "ExecutionId"
37063
37064	// AutomationExecutionFilterKeyParentExecutionId is a AutomationExecutionFilterKey enum value
37065	AutomationExecutionFilterKeyParentExecutionId = "ParentExecutionId"
37066
37067	// AutomationExecutionFilterKeyCurrentAction is a AutomationExecutionFilterKey enum value
37068	AutomationExecutionFilterKeyCurrentAction = "CurrentAction"
37069
37070	// AutomationExecutionFilterKeyStartTimeBefore is a AutomationExecutionFilterKey enum value
37071	AutomationExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
37072
37073	// AutomationExecutionFilterKeyStartTimeAfter is a AutomationExecutionFilterKey enum value
37074	AutomationExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
37075
37076	// AutomationExecutionFilterKeyAutomationType is a AutomationExecutionFilterKey enum value
37077	AutomationExecutionFilterKeyAutomationType = "AutomationType"
37078)
37079
37080const (
37081	// AutomationExecutionStatusPending is a AutomationExecutionStatus enum value
37082	AutomationExecutionStatusPending = "Pending"
37083
37084	// AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value
37085	AutomationExecutionStatusInProgress = "InProgress"
37086
37087	// AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value
37088	AutomationExecutionStatusWaiting = "Waiting"
37089
37090	// AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value
37091	AutomationExecutionStatusSuccess = "Success"
37092
37093	// AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value
37094	AutomationExecutionStatusTimedOut = "TimedOut"
37095
37096	// AutomationExecutionStatusCancelling is a AutomationExecutionStatus enum value
37097	AutomationExecutionStatusCancelling = "Cancelling"
37098
37099	// AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value
37100	AutomationExecutionStatusCancelled = "Cancelled"
37101
37102	// AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value
37103	AutomationExecutionStatusFailed = "Failed"
37104)
37105
37106const (
37107	// AutomationTypeCrossAccount is a AutomationType enum value
37108	AutomationTypeCrossAccount = "CrossAccount"
37109
37110	// AutomationTypeLocal is a AutomationType enum value
37111	AutomationTypeLocal = "Local"
37112)
37113
37114const (
37115	// CommandFilterKeyInvokedAfter is a CommandFilterKey enum value
37116	CommandFilterKeyInvokedAfter = "InvokedAfter"
37117
37118	// CommandFilterKeyInvokedBefore is a CommandFilterKey enum value
37119	CommandFilterKeyInvokedBefore = "InvokedBefore"
37120
37121	// CommandFilterKeyStatus is a CommandFilterKey enum value
37122	CommandFilterKeyStatus = "Status"
37123
37124	// CommandFilterKeyExecutionStage is a CommandFilterKey enum value
37125	CommandFilterKeyExecutionStage = "ExecutionStage"
37126
37127	// CommandFilterKeyDocumentName is a CommandFilterKey enum value
37128	CommandFilterKeyDocumentName = "DocumentName"
37129)
37130
37131const (
37132	// CommandInvocationStatusPending is a CommandInvocationStatus enum value
37133	CommandInvocationStatusPending = "Pending"
37134
37135	// CommandInvocationStatusInProgress is a CommandInvocationStatus enum value
37136	CommandInvocationStatusInProgress = "InProgress"
37137
37138	// CommandInvocationStatusDelayed is a CommandInvocationStatus enum value
37139	CommandInvocationStatusDelayed = "Delayed"
37140
37141	// CommandInvocationStatusSuccess is a CommandInvocationStatus enum value
37142	CommandInvocationStatusSuccess = "Success"
37143
37144	// CommandInvocationStatusCancelled is a CommandInvocationStatus enum value
37145	CommandInvocationStatusCancelled = "Cancelled"
37146
37147	// CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value
37148	CommandInvocationStatusTimedOut = "TimedOut"
37149
37150	// CommandInvocationStatusFailed is a CommandInvocationStatus enum value
37151	CommandInvocationStatusFailed = "Failed"
37152
37153	// CommandInvocationStatusCancelling is a CommandInvocationStatus enum value
37154	CommandInvocationStatusCancelling = "Cancelling"
37155)
37156
37157const (
37158	// CommandPluginStatusPending is a CommandPluginStatus enum value
37159	CommandPluginStatusPending = "Pending"
37160
37161	// CommandPluginStatusInProgress is a CommandPluginStatus enum value
37162	CommandPluginStatusInProgress = "InProgress"
37163
37164	// CommandPluginStatusSuccess is a CommandPluginStatus enum value
37165	CommandPluginStatusSuccess = "Success"
37166
37167	// CommandPluginStatusTimedOut is a CommandPluginStatus enum value
37168	CommandPluginStatusTimedOut = "TimedOut"
37169
37170	// CommandPluginStatusCancelled is a CommandPluginStatus enum value
37171	CommandPluginStatusCancelled = "Cancelled"
37172
37173	// CommandPluginStatusFailed is a CommandPluginStatus enum value
37174	CommandPluginStatusFailed = "Failed"
37175)
37176
37177const (
37178	// CommandStatusPending is a CommandStatus enum value
37179	CommandStatusPending = "Pending"
37180
37181	// CommandStatusInProgress is a CommandStatus enum value
37182	CommandStatusInProgress = "InProgress"
37183
37184	// CommandStatusSuccess is a CommandStatus enum value
37185	CommandStatusSuccess = "Success"
37186
37187	// CommandStatusCancelled is a CommandStatus enum value
37188	CommandStatusCancelled = "Cancelled"
37189
37190	// CommandStatusFailed is a CommandStatus enum value
37191	CommandStatusFailed = "Failed"
37192
37193	// CommandStatusTimedOut is a CommandStatus enum value
37194	CommandStatusTimedOut = "TimedOut"
37195
37196	// CommandStatusCancelling is a CommandStatus enum value
37197	CommandStatusCancelling = "Cancelling"
37198)
37199
37200const (
37201	// ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value
37202	ComplianceQueryOperatorTypeEqual = "EQUAL"
37203
37204	// ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value
37205	ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL"
37206
37207	// ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value
37208	ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH"
37209
37210	// ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value
37211	ComplianceQueryOperatorTypeLessThan = "LESS_THAN"
37212
37213	// ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value
37214	ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN"
37215)
37216
37217const (
37218	// ComplianceSeverityCritical is a ComplianceSeverity enum value
37219	ComplianceSeverityCritical = "CRITICAL"
37220
37221	// ComplianceSeverityHigh is a ComplianceSeverity enum value
37222	ComplianceSeverityHigh = "HIGH"
37223
37224	// ComplianceSeverityMedium is a ComplianceSeverity enum value
37225	ComplianceSeverityMedium = "MEDIUM"
37226
37227	// ComplianceSeverityLow is a ComplianceSeverity enum value
37228	ComplianceSeverityLow = "LOW"
37229
37230	// ComplianceSeverityInformational is a ComplianceSeverity enum value
37231	ComplianceSeverityInformational = "INFORMATIONAL"
37232
37233	// ComplianceSeverityUnspecified is a ComplianceSeverity enum value
37234	ComplianceSeverityUnspecified = "UNSPECIFIED"
37235)
37236
37237const (
37238	// ComplianceStatusCompliant is a ComplianceStatus enum value
37239	ComplianceStatusCompliant = "COMPLIANT"
37240
37241	// ComplianceStatusNonCompliant is a ComplianceStatus enum value
37242	ComplianceStatusNonCompliant = "NON_COMPLIANT"
37243)
37244
37245const (
37246	// ConnectionStatusConnected is a ConnectionStatus enum value
37247	ConnectionStatusConnected = "Connected"
37248
37249	// ConnectionStatusNotConnected is a ConnectionStatus enum value
37250	ConnectionStatusNotConnected = "NotConnected"
37251)
37252
37253const (
37254	// DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value
37255	DescribeActivationsFilterKeysActivationIds = "ActivationIds"
37256
37257	// DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value
37258	DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName"
37259
37260	// DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value
37261	DescribeActivationsFilterKeysIamRole = "IamRole"
37262)
37263
37264const (
37265	// DocumentFilterKeyName is a DocumentFilterKey enum value
37266	DocumentFilterKeyName = "Name"
37267
37268	// DocumentFilterKeyOwner is a DocumentFilterKey enum value
37269	DocumentFilterKeyOwner = "Owner"
37270
37271	// DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value
37272	DocumentFilterKeyPlatformTypes = "PlatformTypes"
37273
37274	// DocumentFilterKeyDocumentType is a DocumentFilterKey enum value
37275	DocumentFilterKeyDocumentType = "DocumentType"
37276)
37277
37278const (
37279	// DocumentFormatYaml is a DocumentFormat enum value
37280	DocumentFormatYaml = "YAML"
37281
37282	// DocumentFormatJson is a DocumentFormat enum value
37283	DocumentFormatJson = "JSON"
37284)
37285
37286const (
37287	// DocumentHashTypeSha256 is a DocumentHashType enum value
37288	DocumentHashTypeSha256 = "Sha256"
37289
37290	// DocumentHashTypeSha1 is a DocumentHashType enum value
37291	DocumentHashTypeSha1 = "Sha1"
37292)
37293
37294const (
37295	// DocumentParameterTypeString is a DocumentParameterType enum value
37296	DocumentParameterTypeString = "String"
37297
37298	// DocumentParameterTypeStringList is a DocumentParameterType enum value
37299	DocumentParameterTypeStringList = "StringList"
37300)
37301
37302const (
37303	// DocumentPermissionTypeShare is a DocumentPermissionType enum value
37304	DocumentPermissionTypeShare = "Share"
37305)
37306
37307// The status of a document.
37308const (
37309	// DocumentStatusCreating is a DocumentStatus enum value
37310	DocumentStatusCreating = "Creating"
37311
37312	// DocumentStatusActive is a DocumentStatus enum value
37313	DocumentStatusActive = "Active"
37314
37315	// DocumentStatusUpdating is a DocumentStatus enum value
37316	DocumentStatusUpdating = "Updating"
37317
37318	// DocumentStatusDeleting is a DocumentStatus enum value
37319	DocumentStatusDeleting = "Deleting"
37320
37321	// DocumentStatusFailed is a DocumentStatus enum value
37322	DocumentStatusFailed = "Failed"
37323)
37324
37325const (
37326	// DocumentTypeCommand is a DocumentType enum value
37327	DocumentTypeCommand = "Command"
37328
37329	// DocumentTypePolicy is a DocumentType enum value
37330	DocumentTypePolicy = "Policy"
37331
37332	// DocumentTypeAutomation is a DocumentType enum value
37333	DocumentTypeAutomation = "Automation"
37334
37335	// DocumentTypeSession is a DocumentType enum value
37336	DocumentTypeSession = "Session"
37337
37338	// DocumentTypePackage is a DocumentType enum value
37339	DocumentTypePackage = "Package"
37340)
37341
37342const (
37343	// ExecutionModeAuto is a ExecutionMode enum value
37344	ExecutionModeAuto = "Auto"
37345
37346	// ExecutionModeInteractive is a ExecutionMode enum value
37347	ExecutionModeInteractive = "Interactive"
37348)
37349
37350const (
37351	// FaultClient is a Fault enum value
37352	FaultClient = "Client"
37353
37354	// FaultServer is a Fault enum value
37355	FaultServer = "Server"
37356
37357	// FaultUnknown is a Fault enum value
37358	FaultUnknown = "Unknown"
37359)
37360
37361const (
37362	// InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value
37363	InstanceInformationFilterKeyInstanceIds = "InstanceIds"
37364
37365	// InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value
37366	InstanceInformationFilterKeyAgentVersion = "AgentVersion"
37367
37368	// InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value
37369	InstanceInformationFilterKeyPingStatus = "PingStatus"
37370
37371	// InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value
37372	InstanceInformationFilterKeyPlatformTypes = "PlatformTypes"
37373
37374	// InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value
37375	InstanceInformationFilterKeyActivationIds = "ActivationIds"
37376
37377	// InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value
37378	InstanceInformationFilterKeyIamRole = "IamRole"
37379
37380	// InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value
37381	InstanceInformationFilterKeyResourceType = "ResourceType"
37382
37383	// InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value
37384	InstanceInformationFilterKeyAssociationStatus = "AssociationStatus"
37385)
37386
37387const (
37388	// InstancePatchStateOperatorTypeEqual is a InstancePatchStateOperatorType enum value
37389	InstancePatchStateOperatorTypeEqual = "Equal"
37390
37391	// InstancePatchStateOperatorTypeNotEqual is a InstancePatchStateOperatorType enum value
37392	InstancePatchStateOperatorTypeNotEqual = "NotEqual"
37393
37394	// InstancePatchStateOperatorTypeLessThan is a InstancePatchStateOperatorType enum value
37395	InstancePatchStateOperatorTypeLessThan = "LessThan"
37396
37397	// InstancePatchStateOperatorTypeGreaterThan is a InstancePatchStateOperatorType enum value
37398	InstancePatchStateOperatorTypeGreaterThan = "GreaterThan"
37399)
37400
37401const (
37402	// InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value
37403	InventoryAttributeDataTypeString = "string"
37404
37405	// InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value
37406	InventoryAttributeDataTypeNumber = "number"
37407)
37408
37409const (
37410	// InventoryDeletionStatusInProgress is a InventoryDeletionStatus enum value
37411	InventoryDeletionStatusInProgress = "InProgress"
37412
37413	// InventoryDeletionStatusComplete is a InventoryDeletionStatus enum value
37414	InventoryDeletionStatusComplete = "Complete"
37415)
37416
37417const (
37418	// InventoryQueryOperatorTypeEqual is a InventoryQueryOperatorType enum value
37419	InventoryQueryOperatorTypeEqual = "Equal"
37420
37421	// InventoryQueryOperatorTypeNotEqual is a InventoryQueryOperatorType enum value
37422	InventoryQueryOperatorTypeNotEqual = "NotEqual"
37423
37424	// InventoryQueryOperatorTypeBeginWith is a InventoryQueryOperatorType enum value
37425	InventoryQueryOperatorTypeBeginWith = "BeginWith"
37426
37427	// InventoryQueryOperatorTypeLessThan is a InventoryQueryOperatorType enum value
37428	InventoryQueryOperatorTypeLessThan = "LessThan"
37429
37430	// InventoryQueryOperatorTypeGreaterThan is a InventoryQueryOperatorType enum value
37431	InventoryQueryOperatorTypeGreaterThan = "GreaterThan"
37432
37433	// InventoryQueryOperatorTypeExists is a InventoryQueryOperatorType enum value
37434	InventoryQueryOperatorTypeExists = "Exists"
37435)
37436
37437const (
37438	// InventorySchemaDeleteOptionDisableSchema is a InventorySchemaDeleteOption enum value
37439	InventorySchemaDeleteOptionDisableSchema = "DisableSchema"
37440
37441	// InventorySchemaDeleteOptionDeleteSchema is a InventorySchemaDeleteOption enum value
37442	InventorySchemaDeleteOptionDeleteSchema = "DeleteSchema"
37443)
37444
37445const (
37446	// LastResourceDataSyncStatusSuccessful is a LastResourceDataSyncStatus enum value
37447	LastResourceDataSyncStatusSuccessful = "Successful"
37448
37449	// LastResourceDataSyncStatusFailed is a LastResourceDataSyncStatus enum value
37450	LastResourceDataSyncStatusFailed = "Failed"
37451
37452	// LastResourceDataSyncStatusInProgress is a LastResourceDataSyncStatus enum value
37453	LastResourceDataSyncStatusInProgress = "InProgress"
37454)
37455
37456const (
37457	// MaintenanceWindowExecutionStatusPending is a MaintenanceWindowExecutionStatus enum value
37458	MaintenanceWindowExecutionStatusPending = "PENDING"
37459
37460	// MaintenanceWindowExecutionStatusInProgress is a MaintenanceWindowExecutionStatus enum value
37461	MaintenanceWindowExecutionStatusInProgress = "IN_PROGRESS"
37462
37463	// MaintenanceWindowExecutionStatusSuccess is a MaintenanceWindowExecutionStatus enum value
37464	MaintenanceWindowExecutionStatusSuccess = "SUCCESS"
37465
37466	// MaintenanceWindowExecutionStatusFailed is a MaintenanceWindowExecutionStatus enum value
37467	MaintenanceWindowExecutionStatusFailed = "FAILED"
37468
37469	// MaintenanceWindowExecutionStatusTimedOut is a MaintenanceWindowExecutionStatus enum value
37470	MaintenanceWindowExecutionStatusTimedOut = "TIMED_OUT"
37471
37472	// MaintenanceWindowExecutionStatusCancelling is a MaintenanceWindowExecutionStatus enum value
37473	MaintenanceWindowExecutionStatusCancelling = "CANCELLING"
37474
37475	// MaintenanceWindowExecutionStatusCancelled is a MaintenanceWindowExecutionStatus enum value
37476	MaintenanceWindowExecutionStatusCancelled = "CANCELLED"
37477
37478	// MaintenanceWindowExecutionStatusSkippedOverlapping is a MaintenanceWindowExecutionStatus enum value
37479	MaintenanceWindowExecutionStatusSkippedOverlapping = "SKIPPED_OVERLAPPING"
37480)
37481
37482const (
37483	// MaintenanceWindowResourceTypeInstance is a MaintenanceWindowResourceType enum value
37484	MaintenanceWindowResourceTypeInstance = "INSTANCE"
37485
37486	// MaintenanceWindowResourceTypeResourceGroup is a MaintenanceWindowResourceType enum value
37487	MaintenanceWindowResourceTypeResourceGroup = "RESOURCE_GROUP"
37488)
37489
37490const (
37491	// MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value
37492	MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND"
37493
37494	// MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value
37495	MaintenanceWindowTaskTypeAutomation = "AUTOMATION"
37496
37497	// MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value
37498	MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS"
37499
37500	// MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value
37501	MaintenanceWindowTaskTypeLambda = "LAMBDA"
37502)
37503
37504const (
37505	// NotificationEventAll is a NotificationEvent enum value
37506	NotificationEventAll = "All"
37507
37508	// NotificationEventInProgress is a NotificationEvent enum value
37509	NotificationEventInProgress = "InProgress"
37510
37511	// NotificationEventSuccess is a NotificationEvent enum value
37512	NotificationEventSuccess = "Success"
37513
37514	// NotificationEventTimedOut is a NotificationEvent enum value
37515	NotificationEventTimedOut = "TimedOut"
37516
37517	// NotificationEventCancelled is a NotificationEvent enum value
37518	NotificationEventCancelled = "Cancelled"
37519
37520	// NotificationEventFailed is a NotificationEvent enum value
37521	NotificationEventFailed = "Failed"
37522)
37523
37524const (
37525	// NotificationTypeCommand is a NotificationType enum value
37526	NotificationTypeCommand = "Command"
37527
37528	// NotificationTypeInvocation is a NotificationType enum value
37529	NotificationTypeInvocation = "Invocation"
37530)
37531
37532const (
37533	// OperatingSystemWindows is a OperatingSystem enum value
37534	OperatingSystemWindows = "WINDOWS"
37535
37536	// OperatingSystemAmazonLinux is a OperatingSystem enum value
37537	OperatingSystemAmazonLinux = "AMAZON_LINUX"
37538
37539	// OperatingSystemAmazonLinux2 is a OperatingSystem enum value
37540	OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2"
37541
37542	// OperatingSystemUbuntu is a OperatingSystem enum value
37543	OperatingSystemUbuntu = "UBUNTU"
37544
37545	// OperatingSystemRedhatEnterpriseLinux is a OperatingSystem enum value
37546	OperatingSystemRedhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX"
37547
37548	// OperatingSystemSuse is a OperatingSystem enum value
37549	OperatingSystemSuse = "SUSE"
37550
37551	// OperatingSystemCentos is a OperatingSystem enum value
37552	OperatingSystemCentos = "CENTOS"
37553)
37554
37555const (
37556	// OpsFilterOperatorTypeEqual is a OpsFilterOperatorType enum value
37557	OpsFilterOperatorTypeEqual = "Equal"
37558
37559	// OpsFilterOperatorTypeNotEqual is a OpsFilterOperatorType enum value
37560	OpsFilterOperatorTypeNotEqual = "NotEqual"
37561
37562	// OpsFilterOperatorTypeBeginWith is a OpsFilterOperatorType enum value
37563	OpsFilterOperatorTypeBeginWith = "BeginWith"
37564
37565	// OpsFilterOperatorTypeLessThan is a OpsFilterOperatorType enum value
37566	OpsFilterOperatorTypeLessThan = "LessThan"
37567
37568	// OpsFilterOperatorTypeGreaterThan is a OpsFilterOperatorType enum value
37569	OpsFilterOperatorTypeGreaterThan = "GreaterThan"
37570
37571	// OpsFilterOperatorTypeExists is a OpsFilterOperatorType enum value
37572	OpsFilterOperatorTypeExists = "Exists"
37573)
37574
37575const (
37576	// OpsItemDataTypeSearchableString is a OpsItemDataType enum value
37577	OpsItemDataTypeSearchableString = "SearchableString"
37578
37579	// OpsItemDataTypeString is a OpsItemDataType enum value
37580	OpsItemDataTypeString = "String"
37581)
37582
37583const (
37584	// OpsItemFilterKeyStatus is a OpsItemFilterKey enum value
37585	OpsItemFilterKeyStatus = "Status"
37586
37587	// OpsItemFilterKeyCreatedBy is a OpsItemFilterKey enum value
37588	OpsItemFilterKeyCreatedBy = "CreatedBy"
37589
37590	// OpsItemFilterKeySource is a OpsItemFilterKey enum value
37591	OpsItemFilterKeySource = "Source"
37592
37593	// OpsItemFilterKeyPriority is a OpsItemFilterKey enum value
37594	OpsItemFilterKeyPriority = "Priority"
37595
37596	// OpsItemFilterKeyTitle is a OpsItemFilterKey enum value
37597	OpsItemFilterKeyTitle = "Title"
37598
37599	// OpsItemFilterKeyOpsItemId is a OpsItemFilterKey enum value
37600	OpsItemFilterKeyOpsItemId = "OpsItemId"
37601
37602	// OpsItemFilterKeyCreatedTime is a OpsItemFilterKey enum value
37603	OpsItemFilterKeyCreatedTime = "CreatedTime"
37604
37605	// OpsItemFilterKeyLastModifiedTime is a OpsItemFilterKey enum value
37606	OpsItemFilterKeyLastModifiedTime = "LastModifiedTime"
37607
37608	// OpsItemFilterKeyOperationalData is a OpsItemFilterKey enum value
37609	OpsItemFilterKeyOperationalData = "OperationalData"
37610
37611	// OpsItemFilterKeyOperationalDataKey is a OpsItemFilterKey enum value
37612	OpsItemFilterKeyOperationalDataKey = "OperationalDataKey"
37613
37614	// OpsItemFilterKeyOperationalDataValue is a OpsItemFilterKey enum value
37615	OpsItemFilterKeyOperationalDataValue = "OperationalDataValue"
37616
37617	// OpsItemFilterKeyResourceId is a OpsItemFilterKey enum value
37618	OpsItemFilterKeyResourceId = "ResourceId"
37619
37620	// OpsItemFilterKeyAutomationId is a OpsItemFilterKey enum value
37621	OpsItemFilterKeyAutomationId = "AutomationId"
37622)
37623
37624const (
37625	// OpsItemFilterOperatorEqual is a OpsItemFilterOperator enum value
37626	OpsItemFilterOperatorEqual = "Equal"
37627
37628	// OpsItemFilterOperatorContains is a OpsItemFilterOperator enum value
37629	OpsItemFilterOperatorContains = "Contains"
37630
37631	// OpsItemFilterOperatorGreaterThan is a OpsItemFilterOperator enum value
37632	OpsItemFilterOperatorGreaterThan = "GreaterThan"
37633
37634	// OpsItemFilterOperatorLessThan is a OpsItemFilterOperator enum value
37635	OpsItemFilterOperatorLessThan = "LessThan"
37636)
37637
37638const (
37639	// OpsItemStatusOpen is a OpsItemStatus enum value
37640	OpsItemStatusOpen = "Open"
37641
37642	// OpsItemStatusInProgress is a OpsItemStatus enum value
37643	OpsItemStatusInProgress = "InProgress"
37644
37645	// OpsItemStatusResolved is a OpsItemStatus enum value
37646	OpsItemStatusResolved = "Resolved"
37647)
37648
37649const (
37650	// ParameterTierStandard is a ParameterTier enum value
37651	ParameterTierStandard = "Standard"
37652
37653	// ParameterTierAdvanced is a ParameterTier enum value
37654	ParameterTierAdvanced = "Advanced"
37655
37656	// ParameterTierIntelligentTiering is a ParameterTier enum value
37657	ParameterTierIntelligentTiering = "Intelligent-Tiering"
37658)
37659
37660const (
37661	// ParameterTypeString is a ParameterType enum value
37662	ParameterTypeString = "String"
37663
37664	// ParameterTypeStringList is a ParameterType enum value
37665	ParameterTypeStringList = "StringList"
37666
37667	// ParameterTypeSecureString is a ParameterType enum value
37668	ParameterTypeSecureString = "SecureString"
37669)
37670
37671const (
37672	// ParametersFilterKeyName is a ParametersFilterKey enum value
37673	ParametersFilterKeyName = "Name"
37674
37675	// ParametersFilterKeyType is a ParametersFilterKey enum value
37676	ParametersFilterKeyType = "Type"
37677
37678	// ParametersFilterKeyKeyId is a ParametersFilterKey enum value
37679	ParametersFilterKeyKeyId = "KeyId"
37680)
37681
37682const (
37683	// PatchActionAllowAsDependency is a PatchAction enum value
37684	PatchActionAllowAsDependency = "ALLOW_AS_DEPENDENCY"
37685
37686	// PatchActionBlock is a PatchAction enum value
37687	PatchActionBlock = "BLOCK"
37688)
37689
37690const (
37691	// PatchComplianceDataStateInstalled is a PatchComplianceDataState enum value
37692	PatchComplianceDataStateInstalled = "INSTALLED"
37693
37694	// PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value
37695	PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER"
37696
37697	// PatchComplianceDataStateInstalledRejected is a PatchComplianceDataState enum value
37698	PatchComplianceDataStateInstalledRejected = "INSTALLED_REJECTED"
37699
37700	// PatchComplianceDataStateMissing is a PatchComplianceDataState enum value
37701	PatchComplianceDataStateMissing = "MISSING"
37702
37703	// PatchComplianceDataStateNotApplicable is a PatchComplianceDataState enum value
37704	PatchComplianceDataStateNotApplicable = "NOT_APPLICABLE"
37705
37706	// PatchComplianceDataStateFailed is a PatchComplianceDataState enum value
37707	PatchComplianceDataStateFailed = "FAILED"
37708)
37709
37710const (
37711	// PatchComplianceLevelCritical is a PatchComplianceLevel enum value
37712	PatchComplianceLevelCritical = "CRITICAL"
37713
37714	// PatchComplianceLevelHigh is a PatchComplianceLevel enum value
37715	PatchComplianceLevelHigh = "HIGH"
37716
37717	// PatchComplianceLevelMedium is a PatchComplianceLevel enum value
37718	PatchComplianceLevelMedium = "MEDIUM"
37719
37720	// PatchComplianceLevelLow is a PatchComplianceLevel enum value
37721	PatchComplianceLevelLow = "LOW"
37722
37723	// PatchComplianceLevelInformational is a PatchComplianceLevel enum value
37724	PatchComplianceLevelInformational = "INFORMATIONAL"
37725
37726	// PatchComplianceLevelUnspecified is a PatchComplianceLevel enum value
37727	PatchComplianceLevelUnspecified = "UNSPECIFIED"
37728)
37729
37730const (
37731	// PatchDeploymentStatusApproved is a PatchDeploymentStatus enum value
37732	PatchDeploymentStatusApproved = "APPROVED"
37733
37734	// PatchDeploymentStatusPendingApproval is a PatchDeploymentStatus enum value
37735	PatchDeploymentStatusPendingApproval = "PENDING_APPROVAL"
37736
37737	// PatchDeploymentStatusExplicitApproved is a PatchDeploymentStatus enum value
37738	PatchDeploymentStatusExplicitApproved = "EXPLICIT_APPROVED"
37739
37740	// PatchDeploymentStatusExplicitRejected is a PatchDeploymentStatus enum value
37741	PatchDeploymentStatusExplicitRejected = "EXPLICIT_REJECTED"
37742)
37743
37744const (
37745	// PatchFilterKeyPatchSet is a PatchFilterKey enum value
37746	PatchFilterKeyPatchSet = "PATCH_SET"
37747
37748	// PatchFilterKeyProduct is a PatchFilterKey enum value
37749	PatchFilterKeyProduct = "PRODUCT"
37750
37751	// PatchFilterKeyProductFamily is a PatchFilterKey enum value
37752	PatchFilterKeyProductFamily = "PRODUCT_FAMILY"
37753
37754	// PatchFilterKeyClassification is a PatchFilterKey enum value
37755	PatchFilterKeyClassification = "CLASSIFICATION"
37756
37757	// PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value
37758	PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY"
37759
37760	// PatchFilterKeyPatchId is a PatchFilterKey enum value
37761	PatchFilterKeyPatchId = "PATCH_ID"
37762
37763	// PatchFilterKeySection is a PatchFilterKey enum value
37764	PatchFilterKeySection = "SECTION"
37765
37766	// PatchFilterKeyPriority is a PatchFilterKey enum value
37767	PatchFilterKeyPriority = "PRIORITY"
37768
37769	// PatchFilterKeySeverity is a PatchFilterKey enum value
37770	PatchFilterKeySeverity = "SEVERITY"
37771)
37772
37773const (
37774	// PatchOperationTypeScan is a PatchOperationType enum value
37775	PatchOperationTypeScan = "Scan"
37776
37777	// PatchOperationTypeInstall is a PatchOperationType enum value
37778	PatchOperationTypeInstall = "Install"
37779)
37780
37781const (
37782	// PatchPropertyProduct is a PatchProperty enum value
37783	PatchPropertyProduct = "PRODUCT"
37784
37785	// PatchPropertyProductFamily is a PatchProperty enum value
37786	PatchPropertyProductFamily = "PRODUCT_FAMILY"
37787
37788	// PatchPropertyClassification is a PatchProperty enum value
37789	PatchPropertyClassification = "CLASSIFICATION"
37790
37791	// PatchPropertyMsrcSeverity is a PatchProperty enum value
37792	PatchPropertyMsrcSeverity = "MSRC_SEVERITY"
37793
37794	// PatchPropertyPriority is a PatchProperty enum value
37795	PatchPropertyPriority = "PRIORITY"
37796
37797	// PatchPropertySeverity is a PatchProperty enum value
37798	PatchPropertySeverity = "SEVERITY"
37799)
37800
37801const (
37802	// PatchSetOs is a PatchSet enum value
37803	PatchSetOs = "OS"
37804
37805	// PatchSetApplication is a PatchSet enum value
37806	PatchSetApplication = "APPLICATION"
37807)
37808
37809const (
37810	// PingStatusOnline is a PingStatus enum value
37811	PingStatusOnline = "Online"
37812
37813	// PingStatusConnectionLost is a PingStatus enum value
37814	PingStatusConnectionLost = "ConnectionLost"
37815
37816	// PingStatusInactive is a PingStatus enum value
37817	PingStatusInactive = "Inactive"
37818)
37819
37820const (
37821	// PlatformTypeWindows is a PlatformType enum value
37822	PlatformTypeWindows = "Windows"
37823
37824	// PlatformTypeLinux is a PlatformType enum value
37825	PlatformTypeLinux = "Linux"
37826)
37827
37828const (
37829	// ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value
37830	ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe"
37831)
37832
37833const (
37834	// ResourceTypeManagedInstance is a ResourceType enum value
37835	ResourceTypeManagedInstance = "ManagedInstance"
37836
37837	// ResourceTypeDocument is a ResourceType enum value
37838	ResourceTypeDocument = "Document"
37839
37840	// ResourceTypeEc2instance is a ResourceType enum value
37841	ResourceTypeEc2instance = "EC2Instance"
37842)
37843
37844const (
37845	// ResourceTypeForTaggingDocument is a ResourceTypeForTagging enum value
37846	ResourceTypeForTaggingDocument = "Document"
37847
37848	// ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value
37849	ResourceTypeForTaggingManagedInstance = "ManagedInstance"
37850
37851	// ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value
37852	ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow"
37853
37854	// ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value
37855	ResourceTypeForTaggingParameter = "Parameter"
37856
37857	// ResourceTypeForTaggingPatchBaseline is a ResourceTypeForTagging enum value
37858	ResourceTypeForTaggingPatchBaseline = "PatchBaseline"
37859
37860	// ResourceTypeForTaggingOpsItem is a ResourceTypeForTagging enum value
37861	ResourceTypeForTaggingOpsItem = "OpsItem"
37862)
37863
37864const (
37865	// SessionFilterKeyInvokedAfter is a SessionFilterKey enum value
37866	SessionFilterKeyInvokedAfter = "InvokedAfter"
37867
37868	// SessionFilterKeyInvokedBefore is a SessionFilterKey enum value
37869	SessionFilterKeyInvokedBefore = "InvokedBefore"
37870
37871	// SessionFilterKeyTarget is a SessionFilterKey enum value
37872	SessionFilterKeyTarget = "Target"
37873
37874	// SessionFilterKeyOwner is a SessionFilterKey enum value
37875	SessionFilterKeyOwner = "Owner"
37876
37877	// SessionFilterKeyStatus is a SessionFilterKey enum value
37878	SessionFilterKeyStatus = "Status"
37879)
37880
37881const (
37882	// SessionStateActive is a SessionState enum value
37883	SessionStateActive = "Active"
37884
37885	// SessionStateHistory is a SessionState enum value
37886	SessionStateHistory = "History"
37887)
37888
37889const (
37890	// SessionStatusConnected is a SessionStatus enum value
37891	SessionStatusConnected = "Connected"
37892
37893	// SessionStatusConnecting is a SessionStatus enum value
37894	SessionStatusConnecting = "Connecting"
37895
37896	// SessionStatusDisconnected is a SessionStatus enum value
37897	SessionStatusDisconnected = "Disconnected"
37898
37899	// SessionStatusTerminated is a SessionStatus enum value
37900	SessionStatusTerminated = "Terminated"
37901
37902	// SessionStatusTerminating is a SessionStatus enum value
37903	SessionStatusTerminating = "Terminating"
37904
37905	// SessionStatusFailed is a SessionStatus enum value
37906	SessionStatusFailed = "Failed"
37907)
37908
37909const (
37910	// SignalTypeApprove is a SignalType enum value
37911	SignalTypeApprove = "Approve"
37912
37913	// SignalTypeReject is a SignalType enum value
37914	SignalTypeReject = "Reject"
37915
37916	// SignalTypeStartStep is a SignalType enum value
37917	SignalTypeStartStep = "StartStep"
37918
37919	// SignalTypeStopStep is a SignalType enum value
37920	SignalTypeStopStep = "StopStep"
37921
37922	// SignalTypeResume is a SignalType enum value
37923	SignalTypeResume = "Resume"
37924)
37925
37926const (
37927	// StepExecutionFilterKeyStartTimeBefore is a StepExecutionFilterKey enum value
37928	StepExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
37929
37930	// StepExecutionFilterKeyStartTimeAfter is a StepExecutionFilterKey enum value
37931	StepExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
37932
37933	// StepExecutionFilterKeyStepExecutionStatus is a StepExecutionFilterKey enum value
37934	StepExecutionFilterKeyStepExecutionStatus = "StepExecutionStatus"
37935
37936	// StepExecutionFilterKeyStepExecutionId is a StepExecutionFilterKey enum value
37937	StepExecutionFilterKeyStepExecutionId = "StepExecutionId"
37938
37939	// StepExecutionFilterKeyStepName is a StepExecutionFilterKey enum value
37940	StepExecutionFilterKeyStepName = "StepName"
37941
37942	// StepExecutionFilterKeyAction is a StepExecutionFilterKey enum value
37943	StepExecutionFilterKeyAction = "Action"
37944)
37945
37946const (
37947	// StopTypeComplete is a StopType enum value
37948	StopTypeComplete = "Complete"
37949
37950	// StopTypeCancel is a StopType enum value
37951	StopTypeCancel = "Cancel"
37952)
37953