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)
13
14const opAddTagsToResource = "AddTagsToResource"
15
16// AddTagsToResourceRequest generates a "aws/request.Request" representing the
17// client's request for the AddTagsToResource operation. The "output" return
18// value will be populated with the request's response once the request complets
19// successfuly.
20//
21// Use "Send" method on the returned Request to send the API call to the service.
22// the "output" return value is not valid until after Send returns without error.
23//
24// See AddTagsToResource for more information on using the AddTagsToResource
25// API call, and error handling.
26//
27// This method is useful when you want to inject custom logic or configuration
28// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29//
30//
31//    // Example sending a request using the AddTagsToResourceRequest method.
32//    req, resp := client.AddTagsToResourceRequest(params)
33//
34//    err := req.Send()
35//    if err == nil { // resp is now filled
36//        fmt.Println(resp)
37//    }
38//
39// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
40func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
41	op := &request.Operation{
42		Name:       opAddTagsToResource,
43		HTTPMethod: "POST",
44		HTTPPath:   "/",
45	}
46
47	if input == nil {
48		input = &AddTagsToResourceInput{}
49	}
50
51	output = &AddTagsToResourceOutput{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// AddTagsToResource API operation for Amazon Simple Systems Manager (SSM).
57//
58// Adds or overwrites one or more tags for the specified resource. Tags are
59// metadata that you can assign to your documents, managed instances, Maintenance
60// Windows, Parameter Store parameters, and patch baselines. Tags enable you
61// to categorize your resources in different ways, for example, by purpose,
62// owner, or environment. Each tag consists of a key and an optional value,
63// both of which you define. For example, you could define a set of tags for
64// your account's managed instances that helps you track each instance's owner
65// and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev.
66// Or Key=Stack and Value=Production, Pre-Production, or Test.
67//
68// Each resource can have a maximum of 10 tags.
69//
70// We recommend that you devise a set of tag keys that meets your needs for
71// each resource type. Using a consistent set of tag keys makes it easier for
72// you to manage your resources. You can search and filter the resources based
73// on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and
74// are interpreted strictly as a string of characters.
75//
76// For more information about tags, see Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
77// in the Amazon EC2 User Guide.
78//
79// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
80// with awserr.Error's Code and Message methods to get detailed information about
81// the error.
82//
83// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
84// API operation AddTagsToResource for usage and error information.
85//
86// Returned Error Codes:
87//   * ErrCodeInvalidResourceType "InvalidResourceType"
88//   The resource type is not valid. For example, if you are attempting to tag
89//   an instance, the instance must be a registered, managed instance.
90//
91//   * ErrCodeInvalidResourceId "InvalidResourceId"
92//   The resource ID is not valid. Verify that you entered the correct ID and
93//   try again.
94//
95//   * ErrCodeInternalServerError "InternalServerError"
96//   An error occurred on the server side.
97//
98//   * ErrCodeTooManyTagsError "TooManyTagsError"
99//   The Targets parameter includes too many tags. Remove one or more tags and
100//   try the command again.
101//
102// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
103func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
104	req, out := c.AddTagsToResourceRequest(input)
105	return out, req.Send()
106}
107
108// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
109// the ability to pass a context and additional request options.
110//
111// See AddTagsToResource for details on how to use this API operation.
112//
113// The context must be non-nil and will be used for request cancellation. If
114// the context is nil a panic will occur. In the future the SDK may create
115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
116// for more information on using Contexts.
117func (c *SSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
118	req, out := c.AddTagsToResourceRequest(input)
119	req.SetContext(ctx)
120	req.ApplyOptions(opts...)
121	return out, req.Send()
122}
123
124const opCancelCommand = "CancelCommand"
125
126// CancelCommandRequest generates a "aws/request.Request" representing the
127// client's request for the CancelCommand operation. The "output" return
128// value will be populated with the request's response once the request complets
129// successfuly.
130//
131// Use "Send" method on the returned Request to send the API call to the service.
132// the "output" return value is not valid until after Send returns without error.
133//
134// See CancelCommand for more information on using the CancelCommand
135// API call, and error handling.
136//
137// This method is useful when you want to inject custom logic or configuration
138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
139//
140//
141//    // Example sending a request using the CancelCommandRequest method.
142//    req, resp := client.CancelCommandRequest(params)
143//
144//    err := req.Send()
145//    if err == nil { // resp is now filled
146//        fmt.Println(resp)
147//    }
148//
149// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
150func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) {
151	op := &request.Operation{
152		Name:       opCancelCommand,
153		HTTPMethod: "POST",
154		HTTPPath:   "/",
155	}
156
157	if input == nil {
158		input = &CancelCommandInput{}
159	}
160
161	output = &CancelCommandOutput{}
162	req = c.newRequest(op, input, output)
163	return
164}
165
166// CancelCommand API operation for Amazon Simple Systems Manager (SSM).
167//
168// Attempts to cancel the command specified by the Command ID. There is no guarantee
169// that the command will be terminated and the underlying process stopped.
170//
171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
172// with awserr.Error's Code and Message methods to get detailed information about
173// the error.
174//
175// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
176// API operation CancelCommand for usage and error information.
177//
178// Returned Error Codes:
179//   * ErrCodeInternalServerError "InternalServerError"
180//   An error occurred on the server side.
181//
182//   * ErrCodeInvalidCommandId "InvalidCommandId"
183//
184//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
185//   The following problems can cause this exception:
186//
187//   You do not have permission to access the instance.
188//
189//   The SSM Agent is not running. On managed instances and Linux instances, verify
190//   that the SSM Agent is running. On EC2 Windows instances, verify that the
191//   EC2Config service is running.
192//
193//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
194//   Try reinstalling the SSM Agent or EC2Config service.
195//
196//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
197//   Stopping. Invalid states are: Shutting-down and Terminated.
198//
199//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
200//   You cannot specify an instance ID in more than one association.
201//
202// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
203func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) {
204	req, out := c.CancelCommandRequest(input)
205	return out, req.Send()
206}
207
208// CancelCommandWithContext is the same as CancelCommand with the addition of
209// the ability to pass a context and additional request options.
210//
211// See CancelCommand for details on how to use this API operation.
212//
213// The context must be non-nil and will be used for request cancellation. If
214// the context is nil a panic will occur. In the future the SDK may create
215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
216// for more information on using Contexts.
217func (c *SSM) CancelCommandWithContext(ctx aws.Context, input *CancelCommandInput, opts ...request.Option) (*CancelCommandOutput, error) {
218	req, out := c.CancelCommandRequest(input)
219	req.SetContext(ctx)
220	req.ApplyOptions(opts...)
221	return out, req.Send()
222}
223
224const opCreateActivation = "CreateActivation"
225
226// CreateActivationRequest generates a "aws/request.Request" representing the
227// client's request for the CreateActivation operation. The "output" return
228// value will be populated with the request's response once the request complets
229// successfuly.
230//
231// Use "Send" method on the returned Request to send the API call to the service.
232// the "output" return value is not valid until after Send returns without error.
233//
234// See CreateActivation for more information on using the CreateActivation
235// API call, and error handling.
236//
237// This method is useful when you want to inject custom logic or configuration
238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
239//
240//
241//    // Example sending a request using the CreateActivationRequest method.
242//    req, resp := client.CreateActivationRequest(params)
243//
244//    err := req.Send()
245//    if err == nil { // resp is now filled
246//        fmt.Println(resp)
247//    }
248//
249// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
250func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) {
251	op := &request.Operation{
252		Name:       opCreateActivation,
253		HTTPMethod: "POST",
254		HTTPPath:   "/",
255	}
256
257	if input == nil {
258		input = &CreateActivationInput{}
259	}
260
261	output = &CreateActivationOutput{}
262	req = c.newRequest(op, input, output)
263	return
264}
265
266// CreateActivation API operation for Amazon Simple Systems Manager (SSM).
267//
268// Registers your on-premises server or virtual machine with Amazon EC2 so that
269// you can manage these resources using Run Command. An on-premises server or
270// virtual machine that has been registered with EC2 is called a managed instance.
271// For more information about activations, see Setting Up Systems Manager in
272// Hybrid Environments (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html).
273//
274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
275// with awserr.Error's Code and Message methods to get detailed information about
276// the error.
277//
278// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
279// API operation CreateActivation for usage and error information.
280//
281// Returned Error Codes:
282//   * ErrCodeInternalServerError "InternalServerError"
283//   An error occurred on the server side.
284//
285// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
286func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) {
287	req, out := c.CreateActivationRequest(input)
288	return out, req.Send()
289}
290
291// CreateActivationWithContext is the same as CreateActivation with the addition of
292// the ability to pass a context and additional request options.
293//
294// See CreateActivation for details on how to use this API operation.
295//
296// The context must be non-nil and will be used for request cancellation. If
297// the context is nil a panic will occur. In the future the SDK may create
298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
299// for more information on using Contexts.
300func (c *SSM) CreateActivationWithContext(ctx aws.Context, input *CreateActivationInput, opts ...request.Option) (*CreateActivationOutput, error) {
301	req, out := c.CreateActivationRequest(input)
302	req.SetContext(ctx)
303	req.ApplyOptions(opts...)
304	return out, req.Send()
305}
306
307const opCreateAssociation = "CreateAssociation"
308
309// CreateAssociationRequest generates a "aws/request.Request" representing the
310// client's request for the CreateAssociation operation. The "output" return
311// value will be populated with the request's response once the request complets
312// successfuly.
313//
314// Use "Send" method on the returned Request to send the API call to the service.
315// the "output" return value is not valid until after Send returns without error.
316//
317// See CreateAssociation for more information on using the CreateAssociation
318// API call, and error handling.
319//
320// This method is useful when you want to inject custom logic or configuration
321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
322//
323//
324//    // Example sending a request using the CreateAssociationRequest method.
325//    req, resp := client.CreateAssociationRequest(params)
326//
327//    err := req.Send()
328//    if err == nil { // resp is now filled
329//        fmt.Println(resp)
330//    }
331//
332// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
333func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) {
334	op := &request.Operation{
335		Name:       opCreateAssociation,
336		HTTPMethod: "POST",
337		HTTPPath:   "/",
338	}
339
340	if input == nil {
341		input = &CreateAssociationInput{}
342	}
343
344	output = &CreateAssociationOutput{}
345	req = c.newRequest(op, input, output)
346	return
347}
348
349// CreateAssociation API operation for Amazon Simple Systems Manager (SSM).
350//
351// Associates the specified Systems Manager document with the specified instances
352// or targets.
353//
354// When you associate a document with one or more instances using instance IDs
355// or tags, the SSM Agent running on the instance processes the document and
356// configures the instance as specified.
357//
358// If you associate a document with an instance that already has an associated
359// document, the system throws the AssociationAlreadyExists exception.
360//
361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
362// with awserr.Error's Code and Message methods to get detailed information about
363// the error.
364//
365// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
366// API operation CreateAssociation for usage and error information.
367//
368// Returned Error Codes:
369//   * ErrCodeAssociationAlreadyExists "AssociationAlreadyExists"
370//   The specified association already exists.
371//
372//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
373//   You can have at most 2,000 active associations.
374//
375//   * ErrCodeInternalServerError "InternalServerError"
376//   An error occurred on the server side.
377//
378//   * ErrCodeInvalidDocument "InvalidDocument"
379//   The specified document does not exist.
380//
381//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
382//   The document version is not valid or does not exist.
383//
384//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
385//   The following problems can cause this exception:
386//
387//   You do not have permission to access the instance.
388//
389//   The SSM Agent is not running. On managed instances and Linux instances, verify
390//   that the SSM Agent is running. On EC2 Windows instances, verify that the
391//   EC2Config service is running.
392//
393//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
394//   Try reinstalling the SSM Agent or EC2Config service.
395//
396//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
397//   Stopping. Invalid states are: Shutting-down and Terminated.
398//
399//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
400//   The document does not support the platform type of the given instance ID(s).
401//   For example, you sent an document for a Windows instance to a Linux instance.
402//
403//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
404//   The output location is not valid or does not exist.
405//
406//   * ErrCodeInvalidParameters "InvalidParameters"
407//   You must specify values for all required parameters in the Systems Manager
408//   document. You can only supply values to parameters defined in the Systems
409//   Manager document.
410//
411//   * ErrCodeInvalidTarget "InvalidTarget"
412//   The target is not valid or does not exist. It might not be configured for
413//   EC2 Systems Manager or you might not have permission to perform the operation.
414//
415//   * ErrCodeInvalidSchedule "InvalidSchedule"
416//   The schedule is invalid. Verify your cron or rate expression and try again.
417//
418// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
419func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) {
420	req, out := c.CreateAssociationRequest(input)
421	return out, req.Send()
422}
423
424// CreateAssociationWithContext is the same as CreateAssociation with the addition of
425// the ability to pass a context and additional request options.
426//
427// See CreateAssociation for details on how to use this API operation.
428//
429// The context must be non-nil and will be used for request cancellation. If
430// the context is nil a panic will occur. In the future the SDK may create
431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
432// for more information on using Contexts.
433func (c *SSM) CreateAssociationWithContext(ctx aws.Context, input *CreateAssociationInput, opts ...request.Option) (*CreateAssociationOutput, error) {
434	req, out := c.CreateAssociationRequest(input)
435	req.SetContext(ctx)
436	req.ApplyOptions(opts...)
437	return out, req.Send()
438}
439
440const opCreateAssociationBatch = "CreateAssociationBatch"
441
442// CreateAssociationBatchRequest generates a "aws/request.Request" representing the
443// client's request for the CreateAssociationBatch operation. The "output" return
444// value will be populated with the request's response once the request complets
445// successfuly.
446//
447// Use "Send" method on the returned Request to send the API call to the service.
448// the "output" return value is not valid until after Send returns without error.
449//
450// See CreateAssociationBatch for more information on using the CreateAssociationBatch
451// API call, and error handling.
452//
453// This method is useful when you want to inject custom logic or configuration
454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
455//
456//
457//    // Example sending a request using the CreateAssociationBatchRequest method.
458//    req, resp := client.CreateAssociationBatchRequest(params)
459//
460//    err := req.Send()
461//    if err == nil { // resp is now filled
462//        fmt.Println(resp)
463//    }
464//
465// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
466func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) {
467	op := &request.Operation{
468		Name:       opCreateAssociationBatch,
469		HTTPMethod: "POST",
470		HTTPPath:   "/",
471	}
472
473	if input == nil {
474		input = &CreateAssociationBatchInput{}
475	}
476
477	output = &CreateAssociationBatchOutput{}
478	req = c.newRequest(op, input, output)
479	return
480}
481
482// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM).
483//
484// Associates the specified Systems Manager document with the specified instances
485// or targets.
486//
487// When you associate a document with one or more instances using instance IDs
488// or tags, the SSM Agent running on the instance processes the document and
489// configures the instance as specified.
490//
491// If you associate a document with an instance that already has an associated
492// document, the system throws the AssociationAlreadyExists exception.
493//
494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
495// with awserr.Error's Code and Message methods to get detailed information about
496// the error.
497//
498// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
499// API operation CreateAssociationBatch for usage and error information.
500//
501// Returned Error Codes:
502//   * ErrCodeInternalServerError "InternalServerError"
503//   An error occurred on the server side.
504//
505//   * ErrCodeInvalidDocument "InvalidDocument"
506//   The specified document does not exist.
507//
508//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
509//   The document version is not valid or does not exist.
510//
511//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
512//   The following problems can cause this exception:
513//
514//   You do not have permission to access the instance.
515//
516//   The SSM Agent is not running. On managed instances and Linux instances, verify
517//   that the SSM Agent is running. On EC2 Windows instances, verify that the
518//   EC2Config service is running.
519//
520//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
521//   Try reinstalling the SSM Agent or EC2Config service.
522//
523//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
524//   Stopping. Invalid states are: Shutting-down and Terminated.
525//
526//   * ErrCodeInvalidParameters "InvalidParameters"
527//   You must specify values for all required parameters in the Systems Manager
528//   document. You can only supply values to parameters defined in the Systems
529//   Manager document.
530//
531//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
532//   You cannot specify an instance ID in more than one association.
533//
534//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
535//   You can have at most 2,000 active associations.
536//
537//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
538//   The document does not support the platform type of the given instance ID(s).
539//   For example, you sent an document for a Windows instance to a Linux instance.
540//
541//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
542//   The output location is not valid or does not exist.
543//
544//   * ErrCodeInvalidTarget "InvalidTarget"
545//   The target is not valid or does not exist. It might not be configured for
546//   EC2 Systems Manager or you might not have permission to perform the operation.
547//
548//   * ErrCodeInvalidSchedule "InvalidSchedule"
549//   The schedule is invalid. Verify your cron or rate expression and try again.
550//
551// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
552func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) {
553	req, out := c.CreateAssociationBatchRequest(input)
554	return out, req.Send()
555}
556
557// CreateAssociationBatchWithContext is the same as CreateAssociationBatch with the addition of
558// the ability to pass a context and additional request options.
559//
560// See CreateAssociationBatch for details on how to use this API operation.
561//
562// The context must be non-nil and will be used for request cancellation. If
563// the context is nil a panic will occur. In the future the SDK may create
564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
565// for more information on using Contexts.
566func (c *SSM) CreateAssociationBatchWithContext(ctx aws.Context, input *CreateAssociationBatchInput, opts ...request.Option) (*CreateAssociationBatchOutput, error) {
567	req, out := c.CreateAssociationBatchRequest(input)
568	req.SetContext(ctx)
569	req.ApplyOptions(opts...)
570	return out, req.Send()
571}
572
573const opCreateDocument = "CreateDocument"
574
575// CreateDocumentRequest generates a "aws/request.Request" representing the
576// client's request for the CreateDocument operation. The "output" return
577// value will be populated with the request's response once the request complets
578// successfuly.
579//
580// Use "Send" method on the returned Request to send the API call to the service.
581// the "output" return value is not valid until after Send returns without error.
582//
583// See CreateDocument for more information on using the CreateDocument
584// API call, and error handling.
585//
586// This method is useful when you want to inject custom logic or configuration
587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
588//
589//
590//    // Example sending a request using the CreateDocumentRequest method.
591//    req, resp := client.CreateDocumentRequest(params)
592//
593//    err := req.Send()
594//    if err == nil { // resp is now filled
595//        fmt.Println(resp)
596//    }
597//
598// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
599func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) {
600	op := &request.Operation{
601		Name:       opCreateDocument,
602		HTTPMethod: "POST",
603		HTTPPath:   "/",
604	}
605
606	if input == nil {
607		input = &CreateDocumentInput{}
608	}
609
610	output = &CreateDocumentOutput{}
611	req = c.newRequest(op, input, output)
612	return
613}
614
615// CreateDocument API operation for Amazon Simple Systems Manager (SSM).
616//
617// Creates a Systems Manager document.
618//
619// After you create a document, you can use CreateAssociation to associate it
620// with one or more running instances.
621//
622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
623// with awserr.Error's Code and Message methods to get detailed information about
624// the error.
625//
626// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
627// API operation CreateDocument for usage and error information.
628//
629// Returned Error Codes:
630//   * ErrCodeDocumentAlreadyExists "DocumentAlreadyExists"
631//   The specified document already exists.
632//
633//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
634//   The size limit of a document is 64 KB.
635//
636//   * ErrCodeInternalServerError "InternalServerError"
637//   An error occurred on the server side.
638//
639//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
640//   The content for the document is not valid.
641//
642//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
643//   You can have at most 200 active Systems Manager documents.
644//
645//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
646//   The version of the document schema is not supported.
647//
648// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
649func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) {
650	req, out := c.CreateDocumentRequest(input)
651	return out, req.Send()
652}
653
654// CreateDocumentWithContext is the same as CreateDocument with the addition of
655// the ability to pass a context and additional request options.
656//
657// See CreateDocument for details on how to use this API operation.
658//
659// The context must be non-nil and will be used for request cancellation. If
660// the context is nil a panic will occur. In the future the SDK may create
661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
662// for more information on using Contexts.
663func (c *SSM) CreateDocumentWithContext(ctx aws.Context, input *CreateDocumentInput, opts ...request.Option) (*CreateDocumentOutput, error) {
664	req, out := c.CreateDocumentRequest(input)
665	req.SetContext(ctx)
666	req.ApplyOptions(opts...)
667	return out, req.Send()
668}
669
670const opCreateMaintenanceWindow = "CreateMaintenanceWindow"
671
672// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the
673// client's request for the CreateMaintenanceWindow operation. The "output" return
674// value will be populated with the request's response once the request complets
675// successfuly.
676//
677// Use "Send" method on the returned Request to send the API call to the service.
678// the "output" return value is not valid until after Send returns without error.
679//
680// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow
681// API call, and error handling.
682//
683// This method is useful when you want to inject custom logic or configuration
684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
685//
686//
687//    // Example sending a request using the CreateMaintenanceWindowRequest method.
688//    req, resp := client.CreateMaintenanceWindowRequest(params)
689//
690//    err := req.Send()
691//    if err == nil { // resp is now filled
692//        fmt.Println(resp)
693//    }
694//
695// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
696func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) {
697	op := &request.Operation{
698		Name:       opCreateMaintenanceWindow,
699		HTTPMethod: "POST",
700		HTTPPath:   "/",
701	}
702
703	if input == nil {
704		input = &CreateMaintenanceWindowInput{}
705	}
706
707	output = &CreateMaintenanceWindowOutput{}
708	req = c.newRequest(op, input, output)
709	return
710}
711
712// CreateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
713//
714// Creates a new Maintenance Window.
715//
716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
717// with awserr.Error's Code and Message methods to get detailed information about
718// the error.
719//
720// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
721// API operation CreateMaintenanceWindow for usage and error information.
722//
723// Returned Error Codes:
724//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
725//   Error returned when an idempotent operation is retried and the parameters
726//   don't match the original call to the API with the same idempotency token.
727//
728//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
729//   Error returned when the caller has exceeded the default resource limits (e.g.
730//   too many Maintenance Windows have been created).
731//
732//   * ErrCodeInternalServerError "InternalServerError"
733//   An error occurred on the server side.
734//
735// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
736func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) {
737	req, out := c.CreateMaintenanceWindowRequest(input)
738	return out, req.Send()
739}
740
741// CreateMaintenanceWindowWithContext is the same as CreateMaintenanceWindow with the addition of
742// the ability to pass a context and additional request options.
743//
744// See CreateMaintenanceWindow 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) CreateMaintenanceWindowWithContext(ctx aws.Context, input *CreateMaintenanceWindowInput, opts ...request.Option) (*CreateMaintenanceWindowOutput, error) {
751	req, out := c.CreateMaintenanceWindowRequest(input)
752	req.SetContext(ctx)
753	req.ApplyOptions(opts...)
754	return out, req.Send()
755}
756
757const opCreatePatchBaseline = "CreatePatchBaseline"
758
759// CreatePatchBaselineRequest generates a "aws/request.Request" representing the
760// client's request for the CreatePatchBaseline operation. The "output" return
761// value will be populated with the request's response once the request complets
762// successfuly.
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 CreatePatchBaseline for more information on using the CreatePatchBaseline
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 CreatePatchBaselineRequest method.
775//    req, resp := client.CreatePatchBaselineRequest(params)
776//
777//    err := req.Send()
778//    if err == nil { // resp is now filled
779//        fmt.Println(resp)
780//    }
781//
782// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
783func (c *SSM) CreatePatchBaselineRequest(input *CreatePatchBaselineInput) (req *request.Request, output *CreatePatchBaselineOutput) {
784	op := &request.Operation{
785		Name:       opCreatePatchBaseline,
786		HTTPMethod: "POST",
787		HTTPPath:   "/",
788	}
789
790	if input == nil {
791		input = &CreatePatchBaselineInput{}
792	}
793
794	output = &CreatePatchBaselineOutput{}
795	req = c.newRequest(op, input, output)
796	return
797}
798
799// CreatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
800//
801// Creates a patch baseline.
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 CreatePatchBaseline 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 (e.g.
817//   too many Maintenance Windows have been created).
818//
819//   * ErrCodeInternalServerError "InternalServerError"
820//   An error occurred on the server side.
821//
822// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
823func (c *SSM) CreatePatchBaseline(input *CreatePatchBaselineInput) (*CreatePatchBaselineOutput, error) {
824	req, out := c.CreatePatchBaselineRequest(input)
825	return out, req.Send()
826}
827
828// CreatePatchBaselineWithContext is the same as CreatePatchBaseline with the addition of
829// the ability to pass a context and additional request options.
830//
831// See CreatePatchBaseline for details on how to use this API operation.
832//
833// The context must be non-nil and will be used for request cancellation. If
834// the context is nil a panic will occur. In the future the SDK may create
835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
836// for more information on using Contexts.
837func (c *SSM) CreatePatchBaselineWithContext(ctx aws.Context, input *CreatePatchBaselineInput, opts ...request.Option) (*CreatePatchBaselineOutput, error) {
838	req, out := c.CreatePatchBaselineRequest(input)
839	req.SetContext(ctx)
840	req.ApplyOptions(opts...)
841	return out, req.Send()
842}
843
844const opCreateResourceDataSync = "CreateResourceDataSync"
845
846// CreateResourceDataSyncRequest generates a "aws/request.Request" representing the
847// client's request for the CreateResourceDataSync operation. The "output" return
848// value will be populated with the request's response once the request complets
849// successfuly.
850//
851// Use "Send" method on the returned Request to send the API call to the service.
852// the "output" return value is not valid until after Send returns without error.
853//
854// See CreateResourceDataSync for more information on using the CreateResourceDataSync
855// API call, and error handling.
856//
857// This method is useful when you want to inject custom logic or configuration
858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
859//
860//
861//    // Example sending a request using the CreateResourceDataSyncRequest method.
862//    req, resp := client.CreateResourceDataSyncRequest(params)
863//
864//    err := req.Send()
865//    if err == nil { // resp is now filled
866//        fmt.Println(resp)
867//    }
868//
869// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
870func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) (req *request.Request, output *CreateResourceDataSyncOutput) {
871	op := &request.Operation{
872		Name:       opCreateResourceDataSync,
873		HTTPMethod: "POST",
874		HTTPPath:   "/",
875	}
876
877	if input == nil {
878		input = &CreateResourceDataSyncInput{}
879	}
880
881	output = &CreateResourceDataSyncOutput{}
882	req = c.newRequest(op, input, output)
883	return
884}
885
886// CreateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
887//
888// Creates a resource data sync configuration to a single bucket in Amazon S3.
889// This is an asynchronous operation that returns immediately. After a successful
890// initial sync is completed, the system continuously syncs data to the Amazon
891// S3 bucket. To check the status of the sync, use the ListResourceDataSync
892// (API_ListResourceDataSync.html) operation.
893//
894// By default, data is not encrypted in Amazon S3. We strongly recommend that
895// you enable encryption in Amazon S3 to ensure secure data storage. We also
896// recommend that you secure access to the Amazon S3 bucket by creating a restrictive
897// bucket policy. To view an example of a restrictive Amazon S3 bucket policy
898// for Resource Data Sync, see Configuring Resource Data Sync for Inventory
899// (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-configuring.html#sysman-inventory-datasync).
900//
901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
902// with awserr.Error's Code and Message methods to get detailed information about
903// the error.
904//
905// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
906// API operation CreateResourceDataSync for usage and error information.
907//
908// Returned Error Codes:
909//   * ErrCodeInternalServerError "InternalServerError"
910//   An error occurred on the server side.
911//
912//   * ErrCodeResourceDataSyncCountExceededException "ResourceDataSyncCountExceededException"
913//   You have exceeded the allowed maximum sync configurations.
914//
915//   * ErrCodeResourceDataSyncAlreadyExistsException "ResourceDataSyncAlreadyExistsException"
916//   A sync configuration with the same name already exists.
917//
918//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
919//   The specified sync configuration is invalid.
920//
921// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
922func (c *SSM) CreateResourceDataSync(input *CreateResourceDataSyncInput) (*CreateResourceDataSyncOutput, error) {
923	req, out := c.CreateResourceDataSyncRequest(input)
924	return out, req.Send()
925}
926
927// CreateResourceDataSyncWithContext is the same as CreateResourceDataSync with the addition of
928// the ability to pass a context and additional request options.
929//
930// See CreateResourceDataSync for details on how to use this API operation.
931//
932// The context must be non-nil and will be used for request cancellation. If
933// the context is nil a panic will occur. In the future the SDK may create
934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
935// for more information on using Contexts.
936func (c *SSM) CreateResourceDataSyncWithContext(ctx aws.Context, input *CreateResourceDataSyncInput, opts ...request.Option) (*CreateResourceDataSyncOutput, error) {
937	req, out := c.CreateResourceDataSyncRequest(input)
938	req.SetContext(ctx)
939	req.ApplyOptions(opts...)
940	return out, req.Send()
941}
942
943const opDeleteActivation = "DeleteActivation"
944
945// DeleteActivationRequest generates a "aws/request.Request" representing the
946// client's request for the DeleteActivation operation. The "output" return
947// value will be populated with the request's response once the request complets
948// successfuly.
949//
950// Use "Send" method on the returned Request to send the API call to the service.
951// the "output" return value is not valid until after Send returns without error.
952//
953// See DeleteActivation for more information on using the DeleteActivation
954// API call, and error handling.
955//
956// This method is useful when you want to inject custom logic or configuration
957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
958//
959//
960//    // Example sending a request using the DeleteActivationRequest method.
961//    req, resp := client.DeleteActivationRequest(params)
962//
963//    err := req.Send()
964//    if err == nil { // resp is now filled
965//        fmt.Println(resp)
966//    }
967//
968// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
969func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) {
970	op := &request.Operation{
971		Name:       opDeleteActivation,
972		HTTPMethod: "POST",
973		HTTPPath:   "/",
974	}
975
976	if input == nil {
977		input = &DeleteActivationInput{}
978	}
979
980	output = &DeleteActivationOutput{}
981	req = c.newRequest(op, input, output)
982	return
983}
984
985// DeleteActivation API operation for Amazon Simple Systems Manager (SSM).
986//
987// Deletes an activation. You are not required to delete an activation. If you
988// delete an activation, you can no longer use it to register additional managed
989// instances. Deleting an activation does not de-register managed instances.
990// You must manually de-register managed instances.
991//
992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
993// with awserr.Error's Code and Message methods to get detailed information about
994// the error.
995//
996// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
997// API operation DeleteActivation for usage and error information.
998//
999// Returned Error Codes:
1000//   * ErrCodeInvalidActivationId "InvalidActivationId"
1001//   The activation ID is not valid. Verify the you entered the correct ActivationId
1002//   or ActivationCode and try again.
1003//
1004//   * ErrCodeInvalidActivation "InvalidActivation"
1005//   The activation is not valid. The activation might have been deleted, or the
1006//   ActivationId and the ActivationCode do not match.
1007//
1008//   * ErrCodeInternalServerError "InternalServerError"
1009//   An error occurred on the server side.
1010//
1011// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1012func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) {
1013	req, out := c.DeleteActivationRequest(input)
1014	return out, req.Send()
1015}
1016
1017// DeleteActivationWithContext is the same as DeleteActivation with the addition of
1018// the ability to pass a context and additional request options.
1019//
1020// See DeleteActivation for details on how to use this API operation.
1021//
1022// The context must be non-nil and will be used for request cancellation. If
1023// the context is nil a panic will occur. In the future the SDK may create
1024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1025// for more information on using Contexts.
1026func (c *SSM) DeleteActivationWithContext(ctx aws.Context, input *DeleteActivationInput, opts ...request.Option) (*DeleteActivationOutput, error) {
1027	req, out := c.DeleteActivationRequest(input)
1028	req.SetContext(ctx)
1029	req.ApplyOptions(opts...)
1030	return out, req.Send()
1031}
1032
1033const opDeleteAssociation = "DeleteAssociation"
1034
1035// DeleteAssociationRequest generates a "aws/request.Request" representing the
1036// client's request for the DeleteAssociation operation. The "output" return
1037// value will be populated with the request's response once the request complets
1038// successfuly.
1039//
1040// Use "Send" method on the returned Request to send the API call to the service.
1041// the "output" return value is not valid until after Send returns without error.
1042//
1043// See DeleteAssociation for more information on using the DeleteAssociation
1044// API call, and error handling.
1045//
1046// This method is useful when you want to inject custom logic or configuration
1047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1048//
1049//
1050//    // Example sending a request using the DeleteAssociationRequest method.
1051//    req, resp := client.DeleteAssociationRequest(params)
1052//
1053//    err := req.Send()
1054//    if err == nil { // resp is now filled
1055//        fmt.Println(resp)
1056//    }
1057//
1058// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1059func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) {
1060	op := &request.Operation{
1061		Name:       opDeleteAssociation,
1062		HTTPMethod: "POST",
1063		HTTPPath:   "/",
1064	}
1065
1066	if input == nil {
1067		input = &DeleteAssociationInput{}
1068	}
1069
1070	output = &DeleteAssociationOutput{}
1071	req = c.newRequest(op, input, output)
1072	return
1073}
1074
1075// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM).
1076//
1077// Disassociates the specified Systems Manager document from the specified instance.
1078//
1079// When you disassociate a document from an instance, it does not change the
1080// configuration of the instance. To change the configuration state of an instance
1081// after you disassociate a document, you must create a new document with the
1082// desired configuration and associate it with the instance.
1083//
1084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1085// with awserr.Error's Code and Message methods to get detailed information about
1086// the error.
1087//
1088// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1089// API operation DeleteAssociation for usage and error information.
1090//
1091// Returned Error Codes:
1092//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
1093//   The specified association does not exist.
1094//
1095//   * ErrCodeInternalServerError "InternalServerError"
1096//   An error occurred on the server side.
1097//
1098//   * ErrCodeInvalidDocument "InvalidDocument"
1099//   The specified document does not exist.
1100//
1101//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
1102//   The following problems can cause this exception:
1103//
1104//   You do not have permission to access the instance.
1105//
1106//   The SSM Agent is not running. On managed instances and Linux instances, verify
1107//   that the SSM Agent is running. On EC2 Windows instances, verify that the
1108//   EC2Config service is running.
1109//
1110//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
1111//   Try reinstalling the SSM Agent or EC2Config service.
1112//
1113//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
1114//   Stopping. Invalid states are: Shutting-down and Terminated.
1115//
1116//   * ErrCodeTooManyUpdates "TooManyUpdates"
1117//   There are concurrent updates for a resource that supports one update at a
1118//   time.
1119//
1120// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1121func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) {
1122	req, out := c.DeleteAssociationRequest(input)
1123	return out, req.Send()
1124}
1125
1126// DeleteAssociationWithContext is the same as DeleteAssociation with the addition of
1127// the ability to pass a context and additional request options.
1128//
1129// See DeleteAssociation for details on how to use this API operation.
1130//
1131// The context must be non-nil and will be used for request cancellation. If
1132// the context is nil a panic will occur. In the future the SDK may create
1133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1134// for more information on using Contexts.
1135func (c *SSM) DeleteAssociationWithContext(ctx aws.Context, input *DeleteAssociationInput, opts ...request.Option) (*DeleteAssociationOutput, error) {
1136	req, out := c.DeleteAssociationRequest(input)
1137	req.SetContext(ctx)
1138	req.ApplyOptions(opts...)
1139	return out, req.Send()
1140}
1141
1142const opDeleteDocument = "DeleteDocument"
1143
1144// DeleteDocumentRequest generates a "aws/request.Request" representing the
1145// client's request for the DeleteDocument operation. The "output" return
1146// value will be populated with the request's response once the request complets
1147// successfuly.
1148//
1149// Use "Send" method on the returned Request to send the API call to the service.
1150// the "output" return value is not valid until after Send returns without error.
1151//
1152// See DeleteDocument for more information on using the DeleteDocument
1153// API call, and error handling.
1154//
1155// This method is useful when you want to inject custom logic or configuration
1156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1157//
1158//
1159//    // Example sending a request using the DeleteDocumentRequest method.
1160//    req, resp := client.DeleteDocumentRequest(params)
1161//
1162//    err := req.Send()
1163//    if err == nil { // resp is now filled
1164//        fmt.Println(resp)
1165//    }
1166//
1167// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1168func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1169	op := &request.Operation{
1170		Name:       opDeleteDocument,
1171		HTTPMethod: "POST",
1172		HTTPPath:   "/",
1173	}
1174
1175	if input == nil {
1176		input = &DeleteDocumentInput{}
1177	}
1178
1179	output = &DeleteDocumentOutput{}
1180	req = c.newRequest(op, input, output)
1181	return
1182}
1183
1184// DeleteDocument API operation for Amazon Simple Systems Manager (SSM).
1185//
1186// Deletes the Systems Manager document and all instance associations to the
1187// document.
1188//
1189// Before you delete the document, we recommend that you use DeleteAssociation
1190// to disassociate all instances that are associated with the document.
1191//
1192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1193// with awserr.Error's Code and Message methods to get detailed information about
1194// the error.
1195//
1196// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1197// API operation DeleteDocument for usage and error information.
1198//
1199// Returned Error Codes:
1200//   * ErrCodeInternalServerError "InternalServerError"
1201//   An error occurred on the server side.
1202//
1203//   * ErrCodeInvalidDocument "InvalidDocument"
1204//   The specified document does not exist.
1205//
1206//   * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation"
1207//   You attempted to delete a document while it is still shared. You must stop
1208//   sharing the document before you can delete it.
1209//
1210//   * ErrCodeAssociatedInstances "AssociatedInstances"
1211//   You must disassociate a document from all instances before you can delete
1212//   it.
1213//
1214// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1215func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1216	req, out := c.DeleteDocumentRequest(input)
1217	return out, req.Send()
1218}
1219
1220// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1221// the ability to pass a context and additional request options.
1222//
1223// See DeleteDocument for details on how to use this API operation.
1224//
1225// The context must be non-nil and will be used for request cancellation. If
1226// the context is nil a panic will occur. In the future the SDK may create
1227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1228// for more information on using Contexts.
1229func (c *SSM) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1230	req, out := c.DeleteDocumentRequest(input)
1231	req.SetContext(ctx)
1232	req.ApplyOptions(opts...)
1233	return out, req.Send()
1234}
1235
1236const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow"
1237
1238// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the
1239// client's request for the DeleteMaintenanceWindow operation. The "output" return
1240// value will be populated with the request's response once the request complets
1241// successfuly.
1242//
1243// Use "Send" method on the returned Request to send the API call to the service.
1244// the "output" return value is not valid until after Send returns without error.
1245//
1246// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow
1247// API call, and error handling.
1248//
1249// This method is useful when you want to inject custom logic or configuration
1250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1251//
1252//
1253//    // Example sending a request using the DeleteMaintenanceWindowRequest method.
1254//    req, resp := client.DeleteMaintenanceWindowRequest(params)
1255//
1256//    err := req.Send()
1257//    if err == nil { // resp is now filled
1258//        fmt.Println(resp)
1259//    }
1260//
1261// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1262func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) {
1263	op := &request.Operation{
1264		Name:       opDeleteMaintenanceWindow,
1265		HTTPMethod: "POST",
1266		HTTPPath:   "/",
1267	}
1268
1269	if input == nil {
1270		input = &DeleteMaintenanceWindowInput{}
1271	}
1272
1273	output = &DeleteMaintenanceWindowOutput{}
1274	req = c.newRequest(op, input, output)
1275	return
1276}
1277
1278// DeleteMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1279//
1280// Deletes a Maintenance Window.
1281//
1282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1283// with awserr.Error's Code and Message methods to get detailed information about
1284// the error.
1285//
1286// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1287// API operation DeleteMaintenanceWindow for usage and error information.
1288//
1289// Returned Error Codes:
1290//   * ErrCodeInternalServerError "InternalServerError"
1291//   An error occurred on the server side.
1292//
1293// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1294func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) {
1295	req, out := c.DeleteMaintenanceWindowRequest(input)
1296	return out, req.Send()
1297}
1298
1299// DeleteMaintenanceWindowWithContext is the same as DeleteMaintenanceWindow with the addition of
1300// the ability to pass a context and additional request options.
1301//
1302// See DeleteMaintenanceWindow for details on how to use this API operation.
1303//
1304// The context must be non-nil and will be used for request cancellation. If
1305// the context is nil a panic will occur. In the future the SDK may create
1306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1307// for more information on using Contexts.
1308func (c *SSM) DeleteMaintenanceWindowWithContext(ctx aws.Context, input *DeleteMaintenanceWindowInput, opts ...request.Option) (*DeleteMaintenanceWindowOutput, error) {
1309	req, out := c.DeleteMaintenanceWindowRequest(input)
1310	req.SetContext(ctx)
1311	req.ApplyOptions(opts...)
1312	return out, req.Send()
1313}
1314
1315const opDeleteParameter = "DeleteParameter"
1316
1317// DeleteParameterRequest generates a "aws/request.Request" representing the
1318// client's request for the DeleteParameter operation. The "output" return
1319// value will be populated with the request's response once the request complets
1320// successfuly.
1321//
1322// Use "Send" method on the returned Request to send the API call to the service.
1323// the "output" return value is not valid until after Send returns without error.
1324//
1325// See DeleteParameter for more information on using the DeleteParameter
1326// API call, and error handling.
1327//
1328// This method is useful when you want to inject custom logic or configuration
1329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1330//
1331//
1332//    // Example sending a request using the DeleteParameterRequest method.
1333//    req, resp := client.DeleteParameterRequest(params)
1334//
1335//    err := req.Send()
1336//    if err == nil { // resp is now filled
1337//        fmt.Println(resp)
1338//    }
1339//
1340// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1341func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) {
1342	op := &request.Operation{
1343		Name:       opDeleteParameter,
1344		HTTPMethod: "POST",
1345		HTTPPath:   "/",
1346	}
1347
1348	if input == nil {
1349		input = &DeleteParameterInput{}
1350	}
1351
1352	output = &DeleteParameterOutput{}
1353	req = c.newRequest(op, input, output)
1354	return
1355}
1356
1357// DeleteParameter API operation for Amazon Simple Systems Manager (SSM).
1358//
1359// Delete a parameter from the system.
1360//
1361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1362// with awserr.Error's Code and Message methods to get detailed information about
1363// the error.
1364//
1365// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1366// API operation DeleteParameter for usage and error information.
1367//
1368// Returned Error Codes:
1369//   * ErrCodeInternalServerError "InternalServerError"
1370//   An error occurred on the server side.
1371//
1372//   * ErrCodeParameterNotFound "ParameterNotFound"
1373//   The parameter could not be found. Verify the name and try again.
1374//
1375// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1376func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) {
1377	req, out := c.DeleteParameterRequest(input)
1378	return out, req.Send()
1379}
1380
1381// DeleteParameterWithContext is the same as DeleteParameter with the addition of
1382// the ability to pass a context and additional request options.
1383//
1384// See DeleteParameter for details on how to use this API operation.
1385//
1386// The context must be non-nil and will be used for request cancellation. If
1387// the context is nil a panic will occur. In the future the SDK may create
1388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1389// for more information on using Contexts.
1390func (c *SSM) DeleteParameterWithContext(ctx aws.Context, input *DeleteParameterInput, opts ...request.Option) (*DeleteParameterOutput, error) {
1391	req, out := c.DeleteParameterRequest(input)
1392	req.SetContext(ctx)
1393	req.ApplyOptions(opts...)
1394	return out, req.Send()
1395}
1396
1397const opDeleteParameters = "DeleteParameters"
1398
1399// DeleteParametersRequest generates a "aws/request.Request" representing the
1400// client's request for the DeleteParameters operation. The "output" return
1401// value will be populated with the request's response once the request complets
1402// successfuly.
1403//
1404// Use "Send" method on the returned Request to send the API call to the service.
1405// the "output" return value is not valid until after Send returns without error.
1406//
1407// See DeleteParameters for more information on using the DeleteParameters
1408// API call, and error handling.
1409//
1410// This method is useful when you want to inject custom logic or configuration
1411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1412//
1413//
1414//    // Example sending a request using the DeleteParametersRequest method.
1415//    req, resp := client.DeleteParametersRequest(params)
1416//
1417//    err := req.Send()
1418//    if err == nil { // resp is now filled
1419//        fmt.Println(resp)
1420//    }
1421//
1422// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1423func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *request.Request, output *DeleteParametersOutput) {
1424	op := &request.Operation{
1425		Name:       opDeleteParameters,
1426		HTTPMethod: "POST",
1427		HTTPPath:   "/",
1428	}
1429
1430	if input == nil {
1431		input = &DeleteParametersInput{}
1432	}
1433
1434	output = &DeleteParametersOutput{}
1435	req = c.newRequest(op, input, output)
1436	return
1437}
1438
1439// DeleteParameters API operation for Amazon Simple Systems Manager (SSM).
1440//
1441// Delete a list of parameters. This API is used to delete parameters by using
1442// the Amazon EC2 console.
1443//
1444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1445// with awserr.Error's Code and Message methods to get detailed information about
1446// the error.
1447//
1448// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1449// API operation DeleteParameters for usage and error information.
1450//
1451// Returned Error Codes:
1452//   * ErrCodeInternalServerError "InternalServerError"
1453//   An error occurred on the server side.
1454//
1455// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1456func (c *SSM) DeleteParameters(input *DeleteParametersInput) (*DeleteParametersOutput, error) {
1457	req, out := c.DeleteParametersRequest(input)
1458	return out, req.Send()
1459}
1460
1461// DeleteParametersWithContext is the same as DeleteParameters with the addition of
1462// the ability to pass a context and additional request options.
1463//
1464// See DeleteParameters for details on how to use this API operation.
1465//
1466// The context must be non-nil and will be used for request cancellation. If
1467// the context is nil a panic will occur. In the future the SDK may create
1468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1469// for more information on using Contexts.
1470func (c *SSM) DeleteParametersWithContext(ctx aws.Context, input *DeleteParametersInput, opts ...request.Option) (*DeleteParametersOutput, error) {
1471	req, out := c.DeleteParametersRequest(input)
1472	req.SetContext(ctx)
1473	req.ApplyOptions(opts...)
1474	return out, req.Send()
1475}
1476
1477const opDeletePatchBaseline = "DeletePatchBaseline"
1478
1479// DeletePatchBaselineRequest generates a "aws/request.Request" representing the
1480// client's request for the DeletePatchBaseline operation. The "output" return
1481// value will be populated with the request's response once the request complets
1482// successfuly.
1483//
1484// Use "Send" method on the returned Request to send the API call to the service.
1485// the "output" return value is not valid until after Send returns without error.
1486//
1487// See DeletePatchBaseline for more information on using the DeletePatchBaseline
1488// API call, and error handling.
1489//
1490// This method is useful when you want to inject custom logic or configuration
1491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1492//
1493//
1494//    // Example sending a request using the DeletePatchBaselineRequest method.
1495//    req, resp := client.DeletePatchBaselineRequest(params)
1496//
1497//    err := req.Send()
1498//    if err == nil { // resp is now filled
1499//        fmt.Println(resp)
1500//    }
1501//
1502// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1503func (c *SSM) DeletePatchBaselineRequest(input *DeletePatchBaselineInput) (req *request.Request, output *DeletePatchBaselineOutput) {
1504	op := &request.Operation{
1505		Name:       opDeletePatchBaseline,
1506		HTTPMethod: "POST",
1507		HTTPPath:   "/",
1508	}
1509
1510	if input == nil {
1511		input = &DeletePatchBaselineInput{}
1512	}
1513
1514	output = &DeletePatchBaselineOutput{}
1515	req = c.newRequest(op, input, output)
1516	return
1517}
1518
1519// DeletePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
1520//
1521// Deletes a patch baseline.
1522//
1523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1524// with awserr.Error's Code and Message methods to get detailed information about
1525// the error.
1526//
1527// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1528// API operation DeletePatchBaseline for usage and error information.
1529//
1530// Returned Error Codes:
1531//   * ErrCodeResourceInUseException "ResourceInUseException"
1532//   Error returned if an attempt is made to delete a patch baseline that is registered
1533//   for a patch group.
1534//
1535//   * ErrCodeInternalServerError "InternalServerError"
1536//   An error occurred on the server side.
1537//
1538// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1539func (c *SSM) DeletePatchBaseline(input *DeletePatchBaselineInput) (*DeletePatchBaselineOutput, error) {
1540	req, out := c.DeletePatchBaselineRequest(input)
1541	return out, req.Send()
1542}
1543
1544// DeletePatchBaselineWithContext is the same as DeletePatchBaseline with the addition of
1545// the ability to pass a context and additional request options.
1546//
1547// See DeletePatchBaseline for details on how to use this API operation.
1548//
1549// The context must be non-nil and will be used for request cancellation. If
1550// the context is nil a panic will occur. In the future the SDK may create
1551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1552// for more information on using Contexts.
1553func (c *SSM) DeletePatchBaselineWithContext(ctx aws.Context, input *DeletePatchBaselineInput, opts ...request.Option) (*DeletePatchBaselineOutput, error) {
1554	req, out := c.DeletePatchBaselineRequest(input)
1555	req.SetContext(ctx)
1556	req.ApplyOptions(opts...)
1557	return out, req.Send()
1558}
1559
1560const opDeleteResourceDataSync = "DeleteResourceDataSync"
1561
1562// DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the
1563// client's request for the DeleteResourceDataSync operation. The "output" return
1564// value will be populated with the request's response once the request complets
1565// successfuly.
1566//
1567// Use "Send" method on the returned Request to send the API call to the service.
1568// the "output" return value is not valid until after Send returns without error.
1569//
1570// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync
1571// API call, and error handling.
1572//
1573// This method is useful when you want to inject custom logic or configuration
1574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1575//
1576//
1577//    // Example sending a request using the DeleteResourceDataSyncRequest method.
1578//    req, resp := client.DeleteResourceDataSyncRequest(params)
1579//
1580//    err := req.Send()
1581//    if err == nil { // resp is now filled
1582//        fmt.Println(resp)
1583//    }
1584//
1585// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1586func (c *SSM) DeleteResourceDataSyncRequest(input *DeleteResourceDataSyncInput) (req *request.Request, output *DeleteResourceDataSyncOutput) {
1587	op := &request.Operation{
1588		Name:       opDeleteResourceDataSync,
1589		HTTPMethod: "POST",
1590		HTTPPath:   "/",
1591	}
1592
1593	if input == nil {
1594		input = &DeleteResourceDataSyncInput{}
1595	}
1596
1597	output = &DeleteResourceDataSyncOutput{}
1598	req = c.newRequest(op, input, output)
1599	return
1600}
1601
1602// DeleteResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1603//
1604// Deletes a Resource Data Sync configuration. After the configuration is deleted,
1605// changes to inventory data on managed instances are no longer synced with
1606// the target Amazon S3 bucket. Deleting a sync configuration does not delete
1607// data in the target Amazon S3 bucket.
1608//
1609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1610// with awserr.Error's Code and Message methods to get detailed information about
1611// the error.
1612//
1613// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1614// API operation DeleteResourceDataSync for usage and error information.
1615//
1616// Returned Error Codes:
1617//   * ErrCodeInternalServerError "InternalServerError"
1618//   An error occurred on the server side.
1619//
1620//   * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException"
1621//   The specified sync name was not found.
1622//
1623// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1624func (c *SSM) DeleteResourceDataSync(input *DeleteResourceDataSyncInput) (*DeleteResourceDataSyncOutput, error) {
1625	req, out := c.DeleteResourceDataSyncRequest(input)
1626	return out, req.Send()
1627}
1628
1629// DeleteResourceDataSyncWithContext is the same as DeleteResourceDataSync with the addition of
1630// the ability to pass a context and additional request options.
1631//
1632// See DeleteResourceDataSync for details on how to use this API operation.
1633//
1634// The context must be non-nil and will be used for request cancellation. If
1635// the context is nil a panic will occur. In the future the SDK may create
1636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1637// for more information on using Contexts.
1638func (c *SSM) DeleteResourceDataSyncWithContext(ctx aws.Context, input *DeleteResourceDataSyncInput, opts ...request.Option) (*DeleteResourceDataSyncOutput, error) {
1639	req, out := c.DeleteResourceDataSyncRequest(input)
1640	req.SetContext(ctx)
1641	req.ApplyOptions(opts...)
1642	return out, req.Send()
1643}
1644
1645const opDeregisterManagedInstance = "DeregisterManagedInstance"
1646
1647// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the
1648// client's request for the DeregisterManagedInstance operation. The "output" return
1649// value will be populated with the request's response once the request complets
1650// successfuly.
1651//
1652// Use "Send" method on the returned Request to send the API call to the service.
1653// the "output" return value is not valid until after Send returns without error.
1654//
1655// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance
1656// API call, and error handling.
1657//
1658// This method is useful when you want to inject custom logic or configuration
1659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1660//
1661//
1662//    // Example sending a request using the DeregisterManagedInstanceRequest method.
1663//    req, resp := client.DeregisterManagedInstanceRequest(params)
1664//
1665//    err := req.Send()
1666//    if err == nil { // resp is now filled
1667//        fmt.Println(resp)
1668//    }
1669//
1670// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
1671func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) {
1672	op := &request.Operation{
1673		Name:       opDeregisterManagedInstance,
1674		HTTPMethod: "POST",
1675		HTTPPath:   "/",
1676	}
1677
1678	if input == nil {
1679		input = &DeregisterManagedInstanceInput{}
1680	}
1681
1682	output = &DeregisterManagedInstanceOutput{}
1683	req = c.newRequest(op, input, output)
1684	return
1685}
1686
1687// DeregisterManagedInstance API operation for Amazon Simple Systems Manager (SSM).
1688//
1689// Removes the server or virtual machine from the list of registered servers.
1690// You can reregister the instance again at any time. If you don't plan to use
1691// Run Command on the server, we suggest uninstalling the SSM Agent first.
1692//
1693// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1694// with awserr.Error's Code and Message methods to get detailed information about
1695// the error.
1696//
1697// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1698// API operation DeregisterManagedInstance for usage and error information.
1699//
1700// Returned Error Codes:
1701//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
1702//   The following problems can cause this exception:
1703//
1704//   You do not have permission to access the instance.
1705//
1706//   The SSM Agent is not running. On managed instances and Linux instances, verify
1707//   that the SSM Agent is running. On EC2 Windows instances, verify that the
1708//   EC2Config service is running.
1709//
1710//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
1711//   Try reinstalling the SSM Agent or EC2Config service.
1712//
1713//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
1714//   Stopping. Invalid states are: Shutting-down and Terminated.
1715//
1716//   * ErrCodeInternalServerError "InternalServerError"
1717//   An error occurred on the server side.
1718//
1719// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
1720func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) {
1721	req, out := c.DeregisterManagedInstanceRequest(input)
1722	return out, req.Send()
1723}
1724
1725// DeregisterManagedInstanceWithContext is the same as DeregisterManagedInstance with the addition of
1726// the ability to pass a context and additional request options.
1727//
1728// See DeregisterManagedInstance for details on how to use this API operation.
1729//
1730// The context must be non-nil and will be used for request cancellation. If
1731// the context is nil a panic will occur. In the future the SDK may create
1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1733// for more information on using Contexts.
1734func (c *SSM) DeregisterManagedInstanceWithContext(ctx aws.Context, input *DeregisterManagedInstanceInput, opts ...request.Option) (*DeregisterManagedInstanceOutput, error) {
1735	req, out := c.DeregisterManagedInstanceRequest(input)
1736	req.SetContext(ctx)
1737	req.ApplyOptions(opts...)
1738	return out, req.Send()
1739}
1740
1741const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchGroup"
1742
1743// DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
1744// client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return
1745// value will be populated with the request's response once the request complets
1746// successfuly.
1747//
1748// Use "Send" method on the returned Request to send the API call to the service.
1749// the "output" return value is not valid until after Send returns without error.
1750//
1751// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup
1752// API call, and error handling.
1753//
1754// This method is useful when you want to inject custom logic or configuration
1755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1756//
1757//
1758//    // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method.
1759//    req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params)
1760//
1761//    err := req.Send()
1762//    if err == nil { // resp is now filled
1763//        fmt.Println(resp)
1764//    }
1765//
1766// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
1767func (c *SSM) DeregisterPatchBaselineForPatchGroupRequest(input *DeregisterPatchBaselineForPatchGroupInput) (req *request.Request, output *DeregisterPatchBaselineForPatchGroupOutput) {
1768	op := &request.Operation{
1769		Name:       opDeregisterPatchBaselineForPatchGroup,
1770		HTTPMethod: "POST",
1771		HTTPPath:   "/",
1772	}
1773
1774	if input == nil {
1775		input = &DeregisterPatchBaselineForPatchGroupInput{}
1776	}
1777
1778	output = &DeregisterPatchBaselineForPatchGroupOutput{}
1779	req = c.newRequest(op, input, output)
1780	return
1781}
1782
1783// DeregisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
1784//
1785// Removes a patch group from a patch baseline.
1786//
1787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1788// with awserr.Error's Code and Message methods to get detailed information about
1789// the error.
1790//
1791// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1792// API operation DeregisterPatchBaselineForPatchGroup for usage and error information.
1793//
1794// Returned Error Codes:
1795//   * ErrCodeInvalidResourceId "InvalidResourceId"
1796//   The resource ID is not valid. Verify that you entered the correct ID and
1797//   try again.
1798//
1799//   * ErrCodeInternalServerError "InternalServerError"
1800//   An error occurred on the server side.
1801//
1802// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
1803func (c *SSM) DeregisterPatchBaselineForPatchGroup(input *DeregisterPatchBaselineForPatchGroupInput) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
1804	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
1805	return out, req.Send()
1806}
1807
1808// DeregisterPatchBaselineForPatchGroupWithContext is the same as DeregisterPatchBaselineForPatchGroup with the addition of
1809// the ability to pass a context and additional request options.
1810//
1811// See DeregisterPatchBaselineForPatchGroup for details on how to use this API operation.
1812//
1813// The context must be non-nil and will be used for request cancellation. If
1814// the context is nil a panic will occur. In the future the SDK may create
1815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1816// for more information on using Contexts.
1817func (c *SSM) DeregisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *DeregisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
1818	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
1819	req.SetContext(ctx)
1820	req.ApplyOptions(opts...)
1821	return out, req.Send()
1822}
1823
1824const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow"
1825
1826// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
1827// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return
1828// value will be populated with the request's response once the request complets
1829// successfuly.
1830//
1831// Use "Send" method on the returned Request to send the API call to the service.
1832// the "output" return value is not valid until after Send returns without error.
1833//
1834// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow
1835// API call, and error handling.
1836//
1837// This method is useful when you want to inject custom logic or configuration
1838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1839//
1840//
1841//    // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method.
1842//    req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params)
1843//
1844//    err := req.Send()
1845//    if err == nil { // resp is now filled
1846//        fmt.Println(resp)
1847//    }
1848//
1849// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
1850func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) {
1851	op := &request.Operation{
1852		Name:       opDeregisterTargetFromMaintenanceWindow,
1853		HTTPMethod: "POST",
1854		HTTPPath:   "/",
1855	}
1856
1857	if input == nil {
1858		input = &DeregisterTargetFromMaintenanceWindowInput{}
1859	}
1860
1861	output = &DeregisterTargetFromMaintenanceWindowOutput{}
1862	req = c.newRequest(op, input, output)
1863	return
1864}
1865
1866// DeregisterTargetFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1867//
1868// Removes a target from a Maintenance Window.
1869//
1870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1871// with awserr.Error's Code and Message methods to get detailed information about
1872// the error.
1873//
1874// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1875// API operation DeregisterTargetFromMaintenanceWindow for usage and error information.
1876//
1877// Returned Error Codes:
1878//   * ErrCodeDoesNotExistException "DoesNotExistException"
1879//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
1880//   doesn't exist.
1881//
1882//   * ErrCodeInternalServerError "InternalServerError"
1883//   An error occurred on the server side.
1884//
1885//   * ErrCodeTargetInUseException "TargetInUseException"
1886//   You specified the Safe option for the DeregisterTargetFromMaintenanceWindow
1887//   operation, but the target is still referenced in a task.
1888//
1889// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
1890func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
1891	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
1892	return out, req.Send()
1893}
1894
1895// DeregisterTargetFromMaintenanceWindowWithContext is the same as DeregisterTargetFromMaintenanceWindow with the addition of
1896// the ability to pass a context and additional request options.
1897//
1898// See DeregisterTargetFromMaintenanceWindow for details on how to use this API operation.
1899//
1900// The context must be non-nil and will be used for request cancellation. If
1901// the context is nil a panic will occur. In the future the SDK may create
1902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1903// for more information on using Contexts.
1904func (c *SSM) DeregisterTargetFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTargetFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
1905	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
1906	req.SetContext(ctx)
1907	req.ApplyOptions(opts...)
1908	return out, req.Send()
1909}
1910
1911const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow"
1912
1913// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
1914// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return
1915// value will be populated with the request's response once the request complets
1916// successfuly.
1917//
1918// Use "Send" method on the returned Request to send the API call to the service.
1919// the "output" return value is not valid until after Send returns without error.
1920//
1921// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow
1922// API call, and error handling.
1923//
1924// This method is useful when you want to inject custom logic or configuration
1925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1926//
1927//
1928//    // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method.
1929//    req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params)
1930//
1931//    err := req.Send()
1932//    if err == nil { // resp is now filled
1933//        fmt.Println(resp)
1934//    }
1935//
1936// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
1937func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) {
1938	op := &request.Operation{
1939		Name:       opDeregisterTaskFromMaintenanceWindow,
1940		HTTPMethod: "POST",
1941		HTTPPath:   "/",
1942	}
1943
1944	if input == nil {
1945		input = &DeregisterTaskFromMaintenanceWindowInput{}
1946	}
1947
1948	output = &DeregisterTaskFromMaintenanceWindowOutput{}
1949	req = c.newRequest(op, input, output)
1950	return
1951}
1952
1953// DeregisterTaskFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1954//
1955// Removes a task from a Maintenance Window.
1956//
1957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1958// with awserr.Error's Code and Message methods to get detailed information about
1959// the error.
1960//
1961// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1962// API operation DeregisterTaskFromMaintenanceWindow for usage and error information.
1963//
1964// Returned Error Codes:
1965//   * ErrCodeDoesNotExistException "DoesNotExistException"
1966//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
1967//   doesn't exist.
1968//
1969//   * ErrCodeInternalServerError "InternalServerError"
1970//   An error occurred on the server side.
1971//
1972// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
1973func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
1974	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
1975	return out, req.Send()
1976}
1977
1978// DeregisterTaskFromMaintenanceWindowWithContext is the same as DeregisterTaskFromMaintenanceWindow with the addition of
1979// the ability to pass a context and additional request options.
1980//
1981// See DeregisterTaskFromMaintenanceWindow for details on how to use this API operation.
1982//
1983// The context must be non-nil and will be used for request cancellation. If
1984// the context is nil a panic will occur. In the future the SDK may create
1985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1986// for more information on using Contexts.
1987func (c *SSM) DeregisterTaskFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTaskFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
1988	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
1989	req.SetContext(ctx)
1990	req.ApplyOptions(opts...)
1991	return out, req.Send()
1992}
1993
1994const opDescribeActivations = "DescribeActivations"
1995
1996// DescribeActivationsRequest generates a "aws/request.Request" representing the
1997// client's request for the DescribeActivations operation. The "output" return
1998// value will be populated with the request's response once the request complets
1999// successfuly.
2000//
2001// Use "Send" method on the returned Request to send the API call to the service.
2002// the "output" return value is not valid until after Send returns without error.
2003//
2004// See DescribeActivations for more information on using the DescribeActivations
2005// API call, and error handling.
2006//
2007// This method is useful when you want to inject custom logic or configuration
2008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2009//
2010//
2011//    // Example sending a request using the DescribeActivationsRequest method.
2012//    req, resp := client.DescribeActivationsRequest(params)
2013//
2014//    err := req.Send()
2015//    if err == nil { // resp is now filled
2016//        fmt.Println(resp)
2017//    }
2018//
2019// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2020func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) {
2021	op := &request.Operation{
2022		Name:       opDescribeActivations,
2023		HTTPMethod: "POST",
2024		HTTPPath:   "/",
2025		Paginator: &request.Paginator{
2026			InputTokens:     []string{"NextToken"},
2027			OutputTokens:    []string{"NextToken"},
2028			LimitToken:      "MaxResults",
2029			TruncationToken: "",
2030		},
2031	}
2032
2033	if input == nil {
2034		input = &DescribeActivationsInput{}
2035	}
2036
2037	output = &DescribeActivationsOutput{}
2038	req = c.newRequest(op, input, output)
2039	return
2040}
2041
2042// DescribeActivations API operation for Amazon Simple Systems Manager (SSM).
2043//
2044// Details about the activation, including: the date and time the activation
2045// was created, the expiration date, the IAM role assigned to the instances
2046// in the activation, and the number of instances activated by this registration.
2047//
2048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2049// with awserr.Error's Code and Message methods to get detailed information about
2050// the error.
2051//
2052// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2053// API operation DescribeActivations for usage and error information.
2054//
2055// Returned Error Codes:
2056//   * ErrCodeInvalidFilter "InvalidFilter"
2057//   The filter name is not valid. Verify the you entered the correct name and
2058//   try again.
2059//
2060//   * ErrCodeInvalidNextToken "InvalidNextToken"
2061//   The specified token is not valid.
2062//
2063//   * ErrCodeInternalServerError "InternalServerError"
2064//   An error occurred on the server side.
2065//
2066// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2067func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) {
2068	req, out := c.DescribeActivationsRequest(input)
2069	return out, req.Send()
2070}
2071
2072// DescribeActivationsWithContext is the same as DescribeActivations with the addition of
2073// the ability to pass a context and additional request options.
2074//
2075// See DescribeActivations for details on how to use this API operation.
2076//
2077// The context must be non-nil and will be used for request cancellation. If
2078// the context is nil a panic will occur. In the future the SDK may create
2079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2080// for more information on using Contexts.
2081func (c *SSM) DescribeActivationsWithContext(ctx aws.Context, input *DescribeActivationsInput, opts ...request.Option) (*DescribeActivationsOutput, error) {
2082	req, out := c.DescribeActivationsRequest(input)
2083	req.SetContext(ctx)
2084	req.ApplyOptions(opts...)
2085	return out, req.Send()
2086}
2087
2088// DescribeActivationsPages iterates over the pages of a DescribeActivations operation,
2089// calling the "fn" function with the response data for each page. To stop
2090// iterating, return false from the fn function.
2091//
2092// See DescribeActivations method for more information on how to use this operation.
2093//
2094// Note: This operation can generate multiple requests to a service.
2095//
2096//    // Example iterating over at most 3 pages of a DescribeActivations operation.
2097//    pageNum := 0
2098//    err := client.DescribeActivationsPages(params,
2099//        func(page *DescribeActivationsOutput, lastPage bool) bool {
2100//            pageNum++
2101//            fmt.Println(page)
2102//            return pageNum <= 3
2103//        })
2104//
2105func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool) error {
2106	return c.DescribeActivationsPagesWithContext(aws.BackgroundContext(), input, fn)
2107}
2108
2109// DescribeActivationsPagesWithContext same as DescribeActivationsPages except
2110// it takes a Context and allows setting request options on the pages.
2111//
2112// The context must be non-nil and will be used for request cancellation. If
2113// the context is nil a panic will occur. In the future the SDK may create
2114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2115// for more information on using Contexts.
2116func (c *SSM) DescribeActivationsPagesWithContext(ctx aws.Context, input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool, opts ...request.Option) error {
2117	p := request.Pagination{
2118		NewRequest: func() (*request.Request, error) {
2119			var inCpy *DescribeActivationsInput
2120			if input != nil {
2121				tmp := *input
2122				inCpy = &tmp
2123			}
2124			req, _ := c.DescribeActivationsRequest(inCpy)
2125			req.SetContext(ctx)
2126			req.ApplyOptions(opts...)
2127			return req, nil
2128		},
2129	}
2130
2131	cont := true
2132	for p.Next() && cont {
2133		cont = fn(p.Page().(*DescribeActivationsOutput), !p.HasNextPage())
2134	}
2135	return p.Err()
2136}
2137
2138const opDescribeAssociation = "DescribeAssociation"
2139
2140// DescribeAssociationRequest generates a "aws/request.Request" representing the
2141// client's request for the DescribeAssociation operation. The "output" return
2142// value will be populated with the request's response once the request complets
2143// successfuly.
2144//
2145// Use "Send" method on the returned Request to send the API call to the service.
2146// the "output" return value is not valid until after Send returns without error.
2147//
2148// See DescribeAssociation for more information on using the DescribeAssociation
2149// API call, and error handling.
2150//
2151// This method is useful when you want to inject custom logic or configuration
2152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2153//
2154//
2155//    // Example sending a request using the DescribeAssociationRequest method.
2156//    req, resp := client.DescribeAssociationRequest(params)
2157//
2158//    err := req.Send()
2159//    if err == nil { // resp is now filled
2160//        fmt.Println(resp)
2161//    }
2162//
2163// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2164func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) {
2165	op := &request.Operation{
2166		Name:       opDescribeAssociation,
2167		HTTPMethod: "POST",
2168		HTTPPath:   "/",
2169	}
2170
2171	if input == nil {
2172		input = &DescribeAssociationInput{}
2173	}
2174
2175	output = &DescribeAssociationOutput{}
2176	req = c.newRequest(op, input, output)
2177	return
2178}
2179
2180// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM).
2181//
2182// Describes the associations for the specified Systems Manager document or
2183// instance.
2184//
2185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2186// with awserr.Error's Code and Message methods to get detailed information about
2187// the error.
2188//
2189// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2190// API operation DescribeAssociation for usage and error information.
2191//
2192// Returned Error Codes:
2193//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2194//   The specified association does not exist.
2195//
2196//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
2197//   The version you specified is not valid. Use ListAssociationVersions to view
2198//   all versions of an association according to the association ID. Or, use the
2199//   $LATEST parameter to view the latest version of the association.
2200//
2201//   * ErrCodeInternalServerError "InternalServerError"
2202//   An error occurred on the server side.
2203//
2204//   * ErrCodeInvalidDocument "InvalidDocument"
2205//   The specified document does not exist.
2206//
2207//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2208//   The following problems can cause this exception:
2209//
2210//   You do not have permission to access the instance.
2211//
2212//   The SSM Agent is not running. On managed instances and Linux instances, verify
2213//   that the SSM Agent is running. On EC2 Windows instances, verify that the
2214//   EC2Config service is running.
2215//
2216//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
2217//   Try reinstalling the SSM Agent or EC2Config service.
2218//
2219//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2220//   Stopping. Invalid states are: Shutting-down and Terminated.
2221//
2222// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2223func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) {
2224	req, out := c.DescribeAssociationRequest(input)
2225	return out, req.Send()
2226}
2227
2228// DescribeAssociationWithContext is the same as DescribeAssociation with the addition of
2229// the ability to pass a context and additional request options.
2230//
2231// See DescribeAssociation for details on how to use this API operation.
2232//
2233// The context must be non-nil and will be used for request cancellation. If
2234// the context is nil a panic will occur. In the future the SDK may create
2235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2236// for more information on using Contexts.
2237func (c *SSM) DescribeAssociationWithContext(ctx aws.Context, input *DescribeAssociationInput, opts ...request.Option) (*DescribeAssociationOutput, error) {
2238	req, out := c.DescribeAssociationRequest(input)
2239	req.SetContext(ctx)
2240	req.ApplyOptions(opts...)
2241	return out, req.Send()
2242}
2243
2244const opDescribeAutomationExecutions = "DescribeAutomationExecutions"
2245
2246// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the
2247// client's request for the DescribeAutomationExecutions operation. The "output" return
2248// value will be populated with the request's response once the request complets
2249// successfuly.
2250//
2251// Use "Send" method on the returned Request to send the API call to the service.
2252// the "output" return value is not valid until after Send returns without error.
2253//
2254// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions
2255// API call, and error handling.
2256//
2257// This method is useful when you want to inject custom logic or configuration
2258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2259//
2260//
2261//    // Example sending a request using the DescribeAutomationExecutionsRequest method.
2262//    req, resp := client.DescribeAutomationExecutionsRequest(params)
2263//
2264//    err := req.Send()
2265//    if err == nil { // resp is now filled
2266//        fmt.Println(resp)
2267//    }
2268//
2269// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2270func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) {
2271	op := &request.Operation{
2272		Name:       opDescribeAutomationExecutions,
2273		HTTPMethod: "POST",
2274		HTTPPath:   "/",
2275	}
2276
2277	if input == nil {
2278		input = &DescribeAutomationExecutionsInput{}
2279	}
2280
2281	output = &DescribeAutomationExecutionsOutput{}
2282	req = c.newRequest(op, input, output)
2283	return
2284}
2285
2286// DescribeAutomationExecutions API operation for Amazon Simple Systems Manager (SSM).
2287//
2288// Provides details about all active and terminated Automation executions.
2289//
2290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2291// with awserr.Error's Code and Message methods to get detailed information about
2292// the error.
2293//
2294// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2295// API operation DescribeAutomationExecutions for usage and error information.
2296//
2297// Returned Error Codes:
2298//   * ErrCodeInvalidNextToken "InvalidNextToken"
2299//   The specified token is not valid.
2300//
2301//   * ErrCodeInternalServerError "InternalServerError"
2302//   An error occurred on the server side.
2303//
2304// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2305func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) {
2306	req, out := c.DescribeAutomationExecutionsRequest(input)
2307	return out, req.Send()
2308}
2309
2310// DescribeAutomationExecutionsWithContext is the same as DescribeAutomationExecutions with the addition of
2311// the ability to pass a context and additional request options.
2312//
2313// See DescribeAutomationExecutions for details on how to use this API operation.
2314//
2315// The context must be non-nil and will be used for request cancellation. If
2316// the context is nil a panic will occur. In the future the SDK may create
2317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2318// for more information on using Contexts.
2319func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, opts ...request.Option) (*DescribeAutomationExecutionsOutput, error) {
2320	req, out := c.DescribeAutomationExecutionsRequest(input)
2321	req.SetContext(ctx)
2322	req.ApplyOptions(opts...)
2323	return out, req.Send()
2324}
2325
2326const opDescribeAvailablePatches = "DescribeAvailablePatches"
2327
2328// DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the
2329// client's request for the DescribeAvailablePatches operation. The "output" return
2330// value will be populated with the request's response once the request complets
2331// successfuly.
2332//
2333// Use "Send" method on the returned Request to send the API call to the service.
2334// the "output" return value is not valid until after Send returns without error.
2335//
2336// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches
2337// API call, and error handling.
2338//
2339// This method is useful when you want to inject custom logic or configuration
2340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2341//
2342//
2343//    // Example sending a request using the DescribeAvailablePatchesRequest method.
2344//    req, resp := client.DescribeAvailablePatchesRequest(params)
2345//
2346//    err := req.Send()
2347//    if err == nil { // resp is now filled
2348//        fmt.Println(resp)
2349//    }
2350//
2351// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2352func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInput) (req *request.Request, output *DescribeAvailablePatchesOutput) {
2353	op := &request.Operation{
2354		Name:       opDescribeAvailablePatches,
2355		HTTPMethod: "POST",
2356		HTTPPath:   "/",
2357	}
2358
2359	if input == nil {
2360		input = &DescribeAvailablePatchesInput{}
2361	}
2362
2363	output = &DescribeAvailablePatchesOutput{}
2364	req = c.newRequest(op, input, output)
2365	return
2366}
2367
2368// DescribeAvailablePatches API operation for Amazon Simple Systems Manager (SSM).
2369//
2370// Lists all patches that could possibly be included in a patch baseline.
2371//
2372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2373// with awserr.Error's Code and Message methods to get detailed information about
2374// the error.
2375//
2376// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2377// API operation DescribeAvailablePatches for usage and error information.
2378//
2379// Returned Error Codes:
2380//   * ErrCodeInternalServerError "InternalServerError"
2381//   An error occurred on the server side.
2382//
2383// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2384func (c *SSM) DescribeAvailablePatches(input *DescribeAvailablePatchesInput) (*DescribeAvailablePatchesOutput, error) {
2385	req, out := c.DescribeAvailablePatchesRequest(input)
2386	return out, req.Send()
2387}
2388
2389// DescribeAvailablePatchesWithContext is the same as DescribeAvailablePatches with the addition of
2390// the ability to pass a context and additional request options.
2391//
2392// See DescribeAvailablePatches for details on how to use this API operation.
2393//
2394// The context must be non-nil and will be used for request cancellation. If
2395// the context is nil a panic will occur. In the future the SDK may create
2396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2397// for more information on using Contexts.
2398func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, opts ...request.Option) (*DescribeAvailablePatchesOutput, error) {
2399	req, out := c.DescribeAvailablePatchesRequest(input)
2400	req.SetContext(ctx)
2401	req.ApplyOptions(opts...)
2402	return out, req.Send()
2403}
2404
2405const opDescribeDocument = "DescribeDocument"
2406
2407// DescribeDocumentRequest generates a "aws/request.Request" representing the
2408// client's request for the DescribeDocument operation. The "output" return
2409// value will be populated with the request's response once the request complets
2410// successfuly.
2411//
2412// Use "Send" method on the returned Request to send the API call to the service.
2413// the "output" return value is not valid until after Send returns without error.
2414//
2415// See DescribeDocument for more information on using the DescribeDocument
2416// API call, and error handling.
2417//
2418// This method is useful when you want to inject custom logic or configuration
2419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2420//
2421//
2422//    // Example sending a request using the DescribeDocumentRequest method.
2423//    req, resp := client.DescribeDocumentRequest(params)
2424//
2425//    err := req.Send()
2426//    if err == nil { // resp is now filled
2427//        fmt.Println(resp)
2428//    }
2429//
2430// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
2431func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) {
2432	op := &request.Operation{
2433		Name:       opDescribeDocument,
2434		HTTPMethod: "POST",
2435		HTTPPath:   "/",
2436	}
2437
2438	if input == nil {
2439		input = &DescribeDocumentInput{}
2440	}
2441
2442	output = &DescribeDocumentOutput{}
2443	req = c.newRequest(op, input, output)
2444	return
2445}
2446
2447// DescribeDocument API operation for Amazon Simple Systems Manager (SSM).
2448//
2449// Describes the specified Systems Manager document.
2450//
2451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2452// with awserr.Error's Code and Message methods to get detailed information about
2453// the error.
2454//
2455// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2456// API operation DescribeDocument for usage and error information.
2457//
2458// Returned Error Codes:
2459//   * ErrCodeInternalServerError "InternalServerError"
2460//   An error occurred on the server side.
2461//
2462//   * ErrCodeInvalidDocument "InvalidDocument"
2463//   The specified document does not exist.
2464//
2465//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
2466//   The document version is not valid or does not exist.
2467//
2468// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
2469func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) {
2470	req, out := c.DescribeDocumentRequest(input)
2471	return out, req.Send()
2472}
2473
2474// DescribeDocumentWithContext is the same as DescribeDocument with the addition of
2475// the ability to pass a context and additional request options.
2476//
2477// See DescribeDocument for details on how to use this API operation.
2478//
2479// The context must be non-nil and will be used for request cancellation. If
2480// the context is nil a panic will occur. In the future the SDK may create
2481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2482// for more information on using Contexts.
2483func (c *SSM) DescribeDocumentWithContext(ctx aws.Context, input *DescribeDocumentInput, opts ...request.Option) (*DescribeDocumentOutput, error) {
2484	req, out := c.DescribeDocumentRequest(input)
2485	req.SetContext(ctx)
2486	req.ApplyOptions(opts...)
2487	return out, req.Send()
2488}
2489
2490const opDescribeDocumentPermission = "DescribeDocumentPermission"
2491
2492// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the
2493// client's request for the DescribeDocumentPermission operation. The "output" return
2494// value will be populated with the request's response once the request complets
2495// successfuly.
2496//
2497// Use "Send" method on the returned Request to send the API call to the service.
2498// the "output" return value is not valid until after Send returns without error.
2499//
2500// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission
2501// API call, and error handling.
2502//
2503// This method is useful when you want to inject custom logic or configuration
2504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2505//
2506//
2507//    // Example sending a request using the DescribeDocumentPermissionRequest method.
2508//    req, resp := client.DescribeDocumentPermissionRequest(params)
2509//
2510//    err := req.Send()
2511//    if err == nil { // resp is now filled
2512//        fmt.Println(resp)
2513//    }
2514//
2515// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
2516func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) {
2517	op := &request.Operation{
2518		Name:       opDescribeDocumentPermission,
2519		HTTPMethod: "POST",
2520		HTTPPath:   "/",
2521	}
2522
2523	if input == nil {
2524		input = &DescribeDocumentPermissionInput{}
2525	}
2526
2527	output = &DescribeDocumentPermissionOutput{}
2528	req = c.newRequest(op, input, output)
2529	return
2530}
2531
2532// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
2533//
2534// Describes the permissions for a Systems Manager document. If you created
2535// the document, you are the owner. If a document is shared, it can either be
2536// shared privately (by specifying a user's AWS account ID) or publicly (All).
2537//
2538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2539// with awserr.Error's Code and Message methods to get detailed information about
2540// the error.
2541//
2542// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2543// API operation DescribeDocumentPermission for usage and error information.
2544//
2545// Returned Error Codes:
2546//   * ErrCodeInternalServerError "InternalServerError"
2547//   An error occurred on the server side.
2548//
2549//   * ErrCodeInvalidDocument "InvalidDocument"
2550//   The specified document does not exist.
2551//
2552//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
2553//   The permission type is not supported. Share is the only supported permission
2554//   type.
2555//
2556// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
2557func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) {
2558	req, out := c.DescribeDocumentPermissionRequest(input)
2559	return out, req.Send()
2560}
2561
2562// DescribeDocumentPermissionWithContext is the same as DescribeDocumentPermission with the addition of
2563// the ability to pass a context and additional request options.
2564//
2565// See DescribeDocumentPermission for details on how to use this API operation.
2566//
2567// The context must be non-nil and will be used for request cancellation. If
2568// the context is nil a panic will occur. In the future the SDK may create
2569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2570// for more information on using Contexts.
2571func (c *SSM) DescribeDocumentPermissionWithContext(ctx aws.Context, input *DescribeDocumentPermissionInput, opts ...request.Option) (*DescribeDocumentPermissionOutput, error) {
2572	req, out := c.DescribeDocumentPermissionRequest(input)
2573	req.SetContext(ctx)
2574	req.ApplyOptions(opts...)
2575	return out, req.Send()
2576}
2577
2578const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations"
2579
2580// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the
2581// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return
2582// value will be populated with the request's response once the request complets
2583// successfuly.
2584//
2585// Use "Send" method on the returned Request to send the API call to the service.
2586// the "output" return value is not valid until after Send returns without error.
2587//
2588// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations
2589// API call, and error handling.
2590//
2591// This method is useful when you want to inject custom logic or configuration
2592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2593//
2594//
2595//    // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method.
2596//    req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params)
2597//
2598//    err := req.Send()
2599//    if err == nil { // resp is now filled
2600//        fmt.Println(resp)
2601//    }
2602//
2603// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
2604func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) {
2605	op := &request.Operation{
2606		Name:       opDescribeEffectiveInstanceAssociations,
2607		HTTPMethod: "POST",
2608		HTTPPath:   "/",
2609	}
2610
2611	if input == nil {
2612		input = &DescribeEffectiveInstanceAssociationsInput{}
2613	}
2614
2615	output = &DescribeEffectiveInstanceAssociationsOutput{}
2616	req = c.newRequest(op, input, output)
2617	return
2618}
2619
2620// DescribeEffectiveInstanceAssociations API operation for Amazon Simple Systems Manager (SSM).
2621//
2622// All associations for the instance(s).
2623//
2624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2625// with awserr.Error's Code and Message methods to get detailed information about
2626// the error.
2627//
2628// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2629// API operation DescribeEffectiveInstanceAssociations for usage and error information.
2630//
2631// Returned Error Codes:
2632//   * ErrCodeInternalServerError "InternalServerError"
2633//   An error occurred on the server side.
2634//
2635//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2636//   The following problems can cause this exception:
2637//
2638//   You do not have permission to access the instance.
2639//
2640//   The SSM Agent is not running. On managed instances and Linux instances, verify
2641//   that the SSM Agent is running. On EC2 Windows instances, verify that the
2642//   EC2Config service is running.
2643//
2644//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
2645//   Try reinstalling the SSM Agent or EC2Config service.
2646//
2647//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2648//   Stopping. Invalid states are: Shutting-down and Terminated.
2649//
2650//   * ErrCodeInvalidNextToken "InvalidNextToken"
2651//   The specified token is not valid.
2652//
2653// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
2654func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) {
2655	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
2656	return out, req.Send()
2657}
2658
2659// DescribeEffectiveInstanceAssociationsWithContext is the same as DescribeEffectiveInstanceAssociations with the addition of
2660// the ability to pass a context and additional request options.
2661//
2662// See DescribeEffectiveInstanceAssociations for details on how to use this API operation.
2663//
2664// The context must be non-nil and will be used for request cancellation. If
2665// the context is nil a panic will occur. In the future the SDK may create
2666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2667// for more information on using Contexts.
2668func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, opts ...request.Option) (*DescribeEffectiveInstanceAssociationsOutput, error) {
2669	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
2670	req.SetContext(ctx)
2671	req.ApplyOptions(opts...)
2672	return out, req.Send()
2673}
2674
2675const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline"
2676
2677// DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the
2678// client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return
2679// value will be populated with the request's response once the request complets
2680// successfuly.
2681//
2682// Use "Send" method on the returned Request to send the API call to the service.
2683// the "output" return value is not valid until after Send returns without error.
2684//
2685// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline
2686// API call, and error handling.
2687//
2688// This method is useful when you want to inject custom logic or configuration
2689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2690//
2691//
2692//    // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method.
2693//    req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params)
2694//
2695//    err := req.Send()
2696//    if err == nil { // resp is now filled
2697//        fmt.Println(resp)
2698//    }
2699//
2700// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
2701func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEffectivePatchesForPatchBaselineInput) (req *request.Request, output *DescribeEffectivePatchesForPatchBaselineOutput) {
2702	op := &request.Operation{
2703		Name:       opDescribeEffectivePatchesForPatchBaseline,
2704		HTTPMethod: "POST",
2705		HTTPPath:   "/",
2706	}
2707
2708	if input == nil {
2709		input = &DescribeEffectivePatchesForPatchBaselineInput{}
2710	}
2711
2712	output = &DescribeEffectivePatchesForPatchBaselineOutput{}
2713	req = c.newRequest(op, input, output)
2714	return
2715}
2716
2717// DescribeEffectivePatchesForPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
2718//
2719// Retrieves the current effective patches (the patch and the approval state)
2720// for the specified patch baseline. Note that this API applies only to Windows
2721// patch baselines.
2722//
2723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2724// with awserr.Error's Code and Message methods to get detailed information about
2725// the error.
2726//
2727// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2728// API operation DescribeEffectivePatchesForPatchBaseline for usage and error information.
2729//
2730// Returned Error Codes:
2731//   * ErrCodeInvalidResourceId "InvalidResourceId"
2732//   The resource ID is not valid. Verify that you entered the correct ID and
2733//   try again.
2734//
2735//   * ErrCodeDoesNotExistException "DoesNotExistException"
2736//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
2737//   doesn't exist.
2738//
2739//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
2740//   The operating systems you specified is not supported, or the operation is
2741//   not supported for the operating system. Valid operating systems include:
2742//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
2743//
2744//   * ErrCodeInternalServerError "InternalServerError"
2745//   An error occurred on the server side.
2746//
2747// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
2748func (c *SSM) DescribeEffectivePatchesForPatchBaseline(input *DescribeEffectivePatchesForPatchBaselineInput) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
2749	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
2750	return out, req.Send()
2751}
2752
2753// DescribeEffectivePatchesForPatchBaselineWithContext is the same as DescribeEffectivePatchesForPatchBaseline with the addition of
2754// the ability to pass a context and additional request options.
2755//
2756// See DescribeEffectivePatchesForPatchBaseline for details on how to use this API operation.
2757//
2758// The context must be non-nil and will be used for request cancellation. If
2759// the context is nil a panic will occur. In the future the SDK may create
2760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2761// for more information on using Contexts.
2762func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, opts ...request.Option) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
2763	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
2764	req.SetContext(ctx)
2765	req.ApplyOptions(opts...)
2766	return out, req.Send()
2767}
2768
2769const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus"
2770
2771// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the
2772// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return
2773// value will be populated with the request's response once the request complets
2774// successfuly.
2775//
2776// Use "Send" method on the returned Request to send the API call to the service.
2777// the "output" return value is not valid until after Send returns without error.
2778//
2779// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus
2780// API call, and error handling.
2781//
2782// This method is useful when you want to inject custom logic or configuration
2783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2784//
2785//
2786//    // Example sending a request using the DescribeInstanceAssociationsStatusRequest method.
2787//    req, resp := client.DescribeInstanceAssociationsStatusRequest(params)
2788//
2789//    err := req.Send()
2790//    if err == nil { // resp is now filled
2791//        fmt.Println(resp)
2792//    }
2793//
2794// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
2795func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) {
2796	op := &request.Operation{
2797		Name:       opDescribeInstanceAssociationsStatus,
2798		HTTPMethod: "POST",
2799		HTTPPath:   "/",
2800	}
2801
2802	if input == nil {
2803		input = &DescribeInstanceAssociationsStatusInput{}
2804	}
2805
2806	output = &DescribeInstanceAssociationsStatusOutput{}
2807	req = c.newRequest(op, input, output)
2808	return
2809}
2810
2811// DescribeInstanceAssociationsStatus API operation for Amazon Simple Systems Manager (SSM).
2812//
2813// The status of the associations for the instance(s).
2814//
2815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2816// with awserr.Error's Code and Message methods to get detailed information about
2817// the error.
2818//
2819// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2820// API operation DescribeInstanceAssociationsStatus for usage and error information.
2821//
2822// Returned Error Codes:
2823//   * ErrCodeInternalServerError "InternalServerError"
2824//   An error occurred on the server side.
2825//
2826//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2827//   The following problems can cause this exception:
2828//
2829//   You do not have permission to access the instance.
2830//
2831//   The SSM Agent is not running. On managed instances and Linux instances, verify
2832//   that the SSM Agent is running. On EC2 Windows instances, verify that the
2833//   EC2Config service is running.
2834//
2835//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
2836//   Try reinstalling the SSM Agent or EC2Config service.
2837//
2838//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2839//   Stopping. Invalid states are: Shutting-down and Terminated.
2840//
2841//   * ErrCodeInvalidNextToken "InvalidNextToken"
2842//   The specified token is not valid.
2843//
2844// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
2845func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) {
2846	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
2847	return out, req.Send()
2848}
2849
2850// DescribeInstanceAssociationsStatusWithContext is the same as DescribeInstanceAssociationsStatus with the addition of
2851// the ability to pass a context and additional request options.
2852//
2853// See DescribeInstanceAssociationsStatus for details on how to use this API operation.
2854//
2855// The context must be non-nil and will be used for request cancellation. If
2856// the context is nil a panic will occur. In the future the SDK may create
2857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2858// for more information on using Contexts.
2859func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, opts ...request.Option) (*DescribeInstanceAssociationsStatusOutput, error) {
2860	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
2861	req.SetContext(ctx)
2862	req.ApplyOptions(opts...)
2863	return out, req.Send()
2864}
2865
2866const opDescribeInstanceInformation = "DescribeInstanceInformation"
2867
2868// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the
2869// client's request for the DescribeInstanceInformation operation. The "output" return
2870// value will be populated with the request's response once the request complets
2871// successfuly.
2872//
2873// Use "Send" method on the returned Request to send the API call to the service.
2874// the "output" return value is not valid until after Send returns without error.
2875//
2876// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation
2877// API call, and error handling.
2878//
2879// This method is useful when you want to inject custom logic or configuration
2880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2881//
2882//
2883//    // Example sending a request using the DescribeInstanceInformationRequest method.
2884//    req, resp := client.DescribeInstanceInformationRequest(params)
2885//
2886//    err := req.Send()
2887//    if err == nil { // resp is now filled
2888//        fmt.Println(resp)
2889//    }
2890//
2891// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
2892func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) {
2893	op := &request.Operation{
2894		Name:       opDescribeInstanceInformation,
2895		HTTPMethod: "POST",
2896		HTTPPath:   "/",
2897		Paginator: &request.Paginator{
2898			InputTokens:     []string{"NextToken"},
2899			OutputTokens:    []string{"NextToken"},
2900			LimitToken:      "MaxResults",
2901			TruncationToken: "",
2902		},
2903	}
2904
2905	if input == nil {
2906		input = &DescribeInstanceInformationInput{}
2907	}
2908
2909	output = &DescribeInstanceInformationOutput{}
2910	req = c.newRequest(op, input, output)
2911	return
2912}
2913
2914// DescribeInstanceInformation API operation for Amazon Simple Systems Manager (SSM).
2915//
2916// Describes one or more of your instances. You can use this to get information
2917// about instances like the operating system platform, the SSM Agent version
2918// (Linux), status etc. If you specify one or more instance IDs, it returns
2919// information for those instances. If you do not specify instance IDs, it returns
2920// information for all your instances. If you specify an instance ID that is
2921// not valid or an instance that you do not own, you receive an error.
2922//
2923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2924// with awserr.Error's Code and Message methods to get detailed information about
2925// the error.
2926//
2927// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2928// API operation DescribeInstanceInformation for usage and error information.
2929//
2930// Returned Error Codes:
2931//   * ErrCodeInternalServerError "InternalServerError"
2932//   An error occurred on the server side.
2933//
2934//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2935//   The following problems can cause this exception:
2936//
2937//   You do not have permission to access the instance.
2938//
2939//   The SSM Agent is not running. On managed instances and Linux instances, verify
2940//   that the SSM Agent is running. On EC2 Windows instances, verify that the
2941//   EC2Config service is running.
2942//
2943//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
2944//   Try reinstalling the SSM Agent or EC2Config service.
2945//
2946//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2947//   Stopping. Invalid states are: Shutting-down and Terminated.
2948//
2949//   * ErrCodeInvalidNextToken "InvalidNextToken"
2950//   The specified token is not valid.
2951//
2952//   * ErrCodeInvalidInstanceInformationFilterValue "InvalidInstanceInformationFilterValue"
2953//   The specified filter value is not valid.
2954//
2955//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
2956//   The specified key is not valid.
2957//
2958// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
2959func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) {
2960	req, out := c.DescribeInstanceInformationRequest(input)
2961	return out, req.Send()
2962}
2963
2964// DescribeInstanceInformationWithContext is the same as DescribeInstanceInformation with the addition of
2965// the ability to pass a context and additional request options.
2966//
2967// See DescribeInstanceInformation for details on how to use this API operation.
2968//
2969// The context must be non-nil and will be used for request cancellation. If
2970// the context is nil a panic will occur. In the future the SDK may create
2971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2972// for more information on using Contexts.
2973func (c *SSM) DescribeInstanceInformationWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, opts ...request.Option) (*DescribeInstanceInformationOutput, error) {
2974	req, out := c.DescribeInstanceInformationRequest(input)
2975	req.SetContext(ctx)
2976	req.ApplyOptions(opts...)
2977	return out, req.Send()
2978}
2979
2980// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation,
2981// calling the "fn" function with the response data for each page. To stop
2982// iterating, return false from the fn function.
2983//
2984// See DescribeInstanceInformation method for more information on how to use this operation.
2985//
2986// Note: This operation can generate multiple requests to a service.
2987//
2988//    // Example iterating over at most 3 pages of a DescribeInstanceInformation operation.
2989//    pageNum := 0
2990//    err := client.DescribeInstanceInformationPages(params,
2991//        func(page *DescribeInstanceInformationOutput, lastPage bool) bool {
2992//            pageNum++
2993//            fmt.Println(page)
2994//            return pageNum <= 3
2995//        })
2996//
2997func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool) error {
2998	return c.DescribeInstanceInformationPagesWithContext(aws.BackgroundContext(), input, fn)
2999}
3000
3001// DescribeInstanceInformationPagesWithContext same as DescribeInstanceInformationPages except
3002// it takes a Context and allows setting request options on the pages.
3003//
3004// The context must be non-nil and will be used for request cancellation. If
3005// the context is nil a panic will occur. In the future the SDK may create
3006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3007// for more information on using Contexts.
3008func (c *SSM) DescribeInstanceInformationPagesWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool, opts ...request.Option) error {
3009	p := request.Pagination{
3010		NewRequest: func() (*request.Request, error) {
3011			var inCpy *DescribeInstanceInformationInput
3012			if input != nil {
3013				tmp := *input
3014				inCpy = &tmp
3015			}
3016			req, _ := c.DescribeInstanceInformationRequest(inCpy)
3017			req.SetContext(ctx)
3018			req.ApplyOptions(opts...)
3019			return req, nil
3020		},
3021	}
3022
3023	cont := true
3024	for p.Next() && cont {
3025		cont = fn(p.Page().(*DescribeInstanceInformationOutput), !p.HasNextPage())
3026	}
3027	return p.Err()
3028}
3029
3030const opDescribeInstancePatchStates = "DescribeInstancePatchStates"
3031
3032// DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the
3033// client's request for the DescribeInstancePatchStates operation. The "output" return
3034// value will be populated with the request's response once the request complets
3035// successfuly.
3036//
3037// Use "Send" method on the returned Request to send the API call to the service.
3038// the "output" return value is not valid until after Send returns without error.
3039//
3040// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates
3041// API call, and error handling.
3042//
3043// This method is useful when you want to inject custom logic or configuration
3044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3045//
3046//
3047//    // Example sending a request using the DescribeInstancePatchStatesRequest method.
3048//    req, resp := client.DescribeInstancePatchStatesRequest(params)
3049//
3050//    err := req.Send()
3051//    if err == nil { // resp is now filled
3052//        fmt.Println(resp)
3053//    }
3054//
3055// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3056func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchStatesInput) (req *request.Request, output *DescribeInstancePatchStatesOutput) {
3057	op := &request.Operation{
3058		Name:       opDescribeInstancePatchStates,
3059		HTTPMethod: "POST",
3060		HTTPPath:   "/",
3061	}
3062
3063	if input == nil {
3064		input = &DescribeInstancePatchStatesInput{}
3065	}
3066
3067	output = &DescribeInstancePatchStatesOutput{}
3068	req = c.newRequest(op, input, output)
3069	return
3070}
3071
3072// DescribeInstancePatchStates API operation for Amazon Simple Systems Manager (SSM).
3073//
3074// Retrieves the high-level patch state of one or more instances.
3075//
3076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3077// with awserr.Error's Code and Message methods to get detailed information about
3078// the error.
3079//
3080// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3081// API operation DescribeInstancePatchStates for usage and error information.
3082//
3083// Returned Error Codes:
3084//   * ErrCodeInternalServerError "InternalServerError"
3085//   An error occurred on the server side.
3086//
3087//   * ErrCodeInvalidNextToken "InvalidNextToken"
3088//   The specified token is not valid.
3089//
3090// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3091func (c *SSM) DescribeInstancePatchStates(input *DescribeInstancePatchStatesInput) (*DescribeInstancePatchStatesOutput, error) {
3092	req, out := c.DescribeInstancePatchStatesRequest(input)
3093	return out, req.Send()
3094}
3095
3096// DescribeInstancePatchStatesWithContext is the same as DescribeInstancePatchStates with the addition of
3097// the ability to pass a context and additional request options.
3098//
3099// See DescribeInstancePatchStates for details on how to use this API operation.
3100//
3101// The context must be non-nil and will be used for request cancellation. If
3102// the context is nil a panic will occur. In the future the SDK may create
3103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3104// for more information on using Contexts.
3105func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, opts ...request.Option) (*DescribeInstancePatchStatesOutput, error) {
3106	req, out := c.DescribeInstancePatchStatesRequest(input)
3107	req.SetContext(ctx)
3108	req.ApplyOptions(opts...)
3109	return out, req.Send()
3110}
3111
3112const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup"
3113
3114// DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the
3115// client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return
3116// value will be populated with the request's response once the request complets
3117// successfuly.
3118//
3119// Use "Send" method on the returned Request to send the API call to the service.
3120// the "output" return value is not valid until after Send returns without error.
3121//
3122// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup
3123// API call, and error handling.
3124//
3125// This method is useful when you want to inject custom logic or configuration
3126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3127//
3128//
3129//    // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method.
3130//    req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params)
3131//
3132//    err := req.Send()
3133//    if err == nil { // resp is now filled
3134//        fmt.Println(resp)
3135//    }
3136//
3137// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3138func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeInstancePatchStatesForPatchGroupInput) (req *request.Request, output *DescribeInstancePatchStatesForPatchGroupOutput) {
3139	op := &request.Operation{
3140		Name:       opDescribeInstancePatchStatesForPatchGroup,
3141		HTTPMethod: "POST",
3142		HTTPPath:   "/",
3143	}
3144
3145	if input == nil {
3146		input = &DescribeInstancePatchStatesForPatchGroupInput{}
3147	}
3148
3149	output = &DescribeInstancePatchStatesForPatchGroupOutput{}
3150	req = c.newRequest(op, input, output)
3151	return
3152}
3153
3154// DescribeInstancePatchStatesForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
3155//
3156// Retrieves the high-level patch state for the instances in the specified patch
3157// group.
3158//
3159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3160// with awserr.Error's Code and Message methods to get detailed information about
3161// the error.
3162//
3163// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3164// API operation DescribeInstancePatchStatesForPatchGroup for usage and error information.
3165//
3166// Returned Error Codes:
3167//   * ErrCodeInternalServerError "InternalServerError"
3168//   An error occurred on the server side.
3169//
3170//   * ErrCodeInvalidFilter "InvalidFilter"
3171//   The filter name is not valid. Verify the you entered the correct name and
3172//   try again.
3173//
3174//   * ErrCodeInvalidNextToken "InvalidNextToken"
3175//   The specified token is not valid.
3176//
3177// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3178func (c *SSM) DescribeInstancePatchStatesForPatchGroup(input *DescribeInstancePatchStatesForPatchGroupInput) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3179	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3180	return out, req.Send()
3181}
3182
3183// DescribeInstancePatchStatesForPatchGroupWithContext is the same as DescribeInstancePatchStatesForPatchGroup with the addition of
3184// the ability to pass a context and additional request options.
3185//
3186// See DescribeInstancePatchStatesForPatchGroup for details on how to use this API operation.
3187//
3188// The context must be non-nil and will be used for request cancellation. If
3189// the context is nil a panic will occur. In the future the SDK may create
3190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3191// for more information on using Contexts.
3192func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, opts ...request.Option) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3193	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3194	req.SetContext(ctx)
3195	req.ApplyOptions(opts...)
3196	return out, req.Send()
3197}
3198
3199const opDescribeInstancePatches = "DescribeInstancePatches"
3200
3201// DescribeInstancePatchesRequest generates a "aws/request.Request" representing the
3202// client's request for the DescribeInstancePatches operation. The "output" return
3203// value will be populated with the request's response once the request complets
3204// successfuly.
3205//
3206// Use "Send" method on the returned Request to send the API call to the service.
3207// the "output" return value is not valid until after Send returns without error.
3208//
3209// See DescribeInstancePatches for more information on using the DescribeInstancePatches
3210// API call, and error handling.
3211//
3212// This method is useful when you want to inject custom logic or configuration
3213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3214//
3215//
3216//    // Example sending a request using the DescribeInstancePatchesRequest method.
3217//    req, resp := client.DescribeInstancePatchesRequest(params)
3218//
3219//    err := req.Send()
3220//    if err == nil { // resp is now filled
3221//        fmt.Println(resp)
3222//    }
3223//
3224// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3225func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput) (req *request.Request, output *DescribeInstancePatchesOutput) {
3226	op := &request.Operation{
3227		Name:       opDescribeInstancePatches,
3228		HTTPMethod: "POST",
3229		HTTPPath:   "/",
3230	}
3231
3232	if input == nil {
3233		input = &DescribeInstancePatchesInput{}
3234	}
3235
3236	output = &DescribeInstancePatchesOutput{}
3237	req = c.newRequest(op, input, output)
3238	return
3239}
3240
3241// DescribeInstancePatches API operation for Amazon Simple Systems Manager (SSM).
3242//
3243// Retrieves information about the patches on the specified instance and their
3244// state relative to the patch baseline being used for the instance.
3245//
3246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3247// with awserr.Error's Code and Message methods to get detailed information about
3248// the error.
3249//
3250// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3251// API operation DescribeInstancePatches for usage and error information.
3252//
3253// Returned Error Codes:
3254//   * ErrCodeInternalServerError "InternalServerError"
3255//   An error occurred on the server side.
3256//
3257//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3258//   The following problems can cause this exception:
3259//
3260//   You do not have permission to access the instance.
3261//
3262//   The SSM Agent is not running. On managed instances and Linux instances, verify
3263//   that the SSM Agent is running. On EC2 Windows instances, verify that the
3264//   EC2Config service is running.
3265//
3266//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
3267//   Try reinstalling the SSM Agent or EC2Config service.
3268//
3269//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3270//   Stopping. Invalid states are: Shutting-down and Terminated.
3271//
3272//   * ErrCodeInvalidFilter "InvalidFilter"
3273//   The filter name is not valid. Verify the you entered the correct name and
3274//   try again.
3275//
3276//   * ErrCodeInvalidNextToken "InvalidNextToken"
3277//   The specified token is not valid.
3278//
3279// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3280func (c *SSM) DescribeInstancePatches(input *DescribeInstancePatchesInput) (*DescribeInstancePatchesOutput, error) {
3281	req, out := c.DescribeInstancePatchesRequest(input)
3282	return out, req.Send()
3283}
3284
3285// DescribeInstancePatchesWithContext is the same as DescribeInstancePatches with the addition of
3286// the ability to pass a context and additional request options.
3287//
3288// See DescribeInstancePatches for details on how to use this API operation.
3289//
3290// The context must be non-nil and will be used for request cancellation. If
3291// the context is nil a panic will occur. In the future the SDK may create
3292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3293// for more information on using Contexts.
3294func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, opts ...request.Option) (*DescribeInstancePatchesOutput, error) {
3295	req, out := c.DescribeInstancePatchesRequest(input)
3296	req.SetContext(ctx)
3297	req.ApplyOptions(opts...)
3298	return out, req.Send()
3299}
3300
3301const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations"
3302
3303// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the
3304// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return
3305// value will be populated with the request's response once the request complets
3306// successfuly.
3307//
3308// Use "Send" method on the returned Request to send the API call to the service.
3309// the "output" return value is not valid until after Send returns without error.
3310//
3311// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations
3312// API call, and error handling.
3313//
3314// This method is useful when you want to inject custom logic or configuration
3315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3316//
3317//
3318//    // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method.
3319//    req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params)
3320//
3321//    err := req.Send()
3322//    if err == nil { // resp is now filled
3323//        fmt.Println(resp)
3324//    }
3325//
3326// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
3327func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) {
3328	op := &request.Operation{
3329		Name:       opDescribeMaintenanceWindowExecutionTaskInvocations,
3330		HTTPMethod: "POST",
3331		HTTPPath:   "/",
3332	}
3333
3334	if input == nil {
3335		input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{}
3336	}
3337
3338	output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{}
3339	req = c.newRequest(op, input, output)
3340	return
3341}
3342
3343// DescribeMaintenanceWindowExecutionTaskInvocations API operation for Amazon Simple Systems Manager (SSM).
3344//
3345// Retrieves the individual task executions (one per target) for a particular
3346// task executed as part of a Maintenance Window execution.
3347//
3348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3349// with awserr.Error's Code and Message methods to get detailed information about
3350// the error.
3351//
3352// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3353// API operation DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information.
3354//
3355// Returned Error Codes:
3356//   * ErrCodeDoesNotExistException "DoesNotExistException"
3357//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
3358//   doesn't exist.
3359//
3360//   * ErrCodeInternalServerError "InternalServerError"
3361//   An error occurred on the server side.
3362//
3363// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
3364func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
3365	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
3366	return out, req.Send()
3367}
3368
3369// DescribeMaintenanceWindowExecutionTaskInvocationsWithContext is the same as DescribeMaintenanceWindowExecutionTaskInvocations with the addition of
3370// the ability to pass a context and additional request options.
3371//
3372// See DescribeMaintenanceWindowExecutionTaskInvocations for details on how to use this API operation.
3373//
3374// The context must be non-nil and will be used for request cancellation. If
3375// the context is nil a panic will occur. In the future the SDK may create
3376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3377// for more information on using Contexts.
3378func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
3379	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
3380	req.SetContext(ctx)
3381	req.ApplyOptions(opts...)
3382	return out, req.Send()
3383}
3384
3385const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks"
3386
3387// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the
3388// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return
3389// value will be populated with the request's response once the request complets
3390// successfuly.
3391//
3392// Use "Send" method on the returned Request to send the API call to the service.
3393// the "output" return value is not valid until after Send returns without error.
3394//
3395// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks
3396// API call, and error handling.
3397//
3398// This method is useful when you want to inject custom logic or configuration
3399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3400//
3401//
3402//    // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method.
3403//    req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params)
3404//
3405//    err := req.Send()
3406//    if err == nil { // resp is now filled
3407//        fmt.Println(resp)
3408//    }
3409//
3410// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
3411func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) {
3412	op := &request.Operation{
3413		Name:       opDescribeMaintenanceWindowExecutionTasks,
3414		HTTPMethod: "POST",
3415		HTTPPath:   "/",
3416	}
3417
3418	if input == nil {
3419		input = &DescribeMaintenanceWindowExecutionTasksInput{}
3420	}
3421
3422	output = &DescribeMaintenanceWindowExecutionTasksOutput{}
3423	req = c.newRequest(op, input, output)
3424	return
3425}
3426
3427// DescribeMaintenanceWindowExecutionTasks API operation for Amazon Simple Systems Manager (SSM).
3428//
3429// For a given Maintenance Window execution, lists the tasks that were executed.
3430//
3431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3432// with awserr.Error's Code and Message methods to get detailed information about
3433// the error.
3434//
3435// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3436// API operation DescribeMaintenanceWindowExecutionTasks for usage and error information.
3437//
3438// Returned Error Codes:
3439//   * ErrCodeDoesNotExistException "DoesNotExistException"
3440//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
3441//   doesn't exist.
3442//
3443//   * ErrCodeInternalServerError "InternalServerError"
3444//   An error occurred on the server side.
3445//
3446// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
3447func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
3448	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
3449	return out, req.Send()
3450}
3451
3452// DescribeMaintenanceWindowExecutionTasksWithContext is the same as DescribeMaintenanceWindowExecutionTasks with the addition of
3453// the ability to pass a context and additional request options.
3454//
3455// See DescribeMaintenanceWindowExecutionTasks for details on how to use this API operation.
3456//
3457// The context must be non-nil and will be used for request cancellation. If
3458// the context is nil a panic will occur. In the future the SDK may create
3459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3460// for more information on using Contexts.
3461func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
3462	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
3463	req.SetContext(ctx)
3464	req.ApplyOptions(opts...)
3465	return out, req.Send()
3466}
3467
3468const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions"
3469
3470// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the
3471// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return
3472// value will be populated with the request's response once the request complets
3473// successfuly.
3474//
3475// Use "Send" method on the returned Request to send the API call to the service.
3476// the "output" return value is not valid until after Send returns without error.
3477//
3478// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions
3479// API call, and error handling.
3480//
3481// This method is useful when you want to inject custom logic or configuration
3482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3483//
3484//
3485//    // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method.
3486//    req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params)
3487//
3488//    err := req.Send()
3489//    if err == nil { // resp is now filled
3490//        fmt.Println(resp)
3491//    }
3492//
3493// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
3494func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) {
3495	op := &request.Operation{
3496		Name:       opDescribeMaintenanceWindowExecutions,
3497		HTTPMethod: "POST",
3498		HTTPPath:   "/",
3499	}
3500
3501	if input == nil {
3502		input = &DescribeMaintenanceWindowExecutionsInput{}
3503	}
3504
3505	output = &DescribeMaintenanceWindowExecutionsOutput{}
3506	req = c.newRequest(op, input, output)
3507	return
3508}
3509
3510// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM).
3511//
3512// Lists the executions of a Maintenance Window. This includes information about
3513// when the Maintenance Window was scheduled to be active, and information about
3514// tasks registered and run with the Maintenance Window.
3515//
3516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3517// with awserr.Error's Code and Message methods to get detailed information about
3518// the error.
3519//
3520// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3521// API operation DescribeMaintenanceWindowExecutions for usage and error information.
3522//
3523// Returned Error Codes:
3524//   * ErrCodeInternalServerError "InternalServerError"
3525//   An error occurred on the server side.
3526//
3527// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
3528func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) {
3529	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
3530	return out, req.Send()
3531}
3532
3533// DescribeMaintenanceWindowExecutionsWithContext is the same as DescribeMaintenanceWindowExecutions with the addition of
3534// the ability to pass a context and additional request options.
3535//
3536// See DescribeMaintenanceWindowExecutions for details on how to use this API operation.
3537//
3538// The context must be non-nil and will be used for request cancellation. If
3539// the context is nil a panic will occur. In the future the SDK may create
3540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3541// for more information on using Contexts.
3542func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionsOutput, error) {
3543	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
3544	req.SetContext(ctx)
3545	req.ApplyOptions(opts...)
3546	return out, req.Send()
3547}
3548
3549const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets"
3550
3551// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the
3552// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return
3553// value will be populated with the request's response once the request complets
3554// successfuly.
3555//
3556// Use "Send" method on the returned Request to send the API call to the service.
3557// the "output" return value is not valid until after Send returns without error.
3558//
3559// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets
3560// API call, and error handling.
3561//
3562// This method is useful when you want to inject custom logic or configuration
3563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3564//
3565//
3566//    // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method.
3567//    req, resp := client.DescribeMaintenanceWindowTargetsRequest(params)
3568//
3569//    err := req.Send()
3570//    if err == nil { // resp is now filled
3571//        fmt.Println(resp)
3572//    }
3573//
3574// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
3575func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) {
3576	op := &request.Operation{
3577		Name:       opDescribeMaintenanceWindowTargets,
3578		HTTPMethod: "POST",
3579		HTTPPath:   "/",
3580	}
3581
3582	if input == nil {
3583		input = &DescribeMaintenanceWindowTargetsInput{}
3584	}
3585
3586	output = &DescribeMaintenanceWindowTargetsOutput{}
3587	req = c.newRequest(op, input, output)
3588	return
3589}
3590
3591// DescribeMaintenanceWindowTargets API operation for Amazon Simple Systems Manager (SSM).
3592//
3593// Lists the targets registered with the Maintenance Window.
3594//
3595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3596// with awserr.Error's Code and Message methods to get detailed information about
3597// the error.
3598//
3599// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3600// API operation DescribeMaintenanceWindowTargets for usage and error information.
3601//
3602// Returned Error Codes:
3603//   * ErrCodeDoesNotExistException "DoesNotExistException"
3604//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
3605//   doesn't exist.
3606//
3607//   * ErrCodeInternalServerError "InternalServerError"
3608//   An error occurred on the server side.
3609//
3610// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
3611func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) {
3612	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
3613	return out, req.Send()
3614}
3615
3616// DescribeMaintenanceWindowTargetsWithContext is the same as DescribeMaintenanceWindowTargets with the addition of
3617// the ability to pass a context and additional request options.
3618//
3619// See DescribeMaintenanceWindowTargets for details on how to use this API operation.
3620//
3621// The context must be non-nil and will be used for request cancellation. If
3622// the context is nil a panic will occur. In the future the SDK may create
3623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3624// for more information on using Contexts.
3625func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, opts ...request.Option) (*DescribeMaintenanceWindowTargetsOutput, error) {
3626	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
3627	req.SetContext(ctx)
3628	req.ApplyOptions(opts...)
3629	return out, req.Send()
3630}
3631
3632const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks"
3633
3634// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the
3635// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return
3636// value will be populated with the request's response once the request complets
3637// successfuly.
3638//
3639// Use "Send" method on the returned Request to send the API call to the service.
3640// the "output" return value is not valid until after Send returns without error.
3641//
3642// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks
3643// API call, and error handling.
3644//
3645// This method is useful when you want to inject custom logic or configuration
3646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3647//
3648//
3649//    // Example sending a request using the DescribeMaintenanceWindowTasksRequest method.
3650//    req, resp := client.DescribeMaintenanceWindowTasksRequest(params)
3651//
3652//    err := req.Send()
3653//    if err == nil { // resp is now filled
3654//        fmt.Println(resp)
3655//    }
3656//
3657// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
3658func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) {
3659	op := &request.Operation{
3660		Name:       opDescribeMaintenanceWindowTasks,
3661		HTTPMethod: "POST",
3662		HTTPPath:   "/",
3663	}
3664
3665	if input == nil {
3666		input = &DescribeMaintenanceWindowTasksInput{}
3667	}
3668
3669	output = &DescribeMaintenanceWindowTasksOutput{}
3670	req = c.newRequest(op, input, output)
3671	return
3672}
3673
3674// DescribeMaintenanceWindowTasks API operation for Amazon Simple Systems Manager (SSM).
3675//
3676// Lists the tasks in a Maintenance Window.
3677//
3678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3679// with awserr.Error's Code and Message methods to get detailed information about
3680// the error.
3681//
3682// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3683// API operation DescribeMaintenanceWindowTasks for usage and error information.
3684//
3685// Returned Error Codes:
3686//   * ErrCodeDoesNotExistException "DoesNotExistException"
3687//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
3688//   doesn't exist.
3689//
3690//   * ErrCodeInternalServerError "InternalServerError"
3691//   An error occurred on the server side.
3692//
3693// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
3694func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) {
3695	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
3696	return out, req.Send()
3697}
3698
3699// DescribeMaintenanceWindowTasksWithContext is the same as DescribeMaintenanceWindowTasks with the addition of
3700// the ability to pass a context and additional request options.
3701//
3702// See DescribeMaintenanceWindowTasks for details on how to use this API operation.
3703//
3704// The context must be non-nil and will be used for request cancellation. If
3705// the context is nil a panic will occur. In the future the SDK may create
3706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3707// for more information on using Contexts.
3708func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowTasksOutput, error) {
3709	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
3710	req.SetContext(ctx)
3711	req.ApplyOptions(opts...)
3712	return out, req.Send()
3713}
3714
3715const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows"
3716
3717// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the
3718// client's request for the DescribeMaintenanceWindows operation. The "output" return
3719// value will be populated with the request's response once the request complets
3720// successfuly.
3721//
3722// Use "Send" method on the returned Request to send the API call to the service.
3723// the "output" return value is not valid until after Send returns without error.
3724//
3725// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows
3726// API call, and error handling.
3727//
3728// This method is useful when you want to inject custom logic or configuration
3729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3730//
3731//
3732//    // Example sending a request using the DescribeMaintenanceWindowsRequest method.
3733//    req, resp := client.DescribeMaintenanceWindowsRequest(params)
3734//
3735//    err := req.Send()
3736//    if err == nil { // resp is now filled
3737//        fmt.Println(resp)
3738//    }
3739//
3740// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
3741func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) {
3742	op := &request.Operation{
3743		Name:       opDescribeMaintenanceWindows,
3744		HTTPMethod: "POST",
3745		HTTPPath:   "/",
3746	}
3747
3748	if input == nil {
3749		input = &DescribeMaintenanceWindowsInput{}
3750	}
3751
3752	output = &DescribeMaintenanceWindowsOutput{}
3753	req = c.newRequest(op, input, output)
3754	return
3755}
3756
3757// DescribeMaintenanceWindows API operation for Amazon Simple Systems Manager (SSM).
3758//
3759// Retrieves the Maintenance Windows in an AWS account.
3760//
3761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3762// with awserr.Error's Code and Message methods to get detailed information about
3763// the error.
3764//
3765// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3766// API operation DescribeMaintenanceWindows for usage and error information.
3767//
3768// Returned Error Codes:
3769//   * ErrCodeInternalServerError "InternalServerError"
3770//   An error occurred on the server side.
3771//
3772// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
3773func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) {
3774	req, out := c.DescribeMaintenanceWindowsRequest(input)
3775	return out, req.Send()
3776}
3777
3778// DescribeMaintenanceWindowsWithContext is the same as DescribeMaintenanceWindows with the addition of
3779// the ability to pass a context and additional request options.
3780//
3781// See DescribeMaintenanceWindows for details on how to use this API operation.
3782//
3783// The context must be non-nil and will be used for request cancellation. If
3784// the context is nil a panic will occur. In the future the SDK may create
3785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3786// for more information on using Contexts.
3787func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, opts ...request.Option) (*DescribeMaintenanceWindowsOutput, error) {
3788	req, out := c.DescribeMaintenanceWindowsRequest(input)
3789	req.SetContext(ctx)
3790	req.ApplyOptions(opts...)
3791	return out, req.Send()
3792}
3793
3794const opDescribeParameters = "DescribeParameters"
3795
3796// DescribeParametersRequest generates a "aws/request.Request" representing the
3797// client's request for the DescribeParameters operation. The "output" return
3798// value will be populated with the request's response once the request complets
3799// successfuly.
3800//
3801// Use "Send" method on the returned Request to send the API call to the service.
3802// the "output" return value is not valid until after Send returns without error.
3803//
3804// See DescribeParameters for more information on using the DescribeParameters
3805// API call, and error handling.
3806//
3807// This method is useful when you want to inject custom logic or configuration
3808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3809//
3810//
3811//    // Example sending a request using the DescribeParametersRequest method.
3812//    req, resp := client.DescribeParametersRequest(params)
3813//
3814//    err := req.Send()
3815//    if err == nil { // resp is now filled
3816//        fmt.Println(resp)
3817//    }
3818//
3819// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
3820func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
3821	op := &request.Operation{
3822		Name:       opDescribeParameters,
3823		HTTPMethod: "POST",
3824		HTTPPath:   "/",
3825		Paginator: &request.Paginator{
3826			InputTokens:     []string{"NextToken"},
3827			OutputTokens:    []string{"NextToken"},
3828			LimitToken:      "MaxResults",
3829			TruncationToken: "",
3830		},
3831	}
3832
3833	if input == nil {
3834		input = &DescribeParametersInput{}
3835	}
3836
3837	output = &DescribeParametersOutput{}
3838	req = c.newRequest(op, input, output)
3839	return
3840}
3841
3842// DescribeParameters API operation for Amazon Simple Systems Manager (SSM).
3843//
3844// Get information about a parameter.
3845//
3846// Request results are returned on a best-effort basis. If you specify MaxResults
3847// in the request, the response includes information up to the limit specified.
3848// The number of items returned, however, can be between zero and the value
3849// of MaxResults. If the service reaches an internal limit while processing
3850// the results, it stops the operation and returns the matching values up to
3851// that point and a NextToken. You can specify the NextToken in a subsequent
3852// call to get the next set of results.
3853//
3854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3855// with awserr.Error's Code and Message methods to get detailed information about
3856// the error.
3857//
3858// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3859// API operation DescribeParameters for usage and error information.
3860//
3861// Returned Error Codes:
3862//   * ErrCodeInternalServerError "InternalServerError"
3863//   An error occurred on the server side.
3864//
3865//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
3866//   The specified key is not valid.
3867//
3868//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
3869//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
3870//   For Path filter, valid options are Recursive and OneLevel.
3871//
3872//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
3873//   The filter value is not valid. Verify the value and try again.
3874//
3875//   * ErrCodeInvalidNextToken "InvalidNextToken"
3876//   The specified token is not valid.
3877//
3878// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
3879func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
3880	req, out := c.DescribeParametersRequest(input)
3881	return out, req.Send()
3882}
3883
3884// DescribeParametersWithContext is the same as DescribeParameters with the addition of
3885// the ability to pass a context and additional request options.
3886//
3887// See DescribeParameters for details on how to use this API operation.
3888//
3889// The context must be non-nil and will be used for request cancellation. If
3890// the context is nil a panic will occur. In the future the SDK may create
3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3892// for more information on using Contexts.
3893func (c *SSM) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
3894	req, out := c.DescribeParametersRequest(input)
3895	req.SetContext(ctx)
3896	req.ApplyOptions(opts...)
3897	return out, req.Send()
3898}
3899
3900// DescribeParametersPages iterates over the pages of a DescribeParameters operation,
3901// calling the "fn" function with the response data for each page. To stop
3902// iterating, return false from the fn function.
3903//
3904// See DescribeParameters method for more information on how to use this operation.
3905//
3906// Note: This operation can generate multiple requests to a service.
3907//
3908//    // Example iterating over at most 3 pages of a DescribeParameters operation.
3909//    pageNum := 0
3910//    err := client.DescribeParametersPages(params,
3911//        func(page *DescribeParametersOutput, lastPage bool) bool {
3912//            pageNum++
3913//            fmt.Println(page)
3914//            return pageNum <= 3
3915//        })
3916//
3917func (c *SSM) DescribeParametersPages(input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool) error {
3918	return c.DescribeParametersPagesWithContext(aws.BackgroundContext(), input, fn)
3919}
3920
3921// DescribeParametersPagesWithContext same as DescribeParametersPages except
3922// it takes a Context and allows setting request options on the pages.
3923//
3924// The context must be non-nil and will be used for request cancellation. If
3925// the context is nil a panic will occur. In the future the SDK may create
3926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3927// for more information on using Contexts.
3928func (c *SSM) DescribeParametersPagesWithContext(ctx aws.Context, input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool, opts ...request.Option) error {
3929	p := request.Pagination{
3930		NewRequest: func() (*request.Request, error) {
3931			var inCpy *DescribeParametersInput
3932			if input != nil {
3933				tmp := *input
3934				inCpy = &tmp
3935			}
3936			req, _ := c.DescribeParametersRequest(inCpy)
3937			req.SetContext(ctx)
3938			req.ApplyOptions(opts...)
3939			return req, nil
3940		},
3941	}
3942
3943	cont := true
3944	for p.Next() && cont {
3945		cont = fn(p.Page().(*DescribeParametersOutput), !p.HasNextPage())
3946	}
3947	return p.Err()
3948}
3949
3950const opDescribePatchBaselines = "DescribePatchBaselines"
3951
3952// DescribePatchBaselinesRequest generates a "aws/request.Request" representing the
3953// client's request for the DescribePatchBaselines operation. The "output" return
3954// value will be populated with the request's response once the request complets
3955// successfuly.
3956//
3957// Use "Send" method on the returned Request to send the API call to the service.
3958// the "output" return value is not valid until after Send returns without error.
3959//
3960// See DescribePatchBaselines for more information on using the DescribePatchBaselines
3961// API call, and error handling.
3962//
3963// This method is useful when you want to inject custom logic or configuration
3964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3965//
3966//
3967//    // Example sending a request using the DescribePatchBaselinesRequest method.
3968//    req, resp := client.DescribePatchBaselinesRequest(params)
3969//
3970//    err := req.Send()
3971//    if err == nil { // resp is now filled
3972//        fmt.Println(resp)
3973//    }
3974//
3975// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
3976func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) (req *request.Request, output *DescribePatchBaselinesOutput) {
3977	op := &request.Operation{
3978		Name:       opDescribePatchBaselines,
3979		HTTPMethod: "POST",
3980		HTTPPath:   "/",
3981	}
3982
3983	if input == nil {
3984		input = &DescribePatchBaselinesInput{}
3985	}
3986
3987	output = &DescribePatchBaselinesOutput{}
3988	req = c.newRequest(op, input, output)
3989	return
3990}
3991
3992// DescribePatchBaselines API operation for Amazon Simple Systems Manager (SSM).
3993//
3994// Lists the patch baselines in your AWS account.
3995//
3996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3997// with awserr.Error's Code and Message methods to get detailed information about
3998// the error.
3999//
4000// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4001// API operation DescribePatchBaselines for usage and error information.
4002//
4003// Returned Error Codes:
4004//   * ErrCodeInternalServerError "InternalServerError"
4005//   An error occurred on the server side.
4006//
4007// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
4008func (c *SSM) DescribePatchBaselines(input *DescribePatchBaselinesInput) (*DescribePatchBaselinesOutput, error) {
4009	req, out := c.DescribePatchBaselinesRequest(input)
4010	return out, req.Send()
4011}
4012
4013// DescribePatchBaselinesWithContext is the same as DescribePatchBaselines with the addition of
4014// the ability to pass a context and additional request options.
4015//
4016// See DescribePatchBaselines for details on how to use this API operation.
4017//
4018// The context must be non-nil and will be used for request cancellation. If
4019// the context is nil a panic will occur. In the future the SDK may create
4020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4021// for more information on using Contexts.
4022func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, opts ...request.Option) (*DescribePatchBaselinesOutput, error) {
4023	req, out := c.DescribePatchBaselinesRequest(input)
4024	req.SetContext(ctx)
4025	req.ApplyOptions(opts...)
4026	return out, req.Send()
4027}
4028
4029const opDescribePatchGroupState = "DescribePatchGroupState"
4030
4031// DescribePatchGroupStateRequest generates a "aws/request.Request" representing the
4032// client's request for the DescribePatchGroupState operation. The "output" return
4033// value will be populated with the request's response once the request complets
4034// successfuly.
4035//
4036// Use "Send" method on the returned Request to send the API call to the service.
4037// the "output" return value is not valid until after Send returns without error.
4038//
4039// See DescribePatchGroupState for more information on using the DescribePatchGroupState
4040// API call, and error handling.
4041//
4042// This method is useful when you want to inject custom logic or configuration
4043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4044//
4045//
4046//    // Example sending a request using the DescribePatchGroupStateRequest method.
4047//    req, resp := client.DescribePatchGroupStateRequest(params)
4048//
4049//    err := req.Send()
4050//    if err == nil { // resp is now filled
4051//        fmt.Println(resp)
4052//    }
4053//
4054// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
4055func (c *SSM) DescribePatchGroupStateRequest(input *DescribePatchGroupStateInput) (req *request.Request, output *DescribePatchGroupStateOutput) {
4056	op := &request.Operation{
4057		Name:       opDescribePatchGroupState,
4058		HTTPMethod: "POST",
4059		HTTPPath:   "/",
4060	}
4061
4062	if input == nil {
4063		input = &DescribePatchGroupStateInput{}
4064	}
4065
4066	output = &DescribePatchGroupStateOutput{}
4067	req = c.newRequest(op, input, output)
4068	return
4069}
4070
4071// DescribePatchGroupState API operation for Amazon Simple Systems Manager (SSM).
4072//
4073// Returns high-level aggregated patch compliance state for a patch group.
4074//
4075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4076// with awserr.Error's Code and Message methods to get detailed information about
4077// the error.
4078//
4079// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4080// API operation DescribePatchGroupState for usage and error information.
4081//
4082// Returned Error Codes:
4083//   * ErrCodeInternalServerError "InternalServerError"
4084//   An error occurred on the server side.
4085//
4086//   * ErrCodeInvalidNextToken "InvalidNextToken"
4087//   The specified token is not valid.
4088//
4089// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
4090func (c *SSM) DescribePatchGroupState(input *DescribePatchGroupStateInput) (*DescribePatchGroupStateOutput, error) {
4091	req, out := c.DescribePatchGroupStateRequest(input)
4092	return out, req.Send()
4093}
4094
4095// DescribePatchGroupStateWithContext is the same as DescribePatchGroupState with the addition of
4096// the ability to pass a context and additional request options.
4097//
4098// See DescribePatchGroupState for details on how to use this API operation.
4099//
4100// The context must be non-nil and will be used for request cancellation. If
4101// the context is nil a panic will occur. In the future the SDK may create
4102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4103// for more information on using Contexts.
4104func (c *SSM) DescribePatchGroupStateWithContext(ctx aws.Context, input *DescribePatchGroupStateInput, opts ...request.Option) (*DescribePatchGroupStateOutput, error) {
4105	req, out := c.DescribePatchGroupStateRequest(input)
4106	req.SetContext(ctx)
4107	req.ApplyOptions(opts...)
4108	return out, req.Send()
4109}
4110
4111const opDescribePatchGroups = "DescribePatchGroups"
4112
4113// DescribePatchGroupsRequest generates a "aws/request.Request" representing the
4114// client's request for the DescribePatchGroups operation. The "output" return
4115// value will be populated with the request's response once the request complets
4116// successfuly.
4117//
4118// Use "Send" method on the returned Request to send the API call to the service.
4119// the "output" return value is not valid until after Send returns without error.
4120//
4121// See DescribePatchGroups for more information on using the DescribePatchGroups
4122// API call, and error handling.
4123//
4124// This method is useful when you want to inject custom logic or configuration
4125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4126//
4127//
4128//    // Example sending a request using the DescribePatchGroupsRequest method.
4129//    req, resp := client.DescribePatchGroupsRequest(params)
4130//
4131//    err := req.Send()
4132//    if err == nil { // resp is now filled
4133//        fmt.Println(resp)
4134//    }
4135//
4136// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
4137func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req *request.Request, output *DescribePatchGroupsOutput) {
4138	op := &request.Operation{
4139		Name:       opDescribePatchGroups,
4140		HTTPMethod: "POST",
4141		HTTPPath:   "/",
4142	}
4143
4144	if input == nil {
4145		input = &DescribePatchGroupsInput{}
4146	}
4147
4148	output = &DescribePatchGroupsOutput{}
4149	req = c.newRequest(op, input, output)
4150	return
4151}
4152
4153// DescribePatchGroups API operation for Amazon Simple Systems Manager (SSM).
4154//
4155// Lists all patch groups that have been registered with patch baselines.
4156//
4157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4158// with awserr.Error's Code and Message methods to get detailed information about
4159// the error.
4160//
4161// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4162// API operation DescribePatchGroups for usage and error information.
4163//
4164// Returned Error Codes:
4165//   * ErrCodeInternalServerError "InternalServerError"
4166//   An error occurred on the server side.
4167//
4168// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
4169func (c *SSM) DescribePatchGroups(input *DescribePatchGroupsInput) (*DescribePatchGroupsOutput, error) {
4170	req, out := c.DescribePatchGroupsRequest(input)
4171	return out, req.Send()
4172}
4173
4174// DescribePatchGroupsWithContext is the same as DescribePatchGroups with the addition of
4175// the ability to pass a context and additional request options.
4176//
4177// See DescribePatchGroups for details on how to use this API operation.
4178//
4179// The context must be non-nil and will be used for request cancellation. If
4180// the context is nil a panic will occur. In the future the SDK may create
4181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4182// for more information on using Contexts.
4183func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePatchGroupsInput, opts ...request.Option) (*DescribePatchGroupsOutput, error) {
4184	req, out := c.DescribePatchGroupsRequest(input)
4185	req.SetContext(ctx)
4186	req.ApplyOptions(opts...)
4187	return out, req.Send()
4188}
4189
4190const opGetAutomationExecution = "GetAutomationExecution"
4191
4192// GetAutomationExecutionRequest generates a "aws/request.Request" representing the
4193// client's request for the GetAutomationExecution operation. The "output" return
4194// value will be populated with the request's response once the request complets
4195// successfuly.
4196//
4197// Use "Send" method on the returned Request to send the API call to the service.
4198// the "output" return value is not valid until after Send returns without error.
4199//
4200// See GetAutomationExecution for more information on using the GetAutomationExecution
4201// API call, and error handling.
4202//
4203// This method is useful when you want to inject custom logic or configuration
4204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4205//
4206//
4207//    // Example sending a request using the GetAutomationExecutionRequest method.
4208//    req, resp := client.GetAutomationExecutionRequest(params)
4209//
4210//    err := req.Send()
4211//    if err == nil { // resp is now filled
4212//        fmt.Println(resp)
4213//    }
4214//
4215// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
4216func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) {
4217	op := &request.Operation{
4218		Name:       opGetAutomationExecution,
4219		HTTPMethod: "POST",
4220		HTTPPath:   "/",
4221	}
4222
4223	if input == nil {
4224		input = &GetAutomationExecutionInput{}
4225	}
4226
4227	output = &GetAutomationExecutionOutput{}
4228	req = c.newRequest(op, input, output)
4229	return
4230}
4231
4232// GetAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
4233//
4234// Get detailed information about a particular Automation execution.
4235//
4236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4237// with awserr.Error's Code and Message methods to get detailed information about
4238// the error.
4239//
4240// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4241// API operation GetAutomationExecution for usage and error information.
4242//
4243// Returned Error Codes:
4244//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
4245//   There is no automation execution information for the requested automation
4246//   execution ID.
4247//
4248//   * ErrCodeInternalServerError "InternalServerError"
4249//   An error occurred on the server side.
4250//
4251// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
4252func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) {
4253	req, out := c.GetAutomationExecutionRequest(input)
4254	return out, req.Send()
4255}
4256
4257// GetAutomationExecutionWithContext is the same as GetAutomationExecution with the addition of
4258// the ability to pass a context and additional request options.
4259//
4260// See GetAutomationExecution for details on how to use this API operation.
4261//
4262// The context must be non-nil and will be used for request cancellation. If
4263// the context is nil a panic will occur. In the future the SDK may create
4264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4265// for more information on using Contexts.
4266func (c *SSM) GetAutomationExecutionWithContext(ctx aws.Context, input *GetAutomationExecutionInput, opts ...request.Option) (*GetAutomationExecutionOutput, error) {
4267	req, out := c.GetAutomationExecutionRequest(input)
4268	req.SetContext(ctx)
4269	req.ApplyOptions(opts...)
4270	return out, req.Send()
4271}
4272
4273const opGetCommandInvocation = "GetCommandInvocation"
4274
4275// GetCommandInvocationRequest generates a "aws/request.Request" representing the
4276// client's request for the GetCommandInvocation operation. The "output" return
4277// value will be populated with the request's response once the request complets
4278// successfuly.
4279//
4280// Use "Send" method on the returned Request to send the API call to the service.
4281// the "output" return value is not valid until after Send returns without error.
4282//
4283// See GetCommandInvocation for more information on using the GetCommandInvocation
4284// API call, and error handling.
4285//
4286// This method is useful when you want to inject custom logic or configuration
4287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4288//
4289//
4290//    // Example sending a request using the GetCommandInvocationRequest method.
4291//    req, resp := client.GetCommandInvocationRequest(params)
4292//
4293//    err := req.Send()
4294//    if err == nil { // resp is now filled
4295//        fmt.Println(resp)
4296//    }
4297//
4298// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
4299func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) {
4300	op := &request.Operation{
4301		Name:       opGetCommandInvocation,
4302		HTTPMethod: "POST",
4303		HTTPPath:   "/",
4304	}
4305
4306	if input == nil {
4307		input = &GetCommandInvocationInput{}
4308	}
4309
4310	output = &GetCommandInvocationOutput{}
4311	req = c.newRequest(op, input, output)
4312	return
4313}
4314
4315// GetCommandInvocation API operation for Amazon Simple Systems Manager (SSM).
4316//
4317// Returns detailed information about command execution for an invocation or
4318// plugin.
4319//
4320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4321// with awserr.Error's Code and Message methods to get detailed information about
4322// the error.
4323//
4324// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4325// API operation GetCommandInvocation for usage and error information.
4326//
4327// Returned Error Codes:
4328//   * ErrCodeInternalServerError "InternalServerError"
4329//   An error occurred on the server side.
4330//
4331//   * ErrCodeInvalidCommandId "InvalidCommandId"
4332//
4333//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
4334//   The following problems can cause this exception:
4335//
4336//   You do not have permission to access the instance.
4337//
4338//   The SSM Agent is not running. On managed instances and Linux instances, verify
4339//   that the SSM Agent is running. On EC2 Windows instances, verify that the
4340//   EC2Config service is running.
4341//
4342//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
4343//   Try reinstalling the SSM Agent or EC2Config service.
4344//
4345//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
4346//   Stopping. Invalid states are: Shutting-down and Terminated.
4347//
4348//   * ErrCodeInvalidPluginName "InvalidPluginName"
4349//   The plugin name is not valid.
4350//
4351//   * ErrCodeInvocationDoesNotExist "InvocationDoesNotExist"
4352//   The command ID and instance ID you specified did not match any invocations.
4353//   Verify the command ID adn the instance ID and try again.
4354//
4355// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
4356func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) {
4357	req, out := c.GetCommandInvocationRequest(input)
4358	return out, req.Send()
4359}
4360
4361// GetCommandInvocationWithContext is the same as GetCommandInvocation with the addition of
4362// the ability to pass a context and additional request options.
4363//
4364// See GetCommandInvocation for details on how to use this API operation.
4365//
4366// The context must be non-nil and will be used for request cancellation. If
4367// the context is nil a panic will occur. In the future the SDK may create
4368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4369// for more information on using Contexts.
4370func (c *SSM) GetCommandInvocationWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.Option) (*GetCommandInvocationOutput, error) {
4371	req, out := c.GetCommandInvocationRequest(input)
4372	req.SetContext(ctx)
4373	req.ApplyOptions(opts...)
4374	return out, req.Send()
4375}
4376
4377const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline"
4378
4379// GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
4380// client's request for the GetDefaultPatchBaseline operation. The "output" return
4381// value will be populated with the request's response once the request complets
4382// successfuly.
4383//
4384// Use "Send" method on the returned Request to send the API call to the service.
4385// the "output" return value is not valid until after Send returns without error.
4386//
4387// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline
4388// API call, and error handling.
4389//
4390// This method is useful when you want to inject custom logic or configuration
4391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4392//
4393//
4394//    // Example sending a request using the GetDefaultPatchBaselineRequest method.
4395//    req, resp := client.GetDefaultPatchBaselineRequest(params)
4396//
4397//    err := req.Send()
4398//    if err == nil { // resp is now filled
4399//        fmt.Println(resp)
4400//    }
4401//
4402// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
4403func (c *SSM) GetDefaultPatchBaselineRequest(input *GetDefaultPatchBaselineInput) (req *request.Request, output *GetDefaultPatchBaselineOutput) {
4404	op := &request.Operation{
4405		Name:       opGetDefaultPatchBaseline,
4406		HTTPMethod: "POST",
4407		HTTPPath:   "/",
4408	}
4409
4410	if input == nil {
4411		input = &GetDefaultPatchBaselineInput{}
4412	}
4413
4414	output = &GetDefaultPatchBaselineOutput{}
4415	req = c.newRequest(op, input, output)
4416	return
4417}
4418
4419// GetDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
4420//
4421// Retrieves the default patch baseline. Note that Systems Manager supports
4422// creating multiple default patch baselines. For example, you can create a
4423// default patch baseline for each operating system.
4424//
4425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4426// with awserr.Error's Code and Message methods to get detailed information about
4427// the error.
4428//
4429// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4430// API operation GetDefaultPatchBaseline for usage and error information.
4431//
4432// Returned Error Codes:
4433//   * ErrCodeInternalServerError "InternalServerError"
4434//   An error occurred on the server side.
4435//
4436// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
4437func (c *SSM) GetDefaultPatchBaseline(input *GetDefaultPatchBaselineInput) (*GetDefaultPatchBaselineOutput, error) {
4438	req, out := c.GetDefaultPatchBaselineRequest(input)
4439	return out, req.Send()
4440}
4441
4442// GetDefaultPatchBaselineWithContext is the same as GetDefaultPatchBaseline with the addition of
4443// the ability to pass a context and additional request options.
4444//
4445// See GetDefaultPatchBaseline for details on how to use this API operation.
4446//
4447// The context must be non-nil and will be used for request cancellation. If
4448// the context is nil a panic will occur. In the future the SDK may create
4449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4450// for more information on using Contexts.
4451func (c *SSM) GetDefaultPatchBaselineWithContext(ctx aws.Context, input *GetDefaultPatchBaselineInput, opts ...request.Option) (*GetDefaultPatchBaselineOutput, error) {
4452	req, out := c.GetDefaultPatchBaselineRequest(input)
4453	req.SetContext(ctx)
4454	req.ApplyOptions(opts...)
4455	return out, req.Send()
4456}
4457
4458const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForInstance"
4459
4460// GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the
4461// client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return
4462// value will be populated with the request's response once the request complets
4463// successfuly.
4464//
4465// Use "Send" method on the returned Request to send the API call to the service.
4466// the "output" return value is not valid until after Send returns without error.
4467//
4468// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance
4469// API call, and error handling.
4470//
4471// This method is useful when you want to inject custom logic or configuration
4472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4473//
4474//
4475//    // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method.
4476//    req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params)
4477//
4478//    err := req.Send()
4479//    if err == nil { // resp is now filled
4480//        fmt.Println(resp)
4481//    }
4482//
4483// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
4484func (c *SSM) GetDeployablePatchSnapshotForInstanceRequest(input *GetDeployablePatchSnapshotForInstanceInput) (req *request.Request, output *GetDeployablePatchSnapshotForInstanceOutput) {
4485	op := &request.Operation{
4486		Name:       opGetDeployablePatchSnapshotForInstance,
4487		HTTPMethod: "POST",
4488		HTTPPath:   "/",
4489	}
4490
4491	if input == nil {
4492		input = &GetDeployablePatchSnapshotForInstanceInput{}
4493	}
4494
4495	output = &GetDeployablePatchSnapshotForInstanceOutput{}
4496	req = c.newRequest(op, input, output)
4497	return
4498}
4499
4500// GetDeployablePatchSnapshotForInstance API operation for Amazon Simple Systems Manager (SSM).
4501//
4502// Retrieves the current snapshot for the patch baseline the instance uses.
4503// This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.
4504//
4505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4506// with awserr.Error's Code and Message methods to get detailed information about
4507// the error.
4508//
4509// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4510// API operation GetDeployablePatchSnapshotForInstance for usage and error information.
4511//
4512// Returned Error Codes:
4513//   * ErrCodeInternalServerError "InternalServerError"
4514//   An error occurred on the server side.
4515//
4516//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
4517//   The operating systems you specified is not supported, or the operation is
4518//   not supported for the operating system. Valid operating systems include:
4519//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
4520//
4521// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
4522func (c *SSM) GetDeployablePatchSnapshotForInstance(input *GetDeployablePatchSnapshotForInstanceInput) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
4523	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
4524	return out, req.Send()
4525}
4526
4527// GetDeployablePatchSnapshotForInstanceWithContext is the same as GetDeployablePatchSnapshotForInstance with the addition of
4528// the ability to pass a context and additional request options.
4529//
4530// See GetDeployablePatchSnapshotForInstance for details on how to use this API operation.
4531//
4532// The context must be non-nil and will be used for request cancellation. If
4533// the context is nil a panic will occur. In the future the SDK may create
4534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4535// for more information on using Contexts.
4536func (c *SSM) GetDeployablePatchSnapshotForInstanceWithContext(ctx aws.Context, input *GetDeployablePatchSnapshotForInstanceInput, opts ...request.Option) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
4537	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
4538	req.SetContext(ctx)
4539	req.ApplyOptions(opts...)
4540	return out, req.Send()
4541}
4542
4543const opGetDocument = "GetDocument"
4544
4545// GetDocumentRequest generates a "aws/request.Request" representing the
4546// client's request for the GetDocument operation. The "output" return
4547// value will be populated with the request's response once the request complets
4548// successfuly.
4549//
4550// Use "Send" method on the returned Request to send the API call to the service.
4551// the "output" return value is not valid until after Send returns without error.
4552//
4553// See GetDocument for more information on using the GetDocument
4554// API call, and error handling.
4555//
4556// This method is useful when you want to inject custom logic or configuration
4557// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4558//
4559//
4560//    // Example sending a request using the GetDocumentRequest method.
4561//    req, resp := client.GetDocumentRequest(params)
4562//
4563//    err := req.Send()
4564//    if err == nil { // resp is now filled
4565//        fmt.Println(resp)
4566//    }
4567//
4568// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
4569func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
4570	op := &request.Operation{
4571		Name:       opGetDocument,
4572		HTTPMethod: "POST",
4573		HTTPPath:   "/",
4574	}
4575
4576	if input == nil {
4577		input = &GetDocumentInput{}
4578	}
4579
4580	output = &GetDocumentOutput{}
4581	req = c.newRequest(op, input, output)
4582	return
4583}
4584
4585// GetDocument API operation for Amazon Simple Systems Manager (SSM).
4586//
4587// Gets the contents of the specified Systems Manager document.
4588//
4589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4590// with awserr.Error's Code and Message methods to get detailed information about
4591// the error.
4592//
4593// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4594// API operation GetDocument for usage and error information.
4595//
4596// Returned Error Codes:
4597//   * ErrCodeInternalServerError "InternalServerError"
4598//   An error occurred on the server side.
4599//
4600//   * ErrCodeInvalidDocument "InvalidDocument"
4601//   The specified document does not exist.
4602//
4603//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
4604//   The document version is not valid or does not exist.
4605//
4606// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
4607func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
4608	req, out := c.GetDocumentRequest(input)
4609	return out, req.Send()
4610}
4611
4612// GetDocumentWithContext is the same as GetDocument with the addition of
4613// the ability to pass a context and additional request options.
4614//
4615// See GetDocument for details on how to use this API operation.
4616//
4617// The context must be non-nil and will be used for request cancellation. If
4618// the context is nil a panic will occur. In the future the SDK may create
4619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4620// for more information on using Contexts.
4621func (c *SSM) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
4622	req, out := c.GetDocumentRequest(input)
4623	req.SetContext(ctx)
4624	req.ApplyOptions(opts...)
4625	return out, req.Send()
4626}
4627
4628const opGetInventory = "GetInventory"
4629
4630// GetInventoryRequest generates a "aws/request.Request" representing the
4631// client's request for the GetInventory operation. The "output" return
4632// value will be populated with the request's response once the request complets
4633// successfuly.
4634//
4635// Use "Send" method on the returned Request to send the API call to the service.
4636// the "output" return value is not valid until after Send returns without error.
4637//
4638// See GetInventory for more information on using the GetInventory
4639// API call, and error handling.
4640//
4641// This method is useful when you want to inject custom logic or configuration
4642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4643//
4644//
4645//    // Example sending a request using the GetInventoryRequest method.
4646//    req, resp := client.GetInventoryRequest(params)
4647//
4648//    err := req.Send()
4649//    if err == nil { // resp is now filled
4650//        fmt.Println(resp)
4651//    }
4652//
4653// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
4654func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) {
4655	op := &request.Operation{
4656		Name:       opGetInventory,
4657		HTTPMethod: "POST",
4658		HTTPPath:   "/",
4659	}
4660
4661	if input == nil {
4662		input = &GetInventoryInput{}
4663	}
4664
4665	output = &GetInventoryOutput{}
4666	req = c.newRequest(op, input, output)
4667	return
4668}
4669
4670// GetInventory API operation for Amazon Simple Systems Manager (SSM).
4671//
4672// Query inventory information.
4673//
4674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4675// with awserr.Error's Code and Message methods to get detailed information about
4676// the error.
4677//
4678// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4679// API operation GetInventory for usage and error information.
4680//
4681// Returned Error Codes:
4682//   * ErrCodeInternalServerError "InternalServerError"
4683//   An error occurred on the server side.
4684//
4685//   * ErrCodeInvalidFilter "InvalidFilter"
4686//   The filter name is not valid. Verify the you entered the correct name and
4687//   try again.
4688//
4689//   * ErrCodeInvalidNextToken "InvalidNextToken"
4690//   The specified token is not valid.
4691//
4692//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
4693//   The parameter type name is not valid.
4694//
4695//   * ErrCodeInvalidResultAttributeException "InvalidResultAttributeException"
4696//   The specified inventory item result attribute is not valid.
4697//
4698// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
4699func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) {
4700	req, out := c.GetInventoryRequest(input)
4701	return out, req.Send()
4702}
4703
4704// GetInventoryWithContext is the same as GetInventory with the addition of
4705// the ability to pass a context and additional request options.
4706//
4707// See GetInventory for details on how to use this API operation.
4708//
4709// The context must be non-nil and will be used for request cancellation. If
4710// the context is nil a panic will occur. In the future the SDK may create
4711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4712// for more information on using Contexts.
4713func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, opts ...request.Option) (*GetInventoryOutput, error) {
4714	req, out := c.GetInventoryRequest(input)
4715	req.SetContext(ctx)
4716	req.ApplyOptions(opts...)
4717	return out, req.Send()
4718}
4719
4720const opGetInventorySchema = "GetInventorySchema"
4721
4722// GetInventorySchemaRequest generates a "aws/request.Request" representing the
4723// client's request for the GetInventorySchema operation. The "output" return
4724// value will be populated with the request's response once the request complets
4725// successfuly.
4726//
4727// Use "Send" method on the returned Request to send the API call to the service.
4728// the "output" return value is not valid until after Send returns without error.
4729//
4730// See GetInventorySchema for more information on using the GetInventorySchema
4731// API call, and error handling.
4732//
4733// This method is useful when you want to inject custom logic or configuration
4734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4735//
4736//
4737//    // Example sending a request using the GetInventorySchemaRequest method.
4738//    req, resp := client.GetInventorySchemaRequest(params)
4739//
4740//    err := req.Send()
4741//    if err == nil { // resp is now filled
4742//        fmt.Println(resp)
4743//    }
4744//
4745// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
4746func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) {
4747	op := &request.Operation{
4748		Name:       opGetInventorySchema,
4749		HTTPMethod: "POST",
4750		HTTPPath:   "/",
4751	}
4752
4753	if input == nil {
4754		input = &GetInventorySchemaInput{}
4755	}
4756
4757	output = &GetInventorySchemaOutput{}
4758	req = c.newRequest(op, input, output)
4759	return
4760}
4761
4762// GetInventorySchema API operation for Amazon Simple Systems Manager (SSM).
4763//
4764// Return a list of inventory type names for the account, or return a list of
4765// attribute names for a specific Inventory item type.
4766//
4767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4768// with awserr.Error's Code and Message methods to get detailed information about
4769// the error.
4770//
4771// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4772// API operation GetInventorySchema for usage and error information.
4773//
4774// Returned Error Codes:
4775//   * ErrCodeInternalServerError "InternalServerError"
4776//   An error occurred on the server side.
4777//
4778//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
4779//   The parameter type name is not valid.
4780//
4781//   * ErrCodeInvalidNextToken "InvalidNextToken"
4782//   The specified token is not valid.
4783//
4784// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
4785func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) {
4786	req, out := c.GetInventorySchemaRequest(input)
4787	return out, req.Send()
4788}
4789
4790// GetInventorySchemaWithContext is the same as GetInventorySchema with the addition of
4791// the ability to pass a context and additional request options.
4792//
4793// See GetInventorySchema for details on how to use this API operation.
4794//
4795// The context must be non-nil and will be used for request cancellation. If
4796// the context is nil a panic will occur. In the future the SDK may create
4797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4798// for more information on using Contexts.
4799func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventorySchemaInput, opts ...request.Option) (*GetInventorySchemaOutput, error) {
4800	req, out := c.GetInventorySchemaRequest(input)
4801	req.SetContext(ctx)
4802	req.ApplyOptions(opts...)
4803	return out, req.Send()
4804}
4805
4806const opGetMaintenanceWindow = "GetMaintenanceWindow"
4807
4808// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the
4809// client's request for the GetMaintenanceWindow operation. The "output" return
4810// value will be populated with the request's response once the request complets
4811// successfuly.
4812//
4813// Use "Send" method on the returned Request to send the API call to the service.
4814// the "output" return value is not valid until after Send returns without error.
4815//
4816// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow
4817// API call, and error handling.
4818//
4819// This method is useful when you want to inject custom logic or configuration
4820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4821//
4822//
4823//    // Example sending a request using the GetMaintenanceWindowRequest method.
4824//    req, resp := client.GetMaintenanceWindowRequest(params)
4825//
4826//    err := req.Send()
4827//    if err == nil { // resp is now filled
4828//        fmt.Println(resp)
4829//    }
4830//
4831// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
4832func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) {
4833	op := &request.Operation{
4834		Name:       opGetMaintenanceWindow,
4835		HTTPMethod: "POST",
4836		HTTPPath:   "/",
4837	}
4838
4839	if input == nil {
4840		input = &GetMaintenanceWindowInput{}
4841	}
4842
4843	output = &GetMaintenanceWindowOutput{}
4844	req = c.newRequest(op, input, output)
4845	return
4846}
4847
4848// GetMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
4849//
4850// Retrieves a Maintenance Window.
4851//
4852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4853// with awserr.Error's Code and Message methods to get detailed information about
4854// the error.
4855//
4856// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4857// API operation GetMaintenanceWindow for usage and error information.
4858//
4859// Returned Error Codes:
4860//   * ErrCodeDoesNotExistException "DoesNotExistException"
4861//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
4862//   doesn't exist.
4863//
4864//   * ErrCodeInternalServerError "InternalServerError"
4865//   An error occurred on the server side.
4866//
4867// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
4868func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) {
4869	req, out := c.GetMaintenanceWindowRequest(input)
4870	return out, req.Send()
4871}
4872
4873// GetMaintenanceWindowWithContext is the same as GetMaintenanceWindow with the addition of
4874// the ability to pass a context and additional request options.
4875//
4876// See GetMaintenanceWindow for details on how to use this API operation.
4877//
4878// The context must be non-nil and will be used for request cancellation. If
4879// the context is nil a panic will occur. In the future the SDK may create
4880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4881// for more information on using Contexts.
4882func (c *SSM) GetMaintenanceWindowWithContext(ctx aws.Context, input *GetMaintenanceWindowInput, opts ...request.Option) (*GetMaintenanceWindowOutput, error) {
4883	req, out := c.GetMaintenanceWindowRequest(input)
4884	req.SetContext(ctx)
4885	req.ApplyOptions(opts...)
4886	return out, req.Send()
4887}
4888
4889const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution"
4890
4891// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
4892// client's request for the GetMaintenanceWindowExecution operation. The "output" return
4893// value will be populated with the request's response once the request complets
4894// successfuly.
4895//
4896// Use "Send" method on the returned Request to send the API call to the service.
4897// the "output" return value is not valid until after Send returns without error.
4898//
4899// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution
4900// API call, and error handling.
4901//
4902// This method is useful when you want to inject custom logic or configuration
4903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4904//
4905//
4906//    // Example sending a request using the GetMaintenanceWindowExecutionRequest method.
4907//    req, resp := client.GetMaintenanceWindowExecutionRequest(params)
4908//
4909//    err := req.Send()
4910//    if err == nil { // resp is now filled
4911//        fmt.Println(resp)
4912//    }
4913//
4914// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
4915func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) {
4916	op := &request.Operation{
4917		Name:       opGetMaintenanceWindowExecution,
4918		HTTPMethod: "POST",
4919		HTTPPath:   "/",
4920	}
4921
4922	if input == nil {
4923		input = &GetMaintenanceWindowExecutionInput{}
4924	}
4925
4926	output = &GetMaintenanceWindowExecutionOutput{}
4927	req = c.newRequest(op, input, output)
4928	return
4929}
4930
4931// GetMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
4932//
4933// Retrieves details about a specific task executed as part of a Maintenance
4934// Window execution.
4935//
4936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4937// with awserr.Error's Code and Message methods to get detailed information about
4938// the error.
4939//
4940// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4941// API operation GetMaintenanceWindowExecution for usage and error information.
4942//
4943// Returned Error Codes:
4944//   * ErrCodeDoesNotExistException "DoesNotExistException"
4945//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
4946//   doesn't exist.
4947//
4948//   * ErrCodeInternalServerError "InternalServerError"
4949//   An error occurred on the server side.
4950//
4951// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
4952func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) {
4953	req, out := c.GetMaintenanceWindowExecutionRequest(input)
4954	return out, req.Send()
4955}
4956
4957// GetMaintenanceWindowExecutionWithContext is the same as GetMaintenanceWindowExecution with the addition of
4958// the ability to pass a context and additional request options.
4959//
4960// See GetMaintenanceWindowExecution for details on how to use this API operation.
4961//
4962// The context must be non-nil and will be used for request cancellation. If
4963// the context is nil a panic will occur. In the future the SDK may create
4964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4965// for more information on using Contexts.
4966func (c *SSM) GetMaintenanceWindowExecutionWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionInput, opts ...request.Option) (*GetMaintenanceWindowExecutionOutput, error) {
4967	req, out := c.GetMaintenanceWindowExecutionRequest(input)
4968	req.SetContext(ctx)
4969	req.ApplyOptions(opts...)
4970	return out, req.Send()
4971}
4972
4973const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask"
4974
4975// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the
4976// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return
4977// value will be populated with the request's response once the request complets
4978// successfuly.
4979//
4980// Use "Send" method on the returned Request to send the API call to the service.
4981// the "output" return value is not valid until after Send returns without error.
4982//
4983// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask
4984// API call, and error handling.
4985//
4986// This method is useful when you want to inject custom logic or configuration
4987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4988//
4989//
4990//    // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method.
4991//    req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params)
4992//
4993//    err := req.Send()
4994//    if err == nil { // resp is now filled
4995//        fmt.Println(resp)
4996//    }
4997//
4998// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
4999func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) {
5000	op := &request.Operation{
5001		Name:       opGetMaintenanceWindowExecutionTask,
5002		HTTPMethod: "POST",
5003		HTTPPath:   "/",
5004	}
5005
5006	if input == nil {
5007		input = &GetMaintenanceWindowExecutionTaskInput{}
5008	}
5009
5010	output = &GetMaintenanceWindowExecutionTaskOutput{}
5011	req = c.newRequest(op, input, output)
5012	return
5013}
5014
5015// GetMaintenanceWindowExecutionTask API operation for Amazon Simple Systems Manager (SSM).
5016//
5017// Retrieves the details about a specific task executed as part of a Maintenance
5018// Window execution.
5019//
5020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5021// with awserr.Error's Code and Message methods to get detailed information about
5022// the error.
5023//
5024// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5025// API operation GetMaintenanceWindowExecutionTask for usage and error information.
5026//
5027// Returned Error Codes:
5028//   * ErrCodeDoesNotExistException "DoesNotExistException"
5029//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
5030//   doesn't exist.
5031//
5032//   * ErrCodeInternalServerError "InternalServerError"
5033//   An error occurred on the server side.
5034//
5035// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
5036func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) {
5037	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
5038	return out, req.Send()
5039}
5040
5041// GetMaintenanceWindowExecutionTaskWithContext is the same as GetMaintenanceWindowExecutionTask with the addition of
5042// the ability to pass a context and additional request options.
5043//
5044// See GetMaintenanceWindowExecutionTask for details on how to use this API operation.
5045//
5046// The context must be non-nil and will be used for request cancellation. If
5047// the context is nil a panic will occur. In the future the SDK may create
5048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5049// for more information on using Contexts.
5050func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskOutput, error) {
5051	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
5052	req.SetContext(ctx)
5053	req.ApplyOptions(opts...)
5054	return out, req.Send()
5055}
5056
5057const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation"
5058
5059// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the
5060// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return
5061// value will be populated with the request's response once the request complets
5062// successfuly.
5063//
5064// Use "Send" method on the returned Request to send the API call to the service.
5065// the "output" return value is not valid until after Send returns without error.
5066//
5067// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation
5068// API call, and error handling.
5069//
5070// This method is useful when you want to inject custom logic or configuration
5071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5072//
5073//
5074//    // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method.
5075//    req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params)
5076//
5077//    err := req.Send()
5078//    if err == nil { // resp is now filled
5079//        fmt.Println(resp)
5080//    }
5081//
5082// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
5083func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) {
5084	op := &request.Operation{
5085		Name:       opGetMaintenanceWindowExecutionTaskInvocation,
5086		HTTPMethod: "POST",
5087		HTTPPath:   "/",
5088	}
5089
5090	if input == nil {
5091		input = &GetMaintenanceWindowExecutionTaskInvocationInput{}
5092	}
5093
5094	output = &GetMaintenanceWindowExecutionTaskInvocationOutput{}
5095	req = c.newRequest(op, input, output)
5096	return
5097}
5098
5099// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM).
5100//
5101// Retrieves a task invocation. A task invocation is a specific task executing
5102// on a specific target. Maintenance Windows report status for all invocations.
5103//
5104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5105// with awserr.Error's Code and Message methods to get detailed information about
5106// the error.
5107//
5108// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5109// API operation GetMaintenanceWindowExecutionTaskInvocation for usage and error information.
5110//
5111// Returned Error Codes:
5112//   * ErrCodeDoesNotExistException "DoesNotExistException"
5113//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
5114//   doesn't exist.
5115//
5116//   * ErrCodeInternalServerError "InternalServerError"
5117//   An error occurred on the server side.
5118//
5119// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
5120func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
5121	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
5122	return out, req.Send()
5123}
5124
5125// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of
5126// the ability to pass a context and additional request options.
5127//
5128// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation.
5129//
5130// The context must be non-nil and will be used for request cancellation. If
5131// the context is nil a panic will occur. In the future the SDK may create
5132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5133// for more information on using Contexts.
5134func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
5135	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
5136	req.SetContext(ctx)
5137	req.ApplyOptions(opts...)
5138	return out, req.Send()
5139}
5140
5141const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask"
5142
5143// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
5144// client's request for the GetMaintenanceWindowTask operation. The "output" return
5145// value will be populated with the request's response once the request complets
5146// successfuly.
5147//
5148// Use "Send" method on the returned Request to send the API call to the service.
5149// the "output" return value is not valid until after Send returns without error.
5150//
5151// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask
5152// API call, and error handling.
5153//
5154// This method is useful when you want to inject custom logic or configuration
5155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5156//
5157//
5158//    // Example sending a request using the GetMaintenanceWindowTaskRequest method.
5159//    req, resp := client.GetMaintenanceWindowTaskRequest(params)
5160//
5161//    err := req.Send()
5162//    if err == nil { // resp is now filled
5163//        fmt.Println(resp)
5164//    }
5165//
5166// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
5167func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) {
5168	op := &request.Operation{
5169		Name:       opGetMaintenanceWindowTask,
5170		HTTPMethod: "POST",
5171		HTTPPath:   "/",
5172	}
5173
5174	if input == nil {
5175		input = &GetMaintenanceWindowTaskInput{}
5176	}
5177
5178	output = &GetMaintenanceWindowTaskOutput{}
5179	req = c.newRequest(op, input, output)
5180	return
5181}
5182
5183// GetMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
5184//
5185// Lists the tasks in a Maintenance Window.
5186//
5187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5188// with awserr.Error's Code and Message methods to get detailed information about
5189// the error.
5190//
5191// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5192// API operation GetMaintenanceWindowTask for usage and error information.
5193//
5194// Returned Error Codes:
5195//   * ErrCodeDoesNotExistException "DoesNotExistException"
5196//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
5197//   doesn't exist.
5198//
5199//   * ErrCodeInternalServerError "InternalServerError"
5200//   An error occurred on the server side.
5201//
5202// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
5203func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) {
5204	req, out := c.GetMaintenanceWindowTaskRequest(input)
5205	return out, req.Send()
5206}
5207
5208// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of
5209// the ability to pass a context and additional request options.
5210//
5211// See GetMaintenanceWindowTask for details on how to use this API operation.
5212//
5213// The context must be non-nil and will be used for request cancellation. If
5214// the context is nil a panic will occur. In the future the SDK may create
5215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5216// for more information on using Contexts.
5217func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) {
5218	req, out := c.GetMaintenanceWindowTaskRequest(input)
5219	req.SetContext(ctx)
5220	req.ApplyOptions(opts...)
5221	return out, req.Send()
5222}
5223
5224const opGetParameter = "GetParameter"
5225
5226// GetParameterRequest generates a "aws/request.Request" representing the
5227// client's request for the GetParameter operation. The "output" return
5228// value will be populated with the request's response once the request complets
5229// successfuly.
5230//
5231// Use "Send" method on the returned Request to send the API call to the service.
5232// the "output" return value is not valid until after Send returns without error.
5233//
5234// See GetParameter for more information on using the GetParameter
5235// API call, and error handling.
5236//
5237// This method is useful when you want to inject custom logic or configuration
5238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5239//
5240//
5241//    // Example sending a request using the GetParameterRequest method.
5242//    req, resp := client.GetParameterRequest(params)
5243//
5244//    err := req.Send()
5245//    if err == nil { // resp is now filled
5246//        fmt.Println(resp)
5247//    }
5248//
5249// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
5250func (c *SSM) GetParameterRequest(input *GetParameterInput) (req *request.Request, output *GetParameterOutput) {
5251	op := &request.Operation{
5252		Name:       opGetParameter,
5253		HTTPMethod: "POST",
5254		HTTPPath:   "/",
5255	}
5256
5257	if input == nil {
5258		input = &GetParameterInput{}
5259	}
5260
5261	output = &GetParameterOutput{}
5262	req = c.newRequest(op, input, output)
5263	return
5264}
5265
5266// GetParameter API operation for Amazon Simple Systems Manager (SSM).
5267//
5268// Get information about a parameter by using the parameter name.
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 GetParameter for usage and error information.
5276//
5277// Returned Error Codes:
5278//   * ErrCodeInternalServerError "InternalServerError"
5279//   An error occurred on the server side.
5280//
5281//   * ErrCodeInvalidKeyId "InvalidKeyId"
5282//   The query key ID is not valid.
5283//
5284//   * ErrCodeParameterNotFound "ParameterNotFound"
5285//   The parameter could not be found. Verify the name and try again.
5286//
5287// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
5288func (c *SSM) GetParameter(input *GetParameterInput) (*GetParameterOutput, error) {
5289	req, out := c.GetParameterRequest(input)
5290	return out, req.Send()
5291}
5292
5293// GetParameterWithContext is the same as GetParameter with the addition of
5294// the ability to pass a context and additional request options.
5295//
5296// See GetParameter 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) GetParameterWithContext(ctx aws.Context, input *GetParameterInput, opts ...request.Option) (*GetParameterOutput, error) {
5303	req, out := c.GetParameterRequest(input)
5304	req.SetContext(ctx)
5305	req.ApplyOptions(opts...)
5306	return out, req.Send()
5307}
5308
5309const opGetParameterHistory = "GetParameterHistory"
5310
5311// GetParameterHistoryRequest generates a "aws/request.Request" representing the
5312// client's request for the GetParameterHistory operation. The "output" return
5313// value will be populated with the request's response once the request complets
5314// successfuly.
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 GetParameterHistory for more information on using the GetParameterHistory
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 GetParameterHistoryRequest method.
5327//    req, resp := client.GetParameterHistoryRequest(params)
5328//
5329//    err := req.Send()
5330//    if err == nil { // resp is now filled
5331//        fmt.Println(resp)
5332//    }
5333//
5334// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
5335func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) {
5336	op := &request.Operation{
5337		Name:       opGetParameterHistory,
5338		HTTPMethod: "POST",
5339		HTTPPath:   "/",
5340		Paginator: &request.Paginator{
5341			InputTokens:     []string{"NextToken"},
5342			OutputTokens:    []string{"NextToken"},
5343			LimitToken:      "MaxResults",
5344			TruncationToken: "",
5345		},
5346	}
5347
5348	if input == nil {
5349		input = &GetParameterHistoryInput{}
5350	}
5351
5352	output = &GetParameterHistoryOutput{}
5353	req = c.newRequest(op, input, output)
5354	return
5355}
5356
5357// GetParameterHistory API operation for Amazon Simple Systems Manager (SSM).
5358//
5359// Query a list of all parameters used by the AWS account.
5360//
5361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5362// with awserr.Error's Code and Message methods to get detailed information about
5363// the error.
5364//
5365// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5366// API operation GetParameterHistory for usage and error information.
5367//
5368// Returned Error Codes:
5369//   * ErrCodeInternalServerError "InternalServerError"
5370//   An error occurred on the server side.
5371//
5372//   * ErrCodeParameterNotFound "ParameterNotFound"
5373//   The parameter could not be found. Verify the name and try again.
5374//
5375//   * ErrCodeInvalidNextToken "InvalidNextToken"
5376//   The specified token is not valid.
5377//
5378//   * ErrCodeInvalidKeyId "InvalidKeyId"
5379//   The query key ID is not valid.
5380//
5381// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
5382func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) {
5383	req, out := c.GetParameterHistoryRequest(input)
5384	return out, req.Send()
5385}
5386
5387// GetParameterHistoryWithContext is the same as GetParameterHistory with the addition of
5388// the ability to pass a context and additional request options.
5389//
5390// See GetParameterHistory for details on how to use this API operation.
5391//
5392// The context must be non-nil and will be used for request cancellation. If
5393// the context is nil a panic will occur. In the future the SDK may create
5394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5395// for more information on using Contexts.
5396func (c *SSM) GetParameterHistoryWithContext(ctx aws.Context, input *GetParameterHistoryInput, opts ...request.Option) (*GetParameterHistoryOutput, error) {
5397	req, out := c.GetParameterHistoryRequest(input)
5398	req.SetContext(ctx)
5399	req.ApplyOptions(opts...)
5400	return out, req.Send()
5401}
5402
5403// GetParameterHistoryPages iterates over the pages of a GetParameterHistory operation,
5404// calling the "fn" function with the response data for each page. To stop
5405// iterating, return false from the fn function.
5406//
5407// See GetParameterHistory method for more information on how to use this operation.
5408//
5409// Note: This operation can generate multiple requests to a service.
5410//
5411//    // Example iterating over at most 3 pages of a GetParameterHistory operation.
5412//    pageNum := 0
5413//    err := client.GetParameterHistoryPages(params,
5414//        func(page *GetParameterHistoryOutput, lastPage bool) bool {
5415//            pageNum++
5416//            fmt.Println(page)
5417//            return pageNum <= 3
5418//        })
5419//
5420func (c *SSM) GetParameterHistoryPages(input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool) error {
5421	return c.GetParameterHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
5422}
5423
5424// GetParameterHistoryPagesWithContext same as GetParameterHistoryPages except
5425// it takes a Context and allows setting request options on the pages.
5426//
5427// The context must be non-nil and will be used for request cancellation. If
5428// the context is nil a panic will occur. In the future the SDK may create
5429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5430// for more information on using Contexts.
5431func (c *SSM) GetParameterHistoryPagesWithContext(ctx aws.Context, input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool, opts ...request.Option) error {
5432	p := request.Pagination{
5433		NewRequest: func() (*request.Request, error) {
5434			var inCpy *GetParameterHistoryInput
5435			if input != nil {
5436				tmp := *input
5437				inCpy = &tmp
5438			}
5439			req, _ := c.GetParameterHistoryRequest(inCpy)
5440			req.SetContext(ctx)
5441			req.ApplyOptions(opts...)
5442			return req, nil
5443		},
5444	}
5445
5446	cont := true
5447	for p.Next() && cont {
5448		cont = fn(p.Page().(*GetParameterHistoryOutput), !p.HasNextPage())
5449	}
5450	return p.Err()
5451}
5452
5453const opGetParameters = "GetParameters"
5454
5455// GetParametersRequest generates a "aws/request.Request" representing the
5456// client's request for the GetParameters operation. The "output" return
5457// value will be populated with the request's response once the request complets
5458// successfuly.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See GetParameters for more information on using the GetParameters
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the GetParametersRequest method.
5471//    req, resp := client.GetParametersRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
5479func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) {
5480	op := &request.Operation{
5481		Name:       opGetParameters,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484	}
5485
5486	if input == nil {
5487		input = &GetParametersInput{}
5488	}
5489
5490	output = &GetParametersOutput{}
5491	req = c.newRequest(op, input, output)
5492	return
5493}
5494
5495// GetParameters API operation for Amazon Simple Systems Manager (SSM).
5496//
5497// Get details of a parameter.
5498//
5499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5500// with awserr.Error's Code and Message methods to get detailed information about
5501// the error.
5502//
5503// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5504// API operation GetParameters for usage and error information.
5505//
5506// Returned Error Codes:
5507//   * ErrCodeInvalidKeyId "InvalidKeyId"
5508//   The query key ID is not valid.
5509//
5510//   * ErrCodeInternalServerError "InternalServerError"
5511//   An error occurred on the server side.
5512//
5513// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
5514func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) {
5515	req, out := c.GetParametersRequest(input)
5516	return out, req.Send()
5517}
5518
5519// GetParametersWithContext is the same as GetParameters with the addition of
5520// the ability to pass a context and additional request options.
5521//
5522// See GetParameters for details on how to use this API operation.
5523//
5524// The context must be non-nil and will be used for request cancellation. If
5525// the context is nil a panic will occur. In the future the SDK may create
5526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5527// for more information on using Contexts.
5528func (c *SSM) GetParametersWithContext(ctx aws.Context, input *GetParametersInput, opts ...request.Option) (*GetParametersOutput, error) {
5529	req, out := c.GetParametersRequest(input)
5530	req.SetContext(ctx)
5531	req.ApplyOptions(opts...)
5532	return out, req.Send()
5533}
5534
5535const opGetParametersByPath = "GetParametersByPath"
5536
5537// GetParametersByPathRequest generates a "aws/request.Request" representing the
5538// client's request for the GetParametersByPath operation. The "output" return
5539// value will be populated with the request's response once the request complets
5540// successfuly.
5541//
5542// Use "Send" method on the returned Request to send the API call to the service.
5543// the "output" return value is not valid until after Send returns without error.
5544//
5545// See GetParametersByPath for more information on using the GetParametersByPath
5546// API call, and error handling.
5547//
5548// This method is useful when you want to inject custom logic or configuration
5549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5550//
5551//
5552//    // Example sending a request using the GetParametersByPathRequest method.
5553//    req, resp := client.GetParametersByPathRequest(params)
5554//
5555//    err := req.Send()
5556//    if err == nil { // resp is now filled
5557//        fmt.Println(resp)
5558//    }
5559//
5560// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
5561func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req *request.Request, output *GetParametersByPathOutput) {
5562	op := &request.Operation{
5563		Name:       opGetParametersByPath,
5564		HTTPMethod: "POST",
5565		HTTPPath:   "/",
5566		Paginator: &request.Paginator{
5567			InputTokens:     []string{"NextToken"},
5568			OutputTokens:    []string{"NextToken"},
5569			LimitToken:      "MaxResults",
5570			TruncationToken: "",
5571		},
5572	}
5573
5574	if input == nil {
5575		input = &GetParametersByPathInput{}
5576	}
5577
5578	output = &GetParametersByPathOutput{}
5579	req = c.newRequest(op, input, output)
5580	return
5581}
5582
5583// GetParametersByPath API operation for Amazon Simple Systems Manager (SSM).
5584//
5585// Retrieve parameters in a specific hierarchy. For more information, see Working
5586// with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html).
5587//
5588// Request results are returned on a best-effort basis. If you specify MaxResults
5589// in the request, the response includes information up to the limit specified.
5590// The number of items returned, however, can be between zero and the value
5591// of MaxResults. If the service reaches an internal limit while processing
5592// the results, it stops the operation and returns the matching values up to
5593// that point and a NextToken. You can specify the NextToken in a subsequent
5594// call to get the next set of results.
5595//
5596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5597// with awserr.Error's Code and Message methods to get detailed information about
5598// the error.
5599//
5600// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5601// API operation GetParametersByPath for usage and error information.
5602//
5603// Returned Error Codes:
5604//   * ErrCodeInternalServerError "InternalServerError"
5605//   An error occurred on the server side.
5606//
5607//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
5608//   The specified key is not valid.
5609//
5610//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
5611//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
5612//   For Path filter, valid options are Recursive and OneLevel.
5613//
5614//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
5615//   The filter value is not valid. Verify the value and try again.
5616//
5617//   * ErrCodeInvalidKeyId "InvalidKeyId"
5618//   The query key ID is not valid.
5619//
5620//   * ErrCodeInvalidNextToken "InvalidNextToken"
5621//   The specified token is not valid.
5622//
5623// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
5624func (c *SSM) GetParametersByPath(input *GetParametersByPathInput) (*GetParametersByPathOutput, error) {
5625	req, out := c.GetParametersByPathRequest(input)
5626	return out, req.Send()
5627}
5628
5629// GetParametersByPathWithContext is the same as GetParametersByPath with the addition of
5630// the ability to pass a context and additional request options.
5631//
5632// See GetParametersByPath for details on how to use this API operation.
5633//
5634// The context must be non-nil and will be used for request cancellation. If
5635// the context is nil a panic will occur. In the future the SDK may create
5636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5637// for more information on using Contexts.
5638func (c *SSM) GetParametersByPathWithContext(ctx aws.Context, input *GetParametersByPathInput, opts ...request.Option) (*GetParametersByPathOutput, error) {
5639	req, out := c.GetParametersByPathRequest(input)
5640	req.SetContext(ctx)
5641	req.ApplyOptions(opts...)
5642	return out, req.Send()
5643}
5644
5645// GetParametersByPathPages iterates over the pages of a GetParametersByPath operation,
5646// calling the "fn" function with the response data for each page. To stop
5647// iterating, return false from the fn function.
5648//
5649// See GetParametersByPath method for more information on how to use this operation.
5650//
5651// Note: This operation can generate multiple requests to a service.
5652//
5653//    // Example iterating over at most 3 pages of a GetParametersByPath operation.
5654//    pageNum := 0
5655//    err := client.GetParametersByPathPages(params,
5656//        func(page *GetParametersByPathOutput, lastPage bool) bool {
5657//            pageNum++
5658//            fmt.Println(page)
5659//            return pageNum <= 3
5660//        })
5661//
5662func (c *SSM) GetParametersByPathPages(input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool) error {
5663	return c.GetParametersByPathPagesWithContext(aws.BackgroundContext(), input, fn)
5664}
5665
5666// GetParametersByPathPagesWithContext same as GetParametersByPathPages except
5667// it takes a Context and allows setting request options on the pages.
5668//
5669// The context must be non-nil and will be used for request cancellation. If
5670// the context is nil a panic will occur. In the future the SDK may create
5671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5672// for more information on using Contexts.
5673func (c *SSM) GetParametersByPathPagesWithContext(ctx aws.Context, input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool, opts ...request.Option) error {
5674	p := request.Pagination{
5675		NewRequest: func() (*request.Request, error) {
5676			var inCpy *GetParametersByPathInput
5677			if input != nil {
5678				tmp := *input
5679				inCpy = &tmp
5680			}
5681			req, _ := c.GetParametersByPathRequest(inCpy)
5682			req.SetContext(ctx)
5683			req.ApplyOptions(opts...)
5684			return req, nil
5685		},
5686	}
5687
5688	cont := true
5689	for p.Next() && cont {
5690		cont = fn(p.Page().(*GetParametersByPathOutput), !p.HasNextPage())
5691	}
5692	return p.Err()
5693}
5694
5695const opGetPatchBaseline = "GetPatchBaseline"
5696
5697// GetPatchBaselineRequest generates a "aws/request.Request" representing the
5698// client's request for the GetPatchBaseline operation. The "output" return
5699// value will be populated with the request's response once the request complets
5700// successfuly.
5701//
5702// Use "Send" method on the returned Request to send the API call to the service.
5703// the "output" return value is not valid until after Send returns without error.
5704//
5705// See GetPatchBaseline for more information on using the GetPatchBaseline
5706// API call, and error handling.
5707//
5708// This method is useful when you want to inject custom logic or configuration
5709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5710//
5711//
5712//    // Example sending a request using the GetPatchBaselineRequest method.
5713//    req, resp := client.GetPatchBaselineRequest(params)
5714//
5715//    err := req.Send()
5716//    if err == nil { // resp is now filled
5717//        fmt.Println(resp)
5718//    }
5719//
5720// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
5721func (c *SSM) GetPatchBaselineRequest(input *GetPatchBaselineInput) (req *request.Request, output *GetPatchBaselineOutput) {
5722	op := &request.Operation{
5723		Name:       opGetPatchBaseline,
5724		HTTPMethod: "POST",
5725		HTTPPath:   "/",
5726	}
5727
5728	if input == nil {
5729		input = &GetPatchBaselineInput{}
5730	}
5731
5732	output = &GetPatchBaselineOutput{}
5733	req = c.newRequest(op, input, output)
5734	return
5735}
5736
5737// GetPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
5738//
5739// Retrieves information about a patch baseline.
5740//
5741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5742// with awserr.Error's Code and Message methods to get detailed information about
5743// the error.
5744//
5745// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5746// API operation GetPatchBaseline for usage and error information.
5747//
5748// Returned Error Codes:
5749//   * ErrCodeDoesNotExistException "DoesNotExistException"
5750//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
5751//   doesn't exist.
5752//
5753//   * ErrCodeInvalidResourceId "InvalidResourceId"
5754//   The resource ID is not valid. Verify that you entered the correct ID and
5755//   try again.
5756//
5757//   * ErrCodeInternalServerError "InternalServerError"
5758//   An error occurred on the server side.
5759//
5760// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
5761func (c *SSM) GetPatchBaseline(input *GetPatchBaselineInput) (*GetPatchBaselineOutput, error) {
5762	req, out := c.GetPatchBaselineRequest(input)
5763	return out, req.Send()
5764}
5765
5766// GetPatchBaselineWithContext is the same as GetPatchBaseline with the addition of
5767// the ability to pass a context and additional request options.
5768//
5769// See GetPatchBaseline for details on how to use this API operation.
5770//
5771// The context must be non-nil and will be used for request cancellation. If
5772// the context is nil a panic will occur. In the future the SDK may create
5773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5774// for more information on using Contexts.
5775func (c *SSM) GetPatchBaselineWithContext(ctx aws.Context, input *GetPatchBaselineInput, opts ...request.Option) (*GetPatchBaselineOutput, error) {
5776	req, out := c.GetPatchBaselineRequest(input)
5777	req.SetContext(ctx)
5778	req.ApplyOptions(opts...)
5779	return out, req.Send()
5780}
5781
5782const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup"
5783
5784// GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
5785// client's request for the GetPatchBaselineForPatchGroup operation. The "output" return
5786// value will be populated with the request's response once the request complets
5787// successfuly.
5788//
5789// Use "Send" method on the returned Request to send the API call to the service.
5790// the "output" return value is not valid until after Send returns without error.
5791//
5792// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup
5793// API call, and error handling.
5794//
5795// This method is useful when you want to inject custom logic or configuration
5796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5797//
5798//
5799//    // Example sending a request using the GetPatchBaselineForPatchGroupRequest method.
5800//    req, resp := client.GetPatchBaselineForPatchGroupRequest(params)
5801//
5802//    err := req.Send()
5803//    if err == nil { // resp is now filled
5804//        fmt.Println(resp)
5805//    }
5806//
5807// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
5808func (c *SSM) GetPatchBaselineForPatchGroupRequest(input *GetPatchBaselineForPatchGroupInput) (req *request.Request, output *GetPatchBaselineForPatchGroupOutput) {
5809	op := &request.Operation{
5810		Name:       opGetPatchBaselineForPatchGroup,
5811		HTTPMethod: "POST",
5812		HTTPPath:   "/",
5813	}
5814
5815	if input == nil {
5816		input = &GetPatchBaselineForPatchGroupInput{}
5817	}
5818
5819	output = &GetPatchBaselineForPatchGroupOutput{}
5820	req = c.newRequest(op, input, output)
5821	return
5822}
5823
5824// GetPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
5825//
5826// Retrieves the patch baseline that should be used for the specified patch
5827// group.
5828//
5829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5830// with awserr.Error's Code and Message methods to get detailed information about
5831// the error.
5832//
5833// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5834// API operation GetPatchBaselineForPatchGroup for usage and error information.
5835//
5836// Returned Error Codes:
5837//   * ErrCodeInternalServerError "InternalServerError"
5838//   An error occurred on the server side.
5839//
5840// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
5841func (c *SSM) GetPatchBaselineForPatchGroup(input *GetPatchBaselineForPatchGroupInput) (*GetPatchBaselineForPatchGroupOutput, error) {
5842	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
5843	return out, req.Send()
5844}
5845
5846// GetPatchBaselineForPatchGroupWithContext is the same as GetPatchBaselineForPatchGroup with the addition of
5847// the ability to pass a context and additional request options.
5848//
5849// See GetPatchBaselineForPatchGroup for details on how to use this API operation.
5850//
5851// The context must be non-nil and will be used for request cancellation. If
5852// the context is nil a panic will occur. In the future the SDK may create
5853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5854// for more information on using Contexts.
5855func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *GetPatchBaselineForPatchGroupInput, opts ...request.Option) (*GetPatchBaselineForPatchGroupOutput, error) {
5856	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
5857	req.SetContext(ctx)
5858	req.ApplyOptions(opts...)
5859	return out, req.Send()
5860}
5861
5862const opListAssociationVersions = "ListAssociationVersions"
5863
5864// ListAssociationVersionsRequest generates a "aws/request.Request" representing the
5865// client's request for the ListAssociationVersions operation. The "output" return
5866// value will be populated with the request's response once the request complets
5867// successfuly.
5868//
5869// Use "Send" method on the returned Request to send the API call to the service.
5870// the "output" return value is not valid until after Send returns without error.
5871//
5872// See ListAssociationVersions for more information on using the ListAssociationVersions
5873// API call, and error handling.
5874//
5875// This method is useful when you want to inject custom logic or configuration
5876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5877//
5878//
5879//    // Example sending a request using the ListAssociationVersionsRequest method.
5880//    req, resp := client.ListAssociationVersionsRequest(params)
5881//
5882//    err := req.Send()
5883//    if err == nil { // resp is now filled
5884//        fmt.Println(resp)
5885//    }
5886//
5887// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
5888func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) {
5889	op := &request.Operation{
5890		Name:       opListAssociationVersions,
5891		HTTPMethod: "POST",
5892		HTTPPath:   "/",
5893	}
5894
5895	if input == nil {
5896		input = &ListAssociationVersionsInput{}
5897	}
5898
5899	output = &ListAssociationVersionsOutput{}
5900	req = c.newRequest(op, input, output)
5901	return
5902}
5903
5904// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM).
5905//
5906// Retrieves all versions of an association for a specific association ID.
5907//
5908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5909// with awserr.Error's Code and Message methods to get detailed information about
5910// the error.
5911//
5912// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5913// API operation ListAssociationVersions for usage and error information.
5914//
5915// Returned Error Codes:
5916//   * ErrCodeInternalServerError "InternalServerError"
5917//   An error occurred on the server side.
5918//
5919//   * ErrCodeInvalidNextToken "InvalidNextToken"
5920//   The specified token is not valid.
5921//
5922//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
5923//   The specified association does not exist.
5924//
5925// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
5926func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) {
5927	req, out := c.ListAssociationVersionsRequest(input)
5928	return out, req.Send()
5929}
5930
5931// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of
5932// the ability to pass a context and additional request options.
5933//
5934// See ListAssociationVersions for details on how to use this API operation.
5935//
5936// The context must be non-nil and will be used for request cancellation. If
5937// the context is nil a panic will occur. In the future the SDK may create
5938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5939// for more information on using Contexts.
5940func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) {
5941	req, out := c.ListAssociationVersionsRequest(input)
5942	req.SetContext(ctx)
5943	req.ApplyOptions(opts...)
5944	return out, req.Send()
5945}
5946
5947const opListAssociations = "ListAssociations"
5948
5949// ListAssociationsRequest generates a "aws/request.Request" representing the
5950// client's request for the ListAssociations operation. The "output" return
5951// value will be populated with the request's response once the request complets
5952// successfuly.
5953//
5954// Use "Send" method on the returned Request to send the API call to the service.
5955// the "output" return value is not valid until after Send returns without error.
5956//
5957// See ListAssociations for more information on using the ListAssociations
5958// API call, and error handling.
5959//
5960// This method is useful when you want to inject custom logic or configuration
5961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5962//
5963//
5964//    // Example sending a request using the ListAssociationsRequest method.
5965//    req, resp := client.ListAssociationsRequest(params)
5966//
5967//    err := req.Send()
5968//    if err == nil { // resp is now filled
5969//        fmt.Println(resp)
5970//    }
5971//
5972// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
5973func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) {
5974	op := &request.Operation{
5975		Name:       opListAssociations,
5976		HTTPMethod: "POST",
5977		HTTPPath:   "/",
5978		Paginator: &request.Paginator{
5979			InputTokens:     []string{"NextToken"},
5980			OutputTokens:    []string{"NextToken"},
5981			LimitToken:      "MaxResults",
5982			TruncationToken: "",
5983		},
5984	}
5985
5986	if input == nil {
5987		input = &ListAssociationsInput{}
5988	}
5989
5990	output = &ListAssociationsOutput{}
5991	req = c.newRequest(op, input, output)
5992	return
5993}
5994
5995// ListAssociations API operation for Amazon Simple Systems Manager (SSM).
5996//
5997// Lists the associations for the specified Systems Manager document or instance.
5998//
5999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6000// with awserr.Error's Code and Message methods to get detailed information about
6001// the error.
6002//
6003// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6004// API operation ListAssociations for usage and error information.
6005//
6006// Returned Error Codes:
6007//   * ErrCodeInternalServerError "InternalServerError"
6008//   An error occurred on the server side.
6009//
6010//   * ErrCodeInvalidNextToken "InvalidNextToken"
6011//   The specified token is not valid.
6012//
6013// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
6014func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) {
6015	req, out := c.ListAssociationsRequest(input)
6016	return out, req.Send()
6017}
6018
6019// ListAssociationsWithContext is the same as ListAssociations with the addition of
6020// the ability to pass a context and additional request options.
6021//
6022// See ListAssociations for details on how to use this API operation.
6023//
6024// The context must be non-nil and will be used for request cancellation. If
6025// the context is nil a panic will occur. In the future the SDK may create
6026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6027// for more information on using Contexts.
6028func (c *SSM) ListAssociationsWithContext(ctx aws.Context, input *ListAssociationsInput, opts ...request.Option) (*ListAssociationsOutput, error) {
6029	req, out := c.ListAssociationsRequest(input)
6030	req.SetContext(ctx)
6031	req.ApplyOptions(opts...)
6032	return out, req.Send()
6033}
6034
6035// ListAssociationsPages iterates over the pages of a ListAssociations operation,
6036// calling the "fn" function with the response data for each page. To stop
6037// iterating, return false from the fn function.
6038//
6039// See ListAssociations method for more information on how to use this operation.
6040//
6041// Note: This operation can generate multiple requests to a service.
6042//
6043//    // Example iterating over at most 3 pages of a ListAssociations operation.
6044//    pageNum := 0
6045//    err := client.ListAssociationsPages(params,
6046//        func(page *ListAssociationsOutput, lastPage bool) bool {
6047//            pageNum++
6048//            fmt.Println(page)
6049//            return pageNum <= 3
6050//        })
6051//
6052func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool) error {
6053	return c.ListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
6054}
6055
6056// ListAssociationsPagesWithContext same as ListAssociationsPages except
6057// it takes a Context and allows setting request options on the pages.
6058//
6059// The context must be non-nil and will be used for request cancellation. If
6060// the context is nil a panic will occur. In the future the SDK may create
6061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6062// for more information on using Contexts.
6063func (c *SSM) ListAssociationsPagesWithContext(ctx aws.Context, input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool, opts ...request.Option) error {
6064	p := request.Pagination{
6065		NewRequest: func() (*request.Request, error) {
6066			var inCpy *ListAssociationsInput
6067			if input != nil {
6068				tmp := *input
6069				inCpy = &tmp
6070			}
6071			req, _ := c.ListAssociationsRequest(inCpy)
6072			req.SetContext(ctx)
6073			req.ApplyOptions(opts...)
6074			return req, nil
6075		},
6076	}
6077
6078	cont := true
6079	for p.Next() && cont {
6080		cont = fn(p.Page().(*ListAssociationsOutput), !p.HasNextPage())
6081	}
6082	return p.Err()
6083}
6084
6085const opListCommandInvocations = "ListCommandInvocations"
6086
6087// ListCommandInvocationsRequest generates a "aws/request.Request" representing the
6088// client's request for the ListCommandInvocations operation. The "output" return
6089// value will be populated with the request's response once the request complets
6090// successfuly.
6091//
6092// Use "Send" method on the returned Request to send the API call to the service.
6093// the "output" return value is not valid until after Send returns without error.
6094//
6095// See ListCommandInvocations for more information on using the ListCommandInvocations
6096// API call, and error handling.
6097//
6098// This method is useful when you want to inject custom logic or configuration
6099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6100//
6101//
6102//    // Example sending a request using the ListCommandInvocationsRequest method.
6103//    req, resp := client.ListCommandInvocationsRequest(params)
6104//
6105//    err := req.Send()
6106//    if err == nil { // resp is now filled
6107//        fmt.Println(resp)
6108//    }
6109//
6110// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
6111func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) {
6112	op := &request.Operation{
6113		Name:       opListCommandInvocations,
6114		HTTPMethod: "POST",
6115		HTTPPath:   "/",
6116		Paginator: &request.Paginator{
6117			InputTokens:     []string{"NextToken"},
6118			OutputTokens:    []string{"NextToken"},
6119			LimitToken:      "MaxResults",
6120			TruncationToken: "",
6121		},
6122	}
6123
6124	if input == nil {
6125		input = &ListCommandInvocationsInput{}
6126	}
6127
6128	output = &ListCommandInvocationsOutput{}
6129	req = c.newRequest(op, input, output)
6130	return
6131}
6132
6133// ListCommandInvocations API operation for Amazon Simple Systems Manager (SSM).
6134//
6135// An invocation is copy of a command sent to a specific instance. A command
6136// can apply to one or more instances. A command invocation applies to one instance.
6137// For example, if a user executes SendCommand against three instances, then
6138// a command invocation is created for each requested instance ID. ListCommandInvocations
6139// provide status about command execution.
6140//
6141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6142// with awserr.Error's Code and Message methods to get detailed information about
6143// the error.
6144//
6145// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6146// API operation ListCommandInvocations for usage and error information.
6147//
6148// Returned Error Codes:
6149//   * ErrCodeInternalServerError "InternalServerError"
6150//   An error occurred on the server side.
6151//
6152//   * ErrCodeInvalidCommandId "InvalidCommandId"
6153//
6154//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
6155//   The following problems can cause this exception:
6156//
6157//   You do not have permission to access the instance.
6158//
6159//   The SSM Agent is not running. On managed instances and Linux instances, verify
6160//   that the SSM Agent is running. On EC2 Windows instances, verify that the
6161//   EC2Config service is running.
6162//
6163//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
6164//   Try reinstalling the SSM Agent or EC2Config service.
6165//
6166//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
6167//   Stopping. Invalid states are: Shutting-down and Terminated.
6168//
6169//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
6170//   The specified key is not valid.
6171//
6172//   * ErrCodeInvalidNextToken "InvalidNextToken"
6173//   The specified token is not valid.
6174//
6175// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
6176func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) {
6177	req, out := c.ListCommandInvocationsRequest(input)
6178	return out, req.Send()
6179}
6180
6181// ListCommandInvocationsWithContext is the same as ListCommandInvocations with the addition of
6182// the ability to pass a context and additional request options.
6183//
6184// See ListCommandInvocations for details on how to use this API operation.
6185//
6186// The context must be non-nil and will be used for request cancellation. If
6187// the context is nil a panic will occur. In the future the SDK may create
6188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6189// for more information on using Contexts.
6190func (c *SSM) ListCommandInvocationsWithContext(ctx aws.Context, input *ListCommandInvocationsInput, opts ...request.Option) (*ListCommandInvocationsOutput, error) {
6191	req, out := c.ListCommandInvocationsRequest(input)
6192	req.SetContext(ctx)
6193	req.ApplyOptions(opts...)
6194	return out, req.Send()
6195}
6196
6197// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation,
6198// calling the "fn" function with the response data for each page. To stop
6199// iterating, return false from the fn function.
6200//
6201// See ListCommandInvocations method for more information on how to use this operation.
6202//
6203// Note: This operation can generate multiple requests to a service.
6204//
6205//    // Example iterating over at most 3 pages of a ListCommandInvocations operation.
6206//    pageNum := 0
6207//    err := client.ListCommandInvocationsPages(params,
6208//        func(page *ListCommandInvocationsOutput, lastPage bool) bool {
6209//            pageNum++
6210//            fmt.Println(page)
6211//            return pageNum <= 3
6212//        })
6213//
6214func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool) error {
6215	return c.ListCommandInvocationsPagesWithContext(aws.BackgroundContext(), input, fn)
6216}
6217
6218// ListCommandInvocationsPagesWithContext same as ListCommandInvocationsPages except
6219// it takes a Context and allows setting request options on the pages.
6220//
6221// The context must be non-nil and will be used for request cancellation. If
6222// the context is nil a panic will occur. In the future the SDK may create
6223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6224// for more information on using Contexts.
6225func (c *SSM) ListCommandInvocationsPagesWithContext(ctx aws.Context, input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool, opts ...request.Option) error {
6226	p := request.Pagination{
6227		NewRequest: func() (*request.Request, error) {
6228			var inCpy *ListCommandInvocationsInput
6229			if input != nil {
6230				tmp := *input
6231				inCpy = &tmp
6232			}
6233			req, _ := c.ListCommandInvocationsRequest(inCpy)
6234			req.SetContext(ctx)
6235			req.ApplyOptions(opts...)
6236			return req, nil
6237		},
6238	}
6239
6240	cont := true
6241	for p.Next() && cont {
6242		cont = fn(p.Page().(*ListCommandInvocationsOutput), !p.HasNextPage())
6243	}
6244	return p.Err()
6245}
6246
6247const opListCommands = "ListCommands"
6248
6249// ListCommandsRequest generates a "aws/request.Request" representing the
6250// client's request for the ListCommands operation. The "output" return
6251// value will be populated with the request's response once the request complets
6252// successfuly.
6253//
6254// Use "Send" method on the returned Request to send the API call to the service.
6255// the "output" return value is not valid until after Send returns without error.
6256//
6257// See ListCommands for more information on using the ListCommands
6258// API call, and error handling.
6259//
6260// This method is useful when you want to inject custom logic or configuration
6261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6262//
6263//
6264//    // Example sending a request using the ListCommandsRequest method.
6265//    req, resp := client.ListCommandsRequest(params)
6266//
6267//    err := req.Send()
6268//    if err == nil { // resp is now filled
6269//        fmt.Println(resp)
6270//    }
6271//
6272// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
6273func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) {
6274	op := &request.Operation{
6275		Name:       opListCommands,
6276		HTTPMethod: "POST",
6277		HTTPPath:   "/",
6278		Paginator: &request.Paginator{
6279			InputTokens:     []string{"NextToken"},
6280			OutputTokens:    []string{"NextToken"},
6281			LimitToken:      "MaxResults",
6282			TruncationToken: "",
6283		},
6284	}
6285
6286	if input == nil {
6287		input = &ListCommandsInput{}
6288	}
6289
6290	output = &ListCommandsOutput{}
6291	req = c.newRequest(op, input, output)
6292	return
6293}
6294
6295// ListCommands API operation for Amazon Simple Systems Manager (SSM).
6296//
6297// Lists the commands requested by users of the AWS account.
6298//
6299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6300// with awserr.Error's Code and Message methods to get detailed information about
6301// the error.
6302//
6303// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6304// API operation ListCommands for usage and error information.
6305//
6306// Returned Error Codes:
6307//   * ErrCodeInternalServerError "InternalServerError"
6308//   An error occurred on the server side.
6309//
6310//   * ErrCodeInvalidCommandId "InvalidCommandId"
6311//
6312//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
6313//   The following problems can cause this exception:
6314//
6315//   You do not have permission to access the instance.
6316//
6317//   The SSM Agent is not running. On managed instances and Linux instances, verify
6318//   that the SSM Agent is running. On EC2 Windows instances, verify that the
6319//   EC2Config service is running.
6320//
6321//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
6322//   Try reinstalling the SSM Agent or EC2Config service.
6323//
6324//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
6325//   Stopping. Invalid states are: Shutting-down and Terminated.
6326//
6327//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
6328//   The specified key is not valid.
6329//
6330//   * ErrCodeInvalidNextToken "InvalidNextToken"
6331//   The specified token is not valid.
6332//
6333// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
6334func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) {
6335	req, out := c.ListCommandsRequest(input)
6336	return out, req.Send()
6337}
6338
6339// ListCommandsWithContext is the same as ListCommands with the addition of
6340// the ability to pass a context and additional request options.
6341//
6342// See ListCommands for details on how to use this API operation.
6343//
6344// The context must be non-nil and will be used for request cancellation. If
6345// the context is nil a panic will occur. In the future the SDK may create
6346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6347// for more information on using Contexts.
6348func (c *SSM) ListCommandsWithContext(ctx aws.Context, input *ListCommandsInput, opts ...request.Option) (*ListCommandsOutput, error) {
6349	req, out := c.ListCommandsRequest(input)
6350	req.SetContext(ctx)
6351	req.ApplyOptions(opts...)
6352	return out, req.Send()
6353}
6354
6355// ListCommandsPages iterates over the pages of a ListCommands operation,
6356// calling the "fn" function with the response data for each page. To stop
6357// iterating, return false from the fn function.
6358//
6359// See ListCommands method for more information on how to use this operation.
6360//
6361// Note: This operation can generate multiple requests to a service.
6362//
6363//    // Example iterating over at most 3 pages of a ListCommands operation.
6364//    pageNum := 0
6365//    err := client.ListCommandsPages(params,
6366//        func(page *ListCommandsOutput, lastPage bool) bool {
6367//            pageNum++
6368//            fmt.Println(page)
6369//            return pageNum <= 3
6370//        })
6371//
6372func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool) error {
6373	return c.ListCommandsPagesWithContext(aws.BackgroundContext(), input, fn)
6374}
6375
6376// ListCommandsPagesWithContext same as ListCommandsPages except
6377// it takes a Context and allows setting request options on the pages.
6378//
6379// The context must be non-nil and will be used for request cancellation. If
6380// the context is nil a panic will occur. In the future the SDK may create
6381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6382// for more information on using Contexts.
6383func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool, opts ...request.Option) error {
6384	p := request.Pagination{
6385		NewRequest: func() (*request.Request, error) {
6386			var inCpy *ListCommandsInput
6387			if input != nil {
6388				tmp := *input
6389				inCpy = &tmp
6390			}
6391			req, _ := c.ListCommandsRequest(inCpy)
6392			req.SetContext(ctx)
6393			req.ApplyOptions(opts...)
6394			return req, nil
6395		},
6396	}
6397
6398	cont := true
6399	for p.Next() && cont {
6400		cont = fn(p.Page().(*ListCommandsOutput), !p.HasNextPage())
6401	}
6402	return p.Err()
6403}
6404
6405const opListComplianceItems = "ListComplianceItems"
6406
6407// ListComplianceItemsRequest generates a "aws/request.Request" representing the
6408// client's request for the ListComplianceItems operation. The "output" return
6409// value will be populated with the request's response once the request complets
6410// successfuly.
6411//
6412// Use "Send" method on the returned Request to send the API call to the service.
6413// the "output" return value is not valid until after Send returns without error.
6414//
6415// See ListComplianceItems for more information on using the ListComplianceItems
6416// API call, and error handling.
6417//
6418// This method is useful when you want to inject custom logic or configuration
6419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6420//
6421//
6422//    // Example sending a request using the ListComplianceItemsRequest method.
6423//    req, resp := client.ListComplianceItemsRequest(params)
6424//
6425//    err := req.Send()
6426//    if err == nil { // resp is now filled
6427//        fmt.Println(resp)
6428//    }
6429//
6430// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
6431func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) {
6432	op := &request.Operation{
6433		Name:       opListComplianceItems,
6434		HTTPMethod: "POST",
6435		HTTPPath:   "/",
6436	}
6437
6438	if input == nil {
6439		input = &ListComplianceItemsInput{}
6440	}
6441
6442	output = &ListComplianceItemsOutput{}
6443	req = c.newRequest(op, input, output)
6444	return
6445}
6446
6447// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM).
6448//
6449// For a specified resource ID, this API action returns a list of compliance
6450// statuses for different resource types. Currently, you can only specify one
6451// resource ID per call. List results depend on the criteria specified in the
6452// filter.
6453//
6454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6455// with awserr.Error's Code and Message methods to get detailed information about
6456// the error.
6457//
6458// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6459// API operation ListComplianceItems for usage and error information.
6460//
6461// Returned Error Codes:
6462//   * ErrCodeInvalidResourceType "InvalidResourceType"
6463//   The resource type is not valid. For example, if you are attempting to tag
6464//   an instance, the instance must be a registered, managed instance.
6465//
6466//   * ErrCodeInvalidResourceId "InvalidResourceId"
6467//   The resource ID is not valid. Verify that you entered the correct ID and
6468//   try again.
6469//
6470//   * ErrCodeInternalServerError "InternalServerError"
6471//   An error occurred on the server side.
6472//
6473//   * ErrCodeInvalidFilter "InvalidFilter"
6474//   The filter name is not valid. Verify the you entered the correct name and
6475//   try again.
6476//
6477//   * ErrCodeInvalidNextToken "InvalidNextToken"
6478//   The specified token is not valid.
6479//
6480// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
6481func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) {
6482	req, out := c.ListComplianceItemsRequest(input)
6483	return out, req.Send()
6484}
6485
6486// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of
6487// the ability to pass a context and additional request options.
6488//
6489// See ListComplianceItems for details on how to use this API operation.
6490//
6491// The context must be non-nil and will be used for request cancellation. If
6492// the context is nil a panic will occur. In the future the SDK may create
6493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6494// for more information on using Contexts.
6495func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) {
6496	req, out := c.ListComplianceItemsRequest(input)
6497	req.SetContext(ctx)
6498	req.ApplyOptions(opts...)
6499	return out, req.Send()
6500}
6501
6502const opListComplianceSummaries = "ListComplianceSummaries"
6503
6504// ListComplianceSummariesRequest generates a "aws/request.Request" representing the
6505// client's request for the ListComplianceSummaries operation. The "output" return
6506// value will be populated with the request's response once the request complets
6507// successfuly.
6508//
6509// Use "Send" method on the returned Request to send the API call to the service.
6510// the "output" return value is not valid until after Send returns without error.
6511//
6512// See ListComplianceSummaries for more information on using the ListComplianceSummaries
6513// API call, and error handling.
6514//
6515// This method is useful when you want to inject custom logic or configuration
6516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6517//
6518//
6519//    // Example sending a request using the ListComplianceSummariesRequest method.
6520//    req, resp := client.ListComplianceSummariesRequest(params)
6521//
6522//    err := req.Send()
6523//    if err == nil { // resp is now filled
6524//        fmt.Println(resp)
6525//    }
6526//
6527// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
6528func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) {
6529	op := &request.Operation{
6530		Name:       opListComplianceSummaries,
6531		HTTPMethod: "POST",
6532		HTTPPath:   "/",
6533	}
6534
6535	if input == nil {
6536		input = &ListComplianceSummariesInput{}
6537	}
6538
6539	output = &ListComplianceSummariesOutput{}
6540	req = c.newRequest(op, input, output)
6541	return
6542}
6543
6544// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
6545//
6546// Returns a summary count of compliant and non-compliant resources for a compliance
6547// type. For example, this call can return State Manager associations, patches,
6548// or custom compliance types according to the filter criteria that you specify.
6549//
6550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6551// with awserr.Error's Code and Message methods to get detailed information about
6552// the error.
6553//
6554// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6555// API operation ListComplianceSummaries for usage and error information.
6556//
6557// Returned Error Codes:
6558//   * ErrCodeInvalidFilter "InvalidFilter"
6559//   The filter name is not valid. Verify the you entered the correct name and
6560//   try again.
6561//
6562//   * ErrCodeInvalidNextToken "InvalidNextToken"
6563//   The specified token is not valid.
6564//
6565//   * ErrCodeInternalServerError "InternalServerError"
6566//   An error occurred on the server side.
6567//
6568// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
6569func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) {
6570	req, out := c.ListComplianceSummariesRequest(input)
6571	return out, req.Send()
6572}
6573
6574// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of
6575// the ability to pass a context and additional request options.
6576//
6577// See ListComplianceSummaries for details on how to use this API operation.
6578//
6579// The context must be non-nil and will be used for request cancellation. If
6580// the context is nil a panic will occur. In the future the SDK may create
6581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6582// for more information on using Contexts.
6583func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) {
6584	req, out := c.ListComplianceSummariesRequest(input)
6585	req.SetContext(ctx)
6586	req.ApplyOptions(opts...)
6587	return out, req.Send()
6588}
6589
6590const opListDocumentVersions = "ListDocumentVersions"
6591
6592// ListDocumentVersionsRequest generates a "aws/request.Request" representing the
6593// client's request for the ListDocumentVersions operation. The "output" return
6594// value will be populated with the request's response once the request complets
6595// successfuly.
6596//
6597// Use "Send" method on the returned Request to send the API call to the service.
6598// the "output" return value is not valid until after Send returns without error.
6599//
6600// See ListDocumentVersions for more information on using the ListDocumentVersions
6601// API call, and error handling.
6602//
6603// This method is useful when you want to inject custom logic or configuration
6604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6605//
6606//
6607//    // Example sending a request using the ListDocumentVersionsRequest method.
6608//    req, resp := client.ListDocumentVersionsRequest(params)
6609//
6610//    err := req.Send()
6611//    if err == nil { // resp is now filled
6612//        fmt.Println(resp)
6613//    }
6614//
6615// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
6616func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) {
6617	op := &request.Operation{
6618		Name:       opListDocumentVersions,
6619		HTTPMethod: "POST",
6620		HTTPPath:   "/",
6621	}
6622
6623	if input == nil {
6624		input = &ListDocumentVersionsInput{}
6625	}
6626
6627	output = &ListDocumentVersionsOutput{}
6628	req = c.newRequest(op, input, output)
6629	return
6630}
6631
6632// ListDocumentVersions API operation for Amazon Simple Systems Manager (SSM).
6633//
6634// List all versions for a document.
6635//
6636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6637// with awserr.Error's Code and Message methods to get detailed information about
6638// the error.
6639//
6640// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6641// API operation ListDocumentVersions for usage and error information.
6642//
6643// Returned Error Codes:
6644//   * ErrCodeInternalServerError "InternalServerError"
6645//   An error occurred on the server side.
6646//
6647//   * ErrCodeInvalidNextToken "InvalidNextToken"
6648//   The specified token is not valid.
6649//
6650//   * ErrCodeInvalidDocument "InvalidDocument"
6651//   The specified document does not exist.
6652//
6653// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
6654func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) {
6655	req, out := c.ListDocumentVersionsRequest(input)
6656	return out, req.Send()
6657}
6658
6659// ListDocumentVersionsWithContext is the same as ListDocumentVersions with the addition of
6660// the ability to pass a context and additional request options.
6661//
6662// See ListDocumentVersions for details on how to use this API operation.
6663//
6664// The context must be non-nil and will be used for request cancellation. If
6665// the context is nil a panic will occur. In the future the SDK may create
6666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6667// for more information on using Contexts.
6668func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocumentVersionsInput, opts ...request.Option) (*ListDocumentVersionsOutput, error) {
6669	req, out := c.ListDocumentVersionsRequest(input)
6670	req.SetContext(ctx)
6671	req.ApplyOptions(opts...)
6672	return out, req.Send()
6673}
6674
6675const opListDocuments = "ListDocuments"
6676
6677// ListDocumentsRequest generates a "aws/request.Request" representing the
6678// client's request for the ListDocuments operation. The "output" return
6679// value will be populated with the request's response once the request complets
6680// successfuly.
6681//
6682// Use "Send" method on the returned Request to send the API call to the service.
6683// the "output" return value is not valid until after Send returns without error.
6684//
6685// See ListDocuments for more information on using the ListDocuments
6686// API call, and error handling.
6687//
6688// This method is useful when you want to inject custom logic or configuration
6689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6690//
6691//
6692//    // Example sending a request using the ListDocumentsRequest method.
6693//    req, resp := client.ListDocumentsRequest(params)
6694//
6695//    err := req.Send()
6696//    if err == nil { // resp is now filled
6697//        fmt.Println(resp)
6698//    }
6699//
6700// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
6701func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) {
6702	op := &request.Operation{
6703		Name:       opListDocuments,
6704		HTTPMethod: "POST",
6705		HTTPPath:   "/",
6706		Paginator: &request.Paginator{
6707			InputTokens:     []string{"NextToken"},
6708			OutputTokens:    []string{"NextToken"},
6709			LimitToken:      "MaxResults",
6710			TruncationToken: "",
6711		},
6712	}
6713
6714	if input == nil {
6715		input = &ListDocumentsInput{}
6716	}
6717
6718	output = &ListDocumentsOutput{}
6719	req = c.newRequest(op, input, output)
6720	return
6721}
6722
6723// ListDocuments API operation for Amazon Simple Systems Manager (SSM).
6724//
6725// Describes one or more of your Systems Manager documents.
6726//
6727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6728// with awserr.Error's Code and Message methods to get detailed information about
6729// the error.
6730//
6731// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6732// API operation ListDocuments for usage and error information.
6733//
6734// Returned Error Codes:
6735//   * ErrCodeInternalServerError "InternalServerError"
6736//   An error occurred on the server side.
6737//
6738//   * ErrCodeInvalidNextToken "InvalidNextToken"
6739//   The specified token is not valid.
6740//
6741//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
6742//   The specified key is not valid.
6743//
6744// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
6745func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) {
6746	req, out := c.ListDocumentsRequest(input)
6747	return out, req.Send()
6748}
6749
6750// ListDocumentsWithContext is the same as ListDocuments with the addition of
6751// the ability to pass a context and additional request options.
6752//
6753// See ListDocuments for details on how to use this API operation.
6754//
6755// The context must be non-nil and will be used for request cancellation. If
6756// the context is nil a panic will occur. In the future the SDK may create
6757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6758// for more information on using Contexts.
6759func (c *SSM) ListDocumentsWithContext(ctx aws.Context, input *ListDocumentsInput, opts ...request.Option) (*ListDocumentsOutput, error) {
6760	req, out := c.ListDocumentsRequest(input)
6761	req.SetContext(ctx)
6762	req.ApplyOptions(opts...)
6763	return out, req.Send()
6764}
6765
6766// ListDocumentsPages iterates over the pages of a ListDocuments operation,
6767// calling the "fn" function with the response data for each page. To stop
6768// iterating, return false from the fn function.
6769//
6770// See ListDocuments method for more information on how to use this operation.
6771//
6772// Note: This operation can generate multiple requests to a service.
6773//
6774//    // Example iterating over at most 3 pages of a ListDocuments operation.
6775//    pageNum := 0
6776//    err := client.ListDocumentsPages(params,
6777//        func(page *ListDocumentsOutput, lastPage bool) bool {
6778//            pageNum++
6779//            fmt.Println(page)
6780//            return pageNum <= 3
6781//        })
6782//
6783func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool) error {
6784	return c.ListDocumentsPagesWithContext(aws.BackgroundContext(), input, fn)
6785}
6786
6787// ListDocumentsPagesWithContext same as ListDocumentsPages except
6788// it takes a Context and allows setting request options on the pages.
6789//
6790// The context must be non-nil and will be used for request cancellation. If
6791// the context is nil a panic will occur. In the future the SDK may create
6792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6793// for more information on using Contexts.
6794func (c *SSM) ListDocumentsPagesWithContext(ctx aws.Context, input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool, opts ...request.Option) error {
6795	p := request.Pagination{
6796		NewRequest: func() (*request.Request, error) {
6797			var inCpy *ListDocumentsInput
6798			if input != nil {
6799				tmp := *input
6800				inCpy = &tmp
6801			}
6802			req, _ := c.ListDocumentsRequest(inCpy)
6803			req.SetContext(ctx)
6804			req.ApplyOptions(opts...)
6805			return req, nil
6806		},
6807	}
6808
6809	cont := true
6810	for p.Next() && cont {
6811		cont = fn(p.Page().(*ListDocumentsOutput), !p.HasNextPage())
6812	}
6813	return p.Err()
6814}
6815
6816const opListInventoryEntries = "ListInventoryEntries"
6817
6818// ListInventoryEntriesRequest generates a "aws/request.Request" representing the
6819// client's request for the ListInventoryEntries operation. The "output" return
6820// value will be populated with the request's response once the request complets
6821// successfuly.
6822//
6823// Use "Send" method on the returned Request to send the API call to the service.
6824// the "output" return value is not valid until after Send returns without error.
6825//
6826// See ListInventoryEntries for more information on using the ListInventoryEntries
6827// API call, and error handling.
6828//
6829// This method is useful when you want to inject custom logic or configuration
6830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6831//
6832//
6833//    // Example sending a request using the ListInventoryEntriesRequest method.
6834//    req, resp := client.ListInventoryEntriesRequest(params)
6835//
6836//    err := req.Send()
6837//    if err == nil { // resp is now filled
6838//        fmt.Println(resp)
6839//    }
6840//
6841// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
6842func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) {
6843	op := &request.Operation{
6844		Name:       opListInventoryEntries,
6845		HTTPMethod: "POST",
6846		HTTPPath:   "/",
6847	}
6848
6849	if input == nil {
6850		input = &ListInventoryEntriesInput{}
6851	}
6852
6853	output = &ListInventoryEntriesOutput{}
6854	req = c.newRequest(op, input, output)
6855	return
6856}
6857
6858// ListInventoryEntries API operation for Amazon Simple Systems Manager (SSM).
6859//
6860// A list of inventory items returned by the request.
6861//
6862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6863// with awserr.Error's Code and Message methods to get detailed information about
6864// the error.
6865//
6866// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6867// API operation ListInventoryEntries for usage and error information.
6868//
6869// Returned Error Codes:
6870//   * ErrCodeInternalServerError "InternalServerError"
6871//   An error occurred on the server side.
6872//
6873//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
6874//   The following problems can cause this exception:
6875//
6876//   You do not have permission to access the instance.
6877//
6878//   The SSM Agent is not running. On managed instances and Linux instances, verify
6879//   that the SSM Agent is running. On EC2 Windows instances, verify that the
6880//   EC2Config service is running.
6881//
6882//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
6883//   Try reinstalling the SSM Agent or EC2Config service.
6884//
6885//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
6886//   Stopping. Invalid states are: Shutting-down and Terminated.
6887//
6888//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
6889//   The parameter type name is not valid.
6890//
6891//   * ErrCodeInvalidFilter "InvalidFilter"
6892//   The filter name is not valid. Verify the you entered the correct name and
6893//   try again.
6894//
6895//   * ErrCodeInvalidNextToken "InvalidNextToken"
6896//   The specified token is not valid.
6897//
6898// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
6899func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) {
6900	req, out := c.ListInventoryEntriesRequest(input)
6901	return out, req.Send()
6902}
6903
6904// ListInventoryEntriesWithContext is the same as ListInventoryEntries with the addition of
6905// the ability to pass a context and additional request options.
6906//
6907// See ListInventoryEntries for details on how to use this API operation.
6908//
6909// The context must be non-nil and will be used for request cancellation. If
6910// the context is nil a panic will occur. In the future the SDK may create
6911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6912// for more information on using Contexts.
6913func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInventoryEntriesInput, opts ...request.Option) (*ListInventoryEntriesOutput, error) {
6914	req, out := c.ListInventoryEntriesRequest(input)
6915	req.SetContext(ctx)
6916	req.ApplyOptions(opts...)
6917	return out, req.Send()
6918}
6919
6920const opListResourceComplianceSummaries = "ListResourceComplianceSummaries"
6921
6922// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the
6923// client's request for the ListResourceComplianceSummaries operation. The "output" return
6924// value will be populated with the request's response once the request complets
6925// successfuly.
6926//
6927// Use "Send" method on the returned Request to send the API call to the service.
6928// the "output" return value is not valid until after Send returns without error.
6929//
6930// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries
6931// API call, and error handling.
6932//
6933// This method is useful when you want to inject custom logic or configuration
6934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6935//
6936//
6937//    // Example sending a request using the ListResourceComplianceSummariesRequest method.
6938//    req, resp := client.ListResourceComplianceSummariesRequest(params)
6939//
6940//    err := req.Send()
6941//    if err == nil { // resp is now filled
6942//        fmt.Println(resp)
6943//    }
6944//
6945// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
6946func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) {
6947	op := &request.Operation{
6948		Name:       opListResourceComplianceSummaries,
6949		HTTPMethod: "POST",
6950		HTTPPath:   "/",
6951	}
6952
6953	if input == nil {
6954		input = &ListResourceComplianceSummariesInput{}
6955	}
6956
6957	output = &ListResourceComplianceSummariesOutput{}
6958	req = c.newRequest(op, input, output)
6959	return
6960}
6961
6962// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
6963//
6964// Returns a resource-level summary count. The summary includes information
6965// about compliant and non-compliant statuses and detailed compliance-item severity
6966// counts, according to the filter criteria you specify.
6967//
6968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6969// with awserr.Error's Code and Message methods to get detailed information about
6970// the error.
6971//
6972// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6973// API operation ListResourceComplianceSummaries for usage and error information.
6974//
6975// Returned Error Codes:
6976//   * ErrCodeInvalidFilter "InvalidFilter"
6977//   The filter name is not valid. Verify the you entered the correct name and
6978//   try again.
6979//
6980//   * ErrCodeInvalidNextToken "InvalidNextToken"
6981//   The specified token is not valid.
6982//
6983//   * ErrCodeInternalServerError "InternalServerError"
6984//   An error occurred on the server side.
6985//
6986// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
6987func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) {
6988	req, out := c.ListResourceComplianceSummariesRequest(input)
6989	return out, req.Send()
6990}
6991
6992// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of
6993// the ability to pass a context and additional request options.
6994//
6995// See ListResourceComplianceSummaries for details on how to use this API operation.
6996//
6997// The context must be non-nil and will be used for request cancellation. If
6998// the context is nil a panic will occur. In the future the SDK may create
6999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7000// for more information on using Contexts.
7001func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) {
7002	req, out := c.ListResourceComplianceSummariesRequest(input)
7003	req.SetContext(ctx)
7004	req.ApplyOptions(opts...)
7005	return out, req.Send()
7006}
7007
7008const opListResourceDataSync = "ListResourceDataSync"
7009
7010// ListResourceDataSyncRequest generates a "aws/request.Request" representing the
7011// client's request for the ListResourceDataSync operation. The "output" return
7012// value will be populated with the request's response once the request complets
7013// successfuly.
7014//
7015// Use "Send" method on the returned Request to send the API call to the service.
7016// the "output" return value is not valid until after Send returns without error.
7017//
7018// See ListResourceDataSync for more information on using the ListResourceDataSync
7019// API call, and error handling.
7020//
7021// This method is useful when you want to inject custom logic or configuration
7022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7023//
7024//
7025//    // Example sending a request using the ListResourceDataSyncRequest method.
7026//    req, resp := client.ListResourceDataSyncRequest(params)
7027//
7028//    err := req.Send()
7029//    if err == nil { // resp is now filled
7030//        fmt.Println(resp)
7031//    }
7032//
7033// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
7034func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req *request.Request, output *ListResourceDataSyncOutput) {
7035	op := &request.Operation{
7036		Name:       opListResourceDataSync,
7037		HTTPMethod: "POST",
7038		HTTPPath:   "/",
7039	}
7040
7041	if input == nil {
7042		input = &ListResourceDataSyncInput{}
7043	}
7044
7045	output = &ListResourceDataSyncOutput{}
7046	req = c.newRequest(op, input, output)
7047	return
7048}
7049
7050// ListResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
7051//
7052// Lists your resource data sync configurations. Includes information about
7053// the last time a sync attempted to start, the last sync status, and the last
7054// time a sync successfully completed.
7055//
7056// The number of sync configurations might be too large to return using a single
7057// call to ListResourceDataSync. You can limit the number of sync configurations
7058// returned by using the MaxResults parameter. To determine whether there are
7059// more sync configurations to list, check the value of NextToken in the output.
7060// If there are more sync configurations to list, you can request them by specifying
7061// the NextToken returned in the call to the parameter of a subsequent call.
7062//
7063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7064// with awserr.Error's Code and Message methods to get detailed information about
7065// the error.
7066//
7067// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7068// API operation ListResourceDataSync for usage and error information.
7069//
7070// Returned Error Codes:
7071//   * ErrCodeInternalServerError "InternalServerError"
7072//   An error occurred on the server side.
7073//
7074//   * ErrCodeInvalidNextToken "InvalidNextToken"
7075//   The specified token is not valid.
7076//
7077// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
7078func (c *SSM) ListResourceDataSync(input *ListResourceDataSyncInput) (*ListResourceDataSyncOutput, error) {
7079	req, out := c.ListResourceDataSyncRequest(input)
7080	return out, req.Send()
7081}
7082
7083// ListResourceDataSyncWithContext is the same as ListResourceDataSync with the addition of
7084// the ability to pass a context and additional request options.
7085//
7086// See ListResourceDataSync for details on how to use this API operation.
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) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResourceDataSyncInput, opts ...request.Option) (*ListResourceDataSyncOutput, error) {
7093	req, out := c.ListResourceDataSyncRequest(input)
7094	req.SetContext(ctx)
7095	req.ApplyOptions(opts...)
7096	return out, req.Send()
7097}
7098
7099const opListTagsForResource = "ListTagsForResource"
7100
7101// ListTagsForResourceRequest generates a "aws/request.Request" representing the
7102// client's request for the ListTagsForResource operation. The "output" return
7103// value will be populated with the request's response once the request complets
7104// successfuly.
7105//
7106// Use "Send" method on the returned Request to send the API call to the service.
7107// the "output" return value is not valid until after Send returns without error.
7108//
7109// See ListTagsForResource for more information on using the ListTagsForResource
7110// API call, and error handling.
7111//
7112// This method is useful when you want to inject custom logic or configuration
7113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7114//
7115//
7116//    // Example sending a request using the ListTagsForResourceRequest method.
7117//    req, resp := client.ListTagsForResourceRequest(params)
7118//
7119//    err := req.Send()
7120//    if err == nil { // resp is now filled
7121//        fmt.Println(resp)
7122//    }
7123//
7124// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
7125func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
7126	op := &request.Operation{
7127		Name:       opListTagsForResource,
7128		HTTPMethod: "POST",
7129		HTTPPath:   "/",
7130	}
7131
7132	if input == nil {
7133		input = &ListTagsForResourceInput{}
7134	}
7135
7136	output = &ListTagsForResourceOutput{}
7137	req = c.newRequest(op, input, output)
7138	return
7139}
7140
7141// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM).
7142//
7143// Returns a list of the tags assigned to the specified resource.
7144//
7145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7146// with awserr.Error's Code and Message methods to get detailed information about
7147// the error.
7148//
7149// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7150// API operation ListTagsForResource for usage and error information.
7151//
7152// Returned Error Codes:
7153//   * ErrCodeInvalidResourceType "InvalidResourceType"
7154//   The resource type is not valid. For example, if you are attempting to tag
7155//   an instance, the instance must be a registered, managed instance.
7156//
7157//   * ErrCodeInvalidResourceId "InvalidResourceId"
7158//   The resource ID is not valid. Verify that you entered the correct ID and
7159//   try again.
7160//
7161//   * ErrCodeInternalServerError "InternalServerError"
7162//   An error occurred on the server side.
7163//
7164// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
7165func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
7166	req, out := c.ListTagsForResourceRequest(input)
7167	return out, req.Send()
7168}
7169
7170// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
7171// the ability to pass a context and additional request options.
7172//
7173// See ListTagsForResource for details on how to use this API operation.
7174//
7175// The context must be non-nil and will be used for request cancellation. If
7176// the context is nil a panic will occur. In the future the SDK may create
7177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7178// for more information on using Contexts.
7179func (c *SSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
7180	req, out := c.ListTagsForResourceRequest(input)
7181	req.SetContext(ctx)
7182	req.ApplyOptions(opts...)
7183	return out, req.Send()
7184}
7185
7186const opModifyDocumentPermission = "ModifyDocumentPermission"
7187
7188// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the
7189// client's request for the ModifyDocumentPermission operation. The "output" return
7190// value will be populated with the request's response once the request complets
7191// successfuly.
7192//
7193// Use "Send" method on the returned Request to send the API call to the service.
7194// the "output" return value is not valid until after Send returns without error.
7195//
7196// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission
7197// API call, and error handling.
7198//
7199// This method is useful when you want to inject custom logic or configuration
7200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7201//
7202//
7203//    // Example sending a request using the ModifyDocumentPermissionRequest method.
7204//    req, resp := client.ModifyDocumentPermissionRequest(params)
7205//
7206//    err := req.Send()
7207//    if err == nil { // resp is now filled
7208//        fmt.Println(resp)
7209//    }
7210//
7211// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
7212func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) {
7213	op := &request.Operation{
7214		Name:       opModifyDocumentPermission,
7215		HTTPMethod: "POST",
7216		HTTPPath:   "/",
7217	}
7218
7219	if input == nil {
7220		input = &ModifyDocumentPermissionInput{}
7221	}
7222
7223	output = &ModifyDocumentPermissionOutput{}
7224	req = c.newRequest(op, input, output)
7225	return
7226}
7227
7228// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
7229//
7230// Shares a Systems Manager document publicly or privately. If you share a document
7231// privately, you must specify the AWS user account IDs for those people who
7232// can use the document. If you share a document publicly, you must specify
7233// All as the account ID.
7234//
7235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7236// with awserr.Error's Code and Message methods to get detailed information about
7237// the error.
7238//
7239// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7240// API operation ModifyDocumentPermission for usage and error information.
7241//
7242// Returned Error Codes:
7243//   * ErrCodeInternalServerError "InternalServerError"
7244//   An error occurred on the server side.
7245//
7246//   * ErrCodeInvalidDocument "InvalidDocument"
7247//   The specified document does not exist.
7248//
7249//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
7250//   The permission type is not supported. Share is the only supported permission
7251//   type.
7252//
7253//   * ErrCodeDocumentPermissionLimit "DocumentPermissionLimit"
7254//   The document cannot be shared with more AWS user accounts. You can share
7255//   a document with a maximum of 20 accounts. You can publicly share up to five
7256//   documents. If you need to increase this limit, contact AWS Support.
7257//
7258//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
7259//   You can have at most 200 active Systems Manager documents.
7260//
7261// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
7262func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) {
7263	req, out := c.ModifyDocumentPermissionRequest(input)
7264	return out, req.Send()
7265}
7266
7267// ModifyDocumentPermissionWithContext is the same as ModifyDocumentPermission with the addition of
7268// the ability to pass a context and additional request options.
7269//
7270// See ModifyDocumentPermission for details on how to use this API operation.
7271//
7272// The context must be non-nil and will be used for request cancellation. If
7273// the context is nil a panic will occur. In the future the SDK may create
7274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7275// for more information on using Contexts.
7276func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *ModifyDocumentPermissionInput, opts ...request.Option) (*ModifyDocumentPermissionOutput, error) {
7277	req, out := c.ModifyDocumentPermissionRequest(input)
7278	req.SetContext(ctx)
7279	req.ApplyOptions(opts...)
7280	return out, req.Send()
7281}
7282
7283const opPutComplianceItems = "PutComplianceItems"
7284
7285// PutComplianceItemsRequest generates a "aws/request.Request" representing the
7286// client's request for the PutComplianceItems operation. The "output" return
7287// value will be populated with the request's response once the request complets
7288// successfuly.
7289//
7290// Use "Send" method on the returned Request to send the API call to the service.
7291// the "output" return value is not valid until after Send returns without error.
7292//
7293// See PutComplianceItems for more information on using the PutComplianceItems
7294// API call, and error handling.
7295//
7296// This method is useful when you want to inject custom logic or configuration
7297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7298//
7299//
7300//    // Example sending a request using the PutComplianceItemsRequest method.
7301//    req, resp := client.PutComplianceItemsRequest(params)
7302//
7303//    err := req.Send()
7304//    if err == nil { // resp is now filled
7305//        fmt.Println(resp)
7306//    }
7307//
7308// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
7309func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) {
7310	op := &request.Operation{
7311		Name:       opPutComplianceItems,
7312		HTTPMethod: "POST",
7313		HTTPPath:   "/",
7314	}
7315
7316	if input == nil {
7317		input = &PutComplianceItemsInput{}
7318	}
7319
7320	output = &PutComplianceItemsOutput{}
7321	req = c.newRequest(op, input, output)
7322	return
7323}
7324
7325// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM).
7326//
7327// Registers a compliance type and other compliance details on a designated
7328// resource. This action lets you register custom compliance details with a
7329// resource. This call overwrites existing compliance information on the resource,
7330// so you must provide a full list of compliance items each time that you send
7331// the request.
7332//
7333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7334// with awserr.Error's Code and Message methods to get detailed information about
7335// the error.
7336//
7337// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7338// API operation PutComplianceItems for usage and error information.
7339//
7340// Returned Error Codes:
7341//   * ErrCodeInternalServerError "InternalServerError"
7342//   An error occurred on the server side.
7343//
7344//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
7345//   One or more content items is not valid.
7346//
7347//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
7348//   The size of inventory data has exceeded the total size limit for the resource.
7349//
7350//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
7351//   The inventory item size has exceeded the size limit.
7352//
7353//   * ErrCodeComplianceTypeCountLimitExceededException "ComplianceTypeCountLimitExceededException"
7354//   You specified too many custom compliance types. You can specify a maximum
7355//   of 10 different types.
7356//
7357//   * ErrCodeInvalidResourceType "InvalidResourceType"
7358//   The resource type is not valid. For example, if you are attempting to tag
7359//   an instance, the instance must be a registered, managed instance.
7360//
7361//   * ErrCodeInvalidResourceId "InvalidResourceId"
7362//   The resource ID is not valid. Verify that you entered the correct ID and
7363//   try again.
7364//
7365// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
7366func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) {
7367	req, out := c.PutComplianceItemsRequest(input)
7368	return out, req.Send()
7369}
7370
7371// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of
7372// the ability to pass a context and additional request options.
7373//
7374// See PutComplianceItems for details on how to use this API operation.
7375//
7376// The context must be non-nil and will be used for request cancellation. If
7377// the context is nil a panic will occur. In the future the SDK may create
7378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7379// for more information on using Contexts.
7380func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) {
7381	req, out := c.PutComplianceItemsRequest(input)
7382	req.SetContext(ctx)
7383	req.ApplyOptions(opts...)
7384	return out, req.Send()
7385}
7386
7387const opPutInventory = "PutInventory"
7388
7389// PutInventoryRequest generates a "aws/request.Request" representing the
7390// client's request for the PutInventory operation. The "output" return
7391// value will be populated with the request's response once the request complets
7392// successfuly.
7393//
7394// Use "Send" method on the returned Request to send the API call to the service.
7395// the "output" return value is not valid until after Send returns without error.
7396//
7397// See PutInventory for more information on using the PutInventory
7398// API call, and error handling.
7399//
7400// This method is useful when you want to inject custom logic or configuration
7401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7402//
7403//
7404//    // Example sending a request using the PutInventoryRequest method.
7405//    req, resp := client.PutInventoryRequest(params)
7406//
7407//    err := req.Send()
7408//    if err == nil { // resp is now filled
7409//        fmt.Println(resp)
7410//    }
7411//
7412// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
7413func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) {
7414	op := &request.Operation{
7415		Name:       opPutInventory,
7416		HTTPMethod: "POST",
7417		HTTPPath:   "/",
7418	}
7419
7420	if input == nil {
7421		input = &PutInventoryInput{}
7422	}
7423
7424	output = &PutInventoryOutput{}
7425	req = c.newRequest(op, input, output)
7426	return
7427}
7428
7429// PutInventory API operation for Amazon Simple Systems Manager (SSM).
7430//
7431// Bulk update custom inventory items on one more instance. The request adds
7432// an inventory item, if it doesn't already exist, or updates an inventory item,
7433// if it does exist.
7434//
7435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7436// with awserr.Error's Code and Message methods to get detailed information about
7437// the error.
7438//
7439// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7440// API operation PutInventory for usage and error information.
7441//
7442// Returned Error Codes:
7443//   * ErrCodeInternalServerError "InternalServerError"
7444//   An error occurred on the server side.
7445//
7446//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
7447//   The following problems can cause this exception:
7448//
7449//   You do not have permission to access the instance.
7450//
7451//   The SSM Agent is not running. On managed instances and Linux instances, verify
7452//   that the SSM Agent is running. On EC2 Windows instances, verify that the
7453//   EC2Config service is running.
7454//
7455//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
7456//   Try reinstalling the SSM Agent or EC2Config service.
7457//
7458//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
7459//   Stopping. Invalid states are: Shutting-down and Terminated.
7460//
7461//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
7462//   The parameter type name is not valid.
7463//
7464//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
7465//   One or more content items is not valid.
7466//
7467//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
7468//   The size of inventory data has exceeded the total size limit for the resource.
7469//
7470//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
7471//   The inventory item size has exceeded the size limit.
7472//
7473//   * ErrCodeItemContentMismatchException "ItemContentMismatchException"
7474//   The inventory item has invalid content.
7475//
7476//   * ErrCodeCustomSchemaCountLimitExceededException "CustomSchemaCountLimitExceededException"
7477//   You have exceeded the limit for custom schemas. Delete one or more custom
7478//   schemas and try again.
7479//
7480//   * ErrCodeUnsupportedInventorySchemaVersionException "UnsupportedInventorySchemaVersionException"
7481//   Inventory item type schema version has to match supported versions in the
7482//   service. Check output of GetInventorySchema to see the available schema version
7483//   for each type.
7484//
7485//   * ErrCodeUnsupportedInventoryItemContextException "UnsupportedInventoryItemContextException"
7486//   The Context attribute that you specified for the InventoryItem is not allowed
7487//   for this inventory type. You can only use the Context attribute with inventory
7488//   types like AWS:ComplianceItem.
7489//
7490//   * ErrCodeInvalidInventoryItemContextException "InvalidInventoryItemContextException"
7491//   You specified invalid keys or values in the Context attribute for InventoryItem.
7492//   Verify the keys and values, and try again.
7493//
7494//   * ErrCodeSubTypeCountLimitExceededException "SubTypeCountLimitExceededException"
7495//   The sub-type count exceeded the limit for the inventory type.
7496//
7497// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
7498func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) {
7499	req, out := c.PutInventoryRequest(input)
7500	return out, req.Send()
7501}
7502
7503// PutInventoryWithContext is the same as PutInventory with the addition of
7504// the ability to pass a context and additional request options.
7505//
7506// See PutInventory for details on how to use this API operation.
7507//
7508// The context must be non-nil and will be used for request cancellation. If
7509// the context is nil a panic will occur. In the future the SDK may create
7510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7511// for more information on using Contexts.
7512func (c *SSM) PutInventoryWithContext(ctx aws.Context, input *PutInventoryInput, opts ...request.Option) (*PutInventoryOutput, error) {
7513	req, out := c.PutInventoryRequest(input)
7514	req.SetContext(ctx)
7515	req.ApplyOptions(opts...)
7516	return out, req.Send()
7517}
7518
7519const opPutParameter = "PutParameter"
7520
7521// PutParameterRequest generates a "aws/request.Request" representing the
7522// client's request for the PutParameter operation. The "output" return
7523// value will be populated with the request's response once the request complets
7524// successfuly.
7525//
7526// Use "Send" method on the returned Request to send the API call to the service.
7527// the "output" return value is not valid until after Send returns without error.
7528//
7529// See PutParameter for more information on using the PutParameter
7530// API call, and error handling.
7531//
7532// This method is useful when you want to inject custom logic or configuration
7533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7534//
7535//
7536//    // Example sending a request using the PutParameterRequest method.
7537//    req, resp := client.PutParameterRequest(params)
7538//
7539//    err := req.Send()
7540//    if err == nil { // resp is now filled
7541//        fmt.Println(resp)
7542//    }
7543//
7544// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
7545func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) {
7546	op := &request.Operation{
7547		Name:       opPutParameter,
7548		HTTPMethod: "POST",
7549		HTTPPath:   "/",
7550	}
7551
7552	if input == nil {
7553		input = &PutParameterInput{}
7554	}
7555
7556	output = &PutParameterOutput{}
7557	req = c.newRequest(op, input, output)
7558	return
7559}
7560
7561// PutParameter API operation for Amazon Simple Systems Manager (SSM).
7562//
7563// Add one or more parameters to the system.
7564//
7565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7566// with awserr.Error's Code and Message methods to get detailed information about
7567// the error.
7568//
7569// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7570// API operation PutParameter for usage and error information.
7571//
7572// Returned Error Codes:
7573//   * ErrCodeInternalServerError "InternalServerError"
7574//   An error occurred on the server side.
7575//
7576//   * ErrCodeInvalidKeyId "InvalidKeyId"
7577//   The query key ID is not valid.
7578//
7579//   * ErrCodeParameterLimitExceeded "ParameterLimitExceeded"
7580//   You have exceeded the number of parameters for this AWS account. Delete one
7581//   or more parameters and try again.
7582//
7583//   * ErrCodeTooManyUpdates "TooManyUpdates"
7584//   There are concurrent updates for a resource that supports one update at a
7585//   time.
7586//
7587//   * ErrCodeParameterAlreadyExists "ParameterAlreadyExists"
7588//   The parameter already exists. You can't create duplicate parameters.
7589//
7590//   * ErrCodeHierarchyLevelLimitExceededException "HierarchyLevelLimitExceededException"
7591//   A hierarchy can have a maximum of five levels. For example:
7592//
7593//   /Finance/Prod/IAD/OS/WinServ2016/license15
7594//
7595//   For more information, see Working with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html).
7596//
7597//   * ErrCodeHierarchyTypeMismatchException "HierarchyTypeMismatchException"
7598//   Parameter Store does not support changing a parameter type in a hierarchy.
7599//   For example, you can't change a parameter from a String type to a SecureString
7600//   type. You must create a new, unique parameter.
7601//
7602//   * ErrCodeInvalidAllowedPatternException "InvalidAllowedPatternException"
7603//   The request does not meet the regular expression requirement.
7604//
7605//   * ErrCodeParameterPatternMismatchException "ParameterPatternMismatchException"
7606//   The parameter name is not valid.
7607//
7608//   * ErrCodeUnsupportedParameterType "UnsupportedParameterType"
7609//   The parameter type is not supported.
7610//
7611// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
7612func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) {
7613	req, out := c.PutParameterRequest(input)
7614	return out, req.Send()
7615}
7616
7617// PutParameterWithContext is the same as PutParameter with the addition of
7618// the ability to pass a context and additional request options.
7619//
7620// See PutParameter for details on how to use this API operation.
7621//
7622// The context must be non-nil and will be used for request cancellation. If
7623// the context is nil a panic will occur. In the future the SDK may create
7624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7625// for more information on using Contexts.
7626func (c *SSM) PutParameterWithContext(ctx aws.Context, input *PutParameterInput, opts ...request.Option) (*PutParameterOutput, error) {
7627	req, out := c.PutParameterRequest(input)
7628	req.SetContext(ctx)
7629	req.ApplyOptions(opts...)
7630	return out, req.Send()
7631}
7632
7633const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline"
7634
7635// RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
7636// client's request for the RegisterDefaultPatchBaseline operation. The "output" return
7637// value will be populated with the request's response once the request complets
7638// successfuly.
7639//
7640// Use "Send" method on the returned Request to send the API call to the service.
7641// the "output" return value is not valid until after Send returns without error.
7642//
7643// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline
7644// API call, and error handling.
7645//
7646// This method is useful when you want to inject custom logic or configuration
7647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7648//
7649//
7650//    // Example sending a request using the RegisterDefaultPatchBaselineRequest method.
7651//    req, resp := client.RegisterDefaultPatchBaselineRequest(params)
7652//
7653//    err := req.Send()
7654//    if err == nil { // resp is now filled
7655//        fmt.Println(resp)
7656//    }
7657//
7658// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
7659func (c *SSM) RegisterDefaultPatchBaselineRequest(input *RegisterDefaultPatchBaselineInput) (req *request.Request, output *RegisterDefaultPatchBaselineOutput) {
7660	op := &request.Operation{
7661		Name:       opRegisterDefaultPatchBaseline,
7662		HTTPMethod: "POST",
7663		HTTPPath:   "/",
7664	}
7665
7666	if input == nil {
7667		input = &RegisterDefaultPatchBaselineInput{}
7668	}
7669
7670	output = &RegisterDefaultPatchBaselineOutput{}
7671	req = c.newRequest(op, input, output)
7672	return
7673}
7674
7675// RegisterDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
7676//
7677// Defines the default patch baseline.
7678//
7679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7680// with awserr.Error's Code and Message methods to get detailed information about
7681// the error.
7682//
7683// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7684// API operation RegisterDefaultPatchBaseline for usage and error information.
7685//
7686// Returned Error Codes:
7687//   * ErrCodeInvalidResourceId "InvalidResourceId"
7688//   The resource ID is not valid. Verify that you entered the correct ID and
7689//   try again.
7690//
7691//   * ErrCodeDoesNotExistException "DoesNotExistException"
7692//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
7693//   doesn't exist.
7694//
7695//   * ErrCodeInternalServerError "InternalServerError"
7696//   An error occurred on the server side.
7697//
7698// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
7699func (c *SSM) RegisterDefaultPatchBaseline(input *RegisterDefaultPatchBaselineInput) (*RegisterDefaultPatchBaselineOutput, error) {
7700	req, out := c.RegisterDefaultPatchBaselineRequest(input)
7701	return out, req.Send()
7702}
7703
7704// RegisterDefaultPatchBaselineWithContext is the same as RegisterDefaultPatchBaseline with the addition of
7705// the ability to pass a context and additional request options.
7706//
7707// See RegisterDefaultPatchBaseline for details on how to use this API operation.
7708//
7709// The context must be non-nil and will be used for request cancellation. If
7710// the context is nil a panic will occur. In the future the SDK may create
7711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7712// for more information on using Contexts.
7713func (c *SSM) RegisterDefaultPatchBaselineWithContext(ctx aws.Context, input *RegisterDefaultPatchBaselineInput, opts ...request.Option) (*RegisterDefaultPatchBaselineOutput, error) {
7714	req, out := c.RegisterDefaultPatchBaselineRequest(input)
7715	req.SetContext(ctx)
7716	req.ApplyOptions(opts...)
7717	return out, req.Send()
7718}
7719
7720const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup"
7721
7722// RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
7723// client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return
7724// value will be populated with the request's response once the request complets
7725// successfuly.
7726//
7727// Use "Send" method on the returned Request to send the API call to the service.
7728// the "output" return value is not valid until after Send returns without error.
7729//
7730// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup
7731// API call, and error handling.
7732//
7733// This method is useful when you want to inject custom logic or configuration
7734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7735//
7736//
7737//    // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method.
7738//    req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params)
7739//
7740//    err := req.Send()
7741//    if err == nil { // resp is now filled
7742//        fmt.Println(resp)
7743//    }
7744//
7745// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
7746func (c *SSM) RegisterPatchBaselineForPatchGroupRequest(input *RegisterPatchBaselineForPatchGroupInput) (req *request.Request, output *RegisterPatchBaselineForPatchGroupOutput) {
7747	op := &request.Operation{
7748		Name:       opRegisterPatchBaselineForPatchGroup,
7749		HTTPMethod: "POST",
7750		HTTPPath:   "/",
7751	}
7752
7753	if input == nil {
7754		input = &RegisterPatchBaselineForPatchGroupInput{}
7755	}
7756
7757	output = &RegisterPatchBaselineForPatchGroupOutput{}
7758	req = c.newRequest(op, input, output)
7759	return
7760}
7761
7762// RegisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
7763//
7764// Registers a patch baseline for a patch group.
7765//
7766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7767// with awserr.Error's Code and Message methods to get detailed information about
7768// the error.
7769//
7770// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7771// API operation RegisterPatchBaselineForPatchGroup for usage and error information.
7772//
7773// Returned Error Codes:
7774//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
7775//   Error returned if an attempt is made to register a patch group with a patch
7776//   baseline that is already registered with a different patch baseline.
7777//
7778//   * ErrCodeDoesNotExistException "DoesNotExistException"
7779//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
7780//   doesn't exist.
7781//
7782//   * ErrCodeInvalidResourceId "InvalidResourceId"
7783//   The resource ID is not valid. Verify that you entered the correct ID and
7784//   try again.
7785//
7786//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
7787//   Error returned when the caller has exceeded the default resource limits (e.g.
7788//   too many Maintenance Windows have been created).
7789//
7790//   * ErrCodeInternalServerError "InternalServerError"
7791//   An error occurred on the server side.
7792//
7793// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
7794func (c *SSM) RegisterPatchBaselineForPatchGroup(input *RegisterPatchBaselineForPatchGroupInput) (*RegisterPatchBaselineForPatchGroupOutput, error) {
7795	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
7796	return out, req.Send()
7797}
7798
7799// RegisterPatchBaselineForPatchGroupWithContext is the same as RegisterPatchBaselineForPatchGroup with the addition of
7800// the ability to pass a context and additional request options.
7801//
7802// See RegisterPatchBaselineForPatchGroup for details on how to use this API operation.
7803//
7804// The context must be non-nil and will be used for request cancellation. If
7805// the context is nil a panic will occur. In the future the SDK may create
7806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7807// for more information on using Contexts.
7808func (c *SSM) RegisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *RegisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*RegisterPatchBaselineForPatchGroupOutput, error) {
7809	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
7810	req.SetContext(ctx)
7811	req.ApplyOptions(opts...)
7812	return out, req.Send()
7813}
7814
7815const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow"
7816
7817// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
7818// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return
7819// value will be populated with the request's response once the request complets
7820// successfuly.
7821//
7822// Use "Send" method on the returned Request to send the API call to the service.
7823// the "output" return value is not valid until after Send returns without error.
7824//
7825// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow
7826// API call, and error handling.
7827//
7828// This method is useful when you want to inject custom logic or configuration
7829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7830//
7831//
7832//    // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method.
7833//    req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params)
7834//
7835//    err := req.Send()
7836//    if err == nil { // resp is now filled
7837//        fmt.Println(resp)
7838//    }
7839//
7840// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
7841func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) {
7842	op := &request.Operation{
7843		Name:       opRegisterTargetWithMaintenanceWindow,
7844		HTTPMethod: "POST",
7845		HTTPPath:   "/",
7846	}
7847
7848	if input == nil {
7849		input = &RegisterTargetWithMaintenanceWindowInput{}
7850	}
7851
7852	output = &RegisterTargetWithMaintenanceWindowOutput{}
7853	req = c.newRequest(op, input, output)
7854	return
7855}
7856
7857// RegisterTargetWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
7858//
7859// Registers a target with a Maintenance Window.
7860//
7861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7862// with awserr.Error's Code and Message methods to get detailed information about
7863// the error.
7864//
7865// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7866// API operation RegisterTargetWithMaintenanceWindow for usage and error information.
7867//
7868// Returned Error Codes:
7869//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
7870//   Error returned when an idempotent operation is retried and the parameters
7871//   don't match the original call to the API with the same idempotency token.
7872//
7873//   * ErrCodeDoesNotExistException "DoesNotExistException"
7874//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
7875//   doesn't exist.
7876//
7877//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
7878//   Error returned when the caller has exceeded the default resource limits (e.g.
7879//   too many Maintenance Windows have been created).
7880//
7881//   * ErrCodeInternalServerError "InternalServerError"
7882//   An error occurred on the server side.
7883//
7884// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
7885func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) {
7886	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
7887	return out, req.Send()
7888}
7889
7890// RegisterTargetWithMaintenanceWindowWithContext is the same as RegisterTargetWithMaintenanceWindow with the addition of
7891// the ability to pass a context and additional request options.
7892//
7893// See RegisterTargetWithMaintenanceWindow for details on how to use this API operation.
7894//
7895// The context must be non-nil and will be used for request cancellation. If
7896// the context is nil a panic will occur. In the future the SDK may create
7897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7898// for more information on using Contexts.
7899func (c *SSM) RegisterTargetWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTargetWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTargetWithMaintenanceWindowOutput, error) {
7900	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
7901	req.SetContext(ctx)
7902	req.ApplyOptions(opts...)
7903	return out, req.Send()
7904}
7905
7906const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow"
7907
7908// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
7909// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return
7910// value will be populated with the request's response once the request complets
7911// successfuly.
7912//
7913// Use "Send" method on the returned Request to send the API call to the service.
7914// the "output" return value is not valid until after Send returns without error.
7915//
7916// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow
7917// API call, and error handling.
7918//
7919// This method is useful when you want to inject custom logic or configuration
7920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7921//
7922//
7923//    // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method.
7924//    req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params)
7925//
7926//    err := req.Send()
7927//    if err == nil { // resp is now filled
7928//        fmt.Println(resp)
7929//    }
7930//
7931// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
7932func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) {
7933	op := &request.Operation{
7934		Name:       opRegisterTaskWithMaintenanceWindow,
7935		HTTPMethod: "POST",
7936		HTTPPath:   "/",
7937	}
7938
7939	if input == nil {
7940		input = &RegisterTaskWithMaintenanceWindowInput{}
7941	}
7942
7943	output = &RegisterTaskWithMaintenanceWindowOutput{}
7944	req = c.newRequest(op, input, output)
7945	return
7946}
7947
7948// RegisterTaskWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
7949//
7950// Adds a new task to a Maintenance Window.
7951//
7952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7953// with awserr.Error's Code and Message methods to get detailed information about
7954// the error.
7955//
7956// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7957// API operation RegisterTaskWithMaintenanceWindow for usage and error information.
7958//
7959// Returned Error Codes:
7960//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
7961//   Error returned when an idempotent operation is retried and the parameters
7962//   don't match the original call to the API with the same idempotency token.
7963//
7964//   * ErrCodeDoesNotExistException "DoesNotExistException"
7965//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
7966//   doesn't exist.
7967//
7968//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
7969//   Error returned when the caller has exceeded the default resource limits (e.g.
7970//   too many Maintenance Windows have been created).
7971//
7972//   * ErrCodeFeatureNotAvailableException "FeatureNotAvailableException"
7973//   You attempted to register a LAMBDA or STEP_FUNCTION task in a region where
7974//   the corresponding service is not available.
7975//
7976//   * ErrCodeInternalServerError "InternalServerError"
7977//   An error occurred on the server side.
7978//
7979// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
7980func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) {
7981	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
7982	return out, req.Send()
7983}
7984
7985// RegisterTaskWithMaintenanceWindowWithContext is the same as RegisterTaskWithMaintenanceWindow with the addition of
7986// the ability to pass a context and additional request options.
7987//
7988// See RegisterTaskWithMaintenanceWindow for details on how to use this API operation.
7989//
7990// The context must be non-nil and will be used for request cancellation. If
7991// the context is nil a panic will occur. In the future the SDK may create
7992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7993// for more information on using Contexts.
7994func (c *SSM) RegisterTaskWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTaskWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTaskWithMaintenanceWindowOutput, error) {
7995	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
7996	req.SetContext(ctx)
7997	req.ApplyOptions(opts...)
7998	return out, req.Send()
7999}
8000
8001const opRemoveTagsFromResource = "RemoveTagsFromResource"
8002
8003// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
8004// client's request for the RemoveTagsFromResource operation. The "output" return
8005// value will be populated with the request's response once the request complets
8006// successfuly.
8007//
8008// Use "Send" method on the returned Request to send the API call to the service.
8009// the "output" return value is not valid until after Send returns without error.
8010//
8011// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
8012// API call, and error handling.
8013//
8014// This method is useful when you want to inject custom logic or configuration
8015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8016//
8017//
8018//    // Example sending a request using the RemoveTagsFromResourceRequest method.
8019//    req, resp := client.RemoveTagsFromResourceRequest(params)
8020//
8021//    err := req.Send()
8022//    if err == nil { // resp is now filled
8023//        fmt.Println(resp)
8024//    }
8025//
8026// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
8027func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
8028	op := &request.Operation{
8029		Name:       opRemoveTagsFromResource,
8030		HTTPMethod: "POST",
8031		HTTPPath:   "/",
8032	}
8033
8034	if input == nil {
8035		input = &RemoveTagsFromResourceInput{}
8036	}
8037
8038	output = &RemoveTagsFromResourceOutput{}
8039	req = c.newRequest(op, input, output)
8040	return
8041}
8042
8043// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM).
8044//
8045// Removes all tags from the specified resource.
8046//
8047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8048// with awserr.Error's Code and Message methods to get detailed information about
8049// the error.
8050//
8051// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8052// API operation RemoveTagsFromResource for usage and error information.
8053//
8054// Returned Error Codes:
8055//   * ErrCodeInvalidResourceType "InvalidResourceType"
8056//   The resource type is not valid. For example, if you are attempting to tag
8057//   an instance, the instance must be a registered, managed instance.
8058//
8059//   * ErrCodeInvalidResourceId "InvalidResourceId"
8060//   The resource ID is not valid. Verify that you entered the correct ID and
8061//   try again.
8062//
8063//   * ErrCodeInternalServerError "InternalServerError"
8064//   An error occurred on the server side.
8065//
8066// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
8067func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
8068	req, out := c.RemoveTagsFromResourceRequest(input)
8069	return out, req.Send()
8070}
8071
8072// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
8073// the ability to pass a context and additional request options.
8074//
8075// See RemoveTagsFromResource for details on how to use this API operation.
8076//
8077// The context must be non-nil and will be used for request cancellation. If
8078// the context is nil a panic will occur. In the future the SDK may create
8079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8080// for more information on using Contexts.
8081func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
8082	req, out := c.RemoveTagsFromResourceRequest(input)
8083	req.SetContext(ctx)
8084	req.ApplyOptions(opts...)
8085	return out, req.Send()
8086}
8087
8088const opSendAutomationSignal = "SendAutomationSignal"
8089
8090// SendAutomationSignalRequest generates a "aws/request.Request" representing the
8091// client's request for the SendAutomationSignal operation. The "output" return
8092// value will be populated with the request's response once the request complets
8093// successfuly.
8094//
8095// Use "Send" method on the returned Request to send the API call to the service.
8096// the "output" return value is not valid until after Send returns without error.
8097//
8098// See SendAutomationSignal for more information on using the SendAutomationSignal
8099// API call, and error handling.
8100//
8101// This method is useful when you want to inject custom logic or configuration
8102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8103//
8104//
8105//    // Example sending a request using the SendAutomationSignalRequest method.
8106//    req, resp := client.SendAutomationSignalRequest(params)
8107//
8108//    err := req.Send()
8109//    if err == nil { // resp is now filled
8110//        fmt.Println(resp)
8111//    }
8112//
8113// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
8114func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) {
8115	op := &request.Operation{
8116		Name:       opSendAutomationSignal,
8117		HTTPMethod: "POST",
8118		HTTPPath:   "/",
8119	}
8120
8121	if input == nil {
8122		input = &SendAutomationSignalInput{}
8123	}
8124
8125	output = &SendAutomationSignalOutput{}
8126	req = c.newRequest(op, input, output)
8127	return
8128}
8129
8130// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM).
8131//
8132// Sends a signal to an Automation execution to change the current behavior
8133// or status of the execution.
8134//
8135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8136// with awserr.Error's Code and Message methods to get detailed information about
8137// the error.
8138//
8139// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8140// API operation SendAutomationSignal for usage and error information.
8141//
8142// Returned Error Codes:
8143//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
8144//   There is no automation execution information for the requested automation
8145//   execution ID.
8146//
8147//   * ErrCodeInvalidAutomationSignalException "InvalidAutomationSignalException"
8148//   The signal is not valid for the current Automation execution.
8149//
8150//   * ErrCodeInternalServerError "InternalServerError"
8151//   An error occurred on the server side.
8152//
8153// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
8154func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) {
8155	req, out := c.SendAutomationSignalRequest(input)
8156	return out, req.Send()
8157}
8158
8159// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of
8160// the ability to pass a context and additional request options.
8161//
8162// See SendAutomationSignal for details on how to use this API operation.
8163//
8164// The context must be non-nil and will be used for request cancellation. If
8165// the context is nil a panic will occur. In the future the SDK may create
8166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8167// for more information on using Contexts.
8168func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) {
8169	req, out := c.SendAutomationSignalRequest(input)
8170	req.SetContext(ctx)
8171	req.ApplyOptions(opts...)
8172	return out, req.Send()
8173}
8174
8175const opSendCommand = "SendCommand"
8176
8177// SendCommandRequest generates a "aws/request.Request" representing the
8178// client's request for the SendCommand operation. The "output" return
8179// value will be populated with the request's response once the request complets
8180// successfuly.
8181//
8182// Use "Send" method on the returned Request to send the API call to the service.
8183// the "output" return value is not valid until after Send returns without error.
8184//
8185// See SendCommand for more information on using the SendCommand
8186// API call, and error handling.
8187//
8188// This method is useful when you want to inject custom logic or configuration
8189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8190//
8191//
8192//    // Example sending a request using the SendCommandRequest method.
8193//    req, resp := client.SendCommandRequest(params)
8194//
8195//    err := req.Send()
8196//    if err == nil { // resp is now filled
8197//        fmt.Println(resp)
8198//    }
8199//
8200// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
8201func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) {
8202	op := &request.Operation{
8203		Name:       opSendCommand,
8204		HTTPMethod: "POST",
8205		HTTPPath:   "/",
8206	}
8207
8208	if input == nil {
8209		input = &SendCommandInput{}
8210	}
8211
8212	output = &SendCommandOutput{}
8213	req = c.newRequest(op, input, output)
8214	return
8215}
8216
8217// SendCommand API operation for Amazon Simple Systems Manager (SSM).
8218//
8219// Executes commands on one or more managed instances.
8220//
8221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8222// with awserr.Error's Code and Message methods to get detailed information about
8223// the error.
8224//
8225// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8226// API operation SendCommand for usage and error information.
8227//
8228// Returned Error Codes:
8229//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
8230//   You cannot specify an instance ID in more than one association.
8231//
8232//   * ErrCodeInternalServerError "InternalServerError"
8233//   An error occurred on the server side.
8234//
8235//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
8236//   The following problems can cause this exception:
8237//
8238//   You do not have permission to access the instance.
8239//
8240//   The SSM Agent is not running. On managed instances and Linux instances, verify
8241//   that the SSM Agent is running. On EC2 Windows instances, verify that the
8242//   EC2Config service is running.
8243//
8244//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
8245//   Try reinstalling the SSM Agent or EC2Config service.
8246//
8247//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
8248//   Stopping. Invalid states are: Shutting-down and Terminated.
8249//
8250//   * ErrCodeInvalidDocument "InvalidDocument"
8251//   The specified document does not exist.
8252//
8253//   * ErrCodeInvalidOutputFolder "InvalidOutputFolder"
8254//   The S3 bucket does not exist.
8255//
8256//   * ErrCodeInvalidParameters "InvalidParameters"
8257//   You must specify values for all required parameters in the Systems Manager
8258//   document. You can only supply values to parameters defined in the Systems
8259//   Manager document.
8260//
8261//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
8262//   The document does not support the platform type of the given instance ID(s).
8263//   For example, you sent an document for a Windows instance to a Linux instance.
8264//
8265//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
8266//   The size limit of a document is 64 KB.
8267//
8268//   * ErrCodeInvalidRole "InvalidRole"
8269//   The role name can't contain invalid characters. Also verify that you specified
8270//   an IAM role for notifications that includes the required trust policy. For
8271//   information about configuring the IAM role for Run Command notifications,
8272//   see Configuring Amazon SNS Notifications for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html)
8273//   in the Amazon EC2 Systems Manager User Guide.
8274//
8275//   * ErrCodeInvalidNotificationConfig "InvalidNotificationConfig"
8276//   One or more configuration items is not valid. Verify that a valid Amazon
8277//   Resource Name (ARN) was provided for an Amazon SNS topic.
8278//
8279// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
8280func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) {
8281	req, out := c.SendCommandRequest(input)
8282	return out, req.Send()
8283}
8284
8285// SendCommandWithContext is the same as SendCommand with the addition of
8286// the ability to pass a context and additional request options.
8287//
8288// See SendCommand for details on how to use this API operation.
8289//
8290// The context must be non-nil and will be used for request cancellation. If
8291// the context is nil a panic will occur. In the future the SDK may create
8292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8293// for more information on using Contexts.
8294func (c *SSM) SendCommandWithContext(ctx aws.Context, input *SendCommandInput, opts ...request.Option) (*SendCommandOutput, error) {
8295	req, out := c.SendCommandRequest(input)
8296	req.SetContext(ctx)
8297	req.ApplyOptions(opts...)
8298	return out, req.Send()
8299}
8300
8301const opStartAutomationExecution = "StartAutomationExecution"
8302
8303// StartAutomationExecutionRequest generates a "aws/request.Request" representing the
8304// client's request for the StartAutomationExecution operation. The "output" return
8305// value will be populated with the request's response once the request complets
8306// successfuly.
8307//
8308// Use "Send" method on the returned Request to send the API call to the service.
8309// the "output" return value is not valid until after Send returns without error.
8310//
8311// See StartAutomationExecution for more information on using the StartAutomationExecution
8312// API call, and error handling.
8313//
8314// This method is useful when you want to inject custom logic or configuration
8315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8316//
8317//
8318//    // Example sending a request using the StartAutomationExecutionRequest method.
8319//    req, resp := client.StartAutomationExecutionRequest(params)
8320//
8321//    err := req.Send()
8322//    if err == nil { // resp is now filled
8323//        fmt.Println(resp)
8324//    }
8325//
8326// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
8327func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) {
8328	op := &request.Operation{
8329		Name:       opStartAutomationExecution,
8330		HTTPMethod: "POST",
8331		HTTPPath:   "/",
8332	}
8333
8334	if input == nil {
8335		input = &StartAutomationExecutionInput{}
8336	}
8337
8338	output = &StartAutomationExecutionOutput{}
8339	req = c.newRequest(op, input, output)
8340	return
8341}
8342
8343// StartAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
8344//
8345// Initiates execution of an Automation document.
8346//
8347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8348// with awserr.Error's Code and Message methods to get detailed information about
8349// the error.
8350//
8351// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8352// API operation StartAutomationExecution for usage and error information.
8353//
8354// Returned Error Codes:
8355//   * ErrCodeAutomationDefinitionNotFoundException "AutomationDefinitionNotFoundException"
8356//   An Automation document with the specified name could not be found.
8357//
8358//   * ErrCodeInvalidAutomationExecutionParametersException "InvalidAutomationExecutionParametersException"
8359//   The supplied parameters for invoking the specified Automation document are
8360//   incorrect. For example, they may not match the set of parameters permitted
8361//   for the specified Automation document.
8362//
8363//   * ErrCodeAutomationExecutionLimitExceededException "AutomationExecutionLimitExceededException"
8364//   The number of simultaneously running Automation executions exceeded the allowable
8365//   limit.
8366//
8367//   * ErrCodeAutomationDefinitionVersionNotFoundException "AutomationDefinitionVersionNotFoundException"
8368//   An Automation document with the specified name and version could not be found.
8369//
8370//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
8371//   Error returned when an idempotent operation is retried and the parameters
8372//   don't match the original call to the API with the same idempotency token.
8373//
8374//   * ErrCodeInternalServerError "InternalServerError"
8375//   An error occurred on the server side.
8376//
8377// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
8378func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) {
8379	req, out := c.StartAutomationExecutionRequest(input)
8380	return out, req.Send()
8381}
8382
8383// StartAutomationExecutionWithContext is the same as StartAutomationExecution with the addition of
8384// the ability to pass a context and additional request options.
8385//
8386// See StartAutomationExecution for details on how to use this API operation.
8387//
8388// The context must be non-nil and will be used for request cancellation. If
8389// the context is nil a panic will occur. In the future the SDK may create
8390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8391// for more information on using Contexts.
8392func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartAutomationExecutionInput, opts ...request.Option) (*StartAutomationExecutionOutput, error) {
8393	req, out := c.StartAutomationExecutionRequest(input)
8394	req.SetContext(ctx)
8395	req.ApplyOptions(opts...)
8396	return out, req.Send()
8397}
8398
8399const opStopAutomationExecution = "StopAutomationExecution"
8400
8401// StopAutomationExecutionRequest generates a "aws/request.Request" representing the
8402// client's request for the StopAutomationExecution operation. The "output" return
8403// value will be populated with the request's response once the request complets
8404// successfuly.
8405//
8406// Use "Send" method on the returned Request to send the API call to the service.
8407// the "output" return value is not valid until after Send returns without error.
8408//
8409// See StopAutomationExecution for more information on using the StopAutomationExecution
8410// API call, and error handling.
8411//
8412// This method is useful when you want to inject custom logic or configuration
8413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8414//
8415//
8416//    // Example sending a request using the StopAutomationExecutionRequest method.
8417//    req, resp := client.StopAutomationExecutionRequest(params)
8418//
8419//    err := req.Send()
8420//    if err == nil { // resp is now filled
8421//        fmt.Println(resp)
8422//    }
8423//
8424// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
8425func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) {
8426	op := &request.Operation{
8427		Name:       opStopAutomationExecution,
8428		HTTPMethod: "POST",
8429		HTTPPath:   "/",
8430	}
8431
8432	if input == nil {
8433		input = &StopAutomationExecutionInput{}
8434	}
8435
8436	output = &StopAutomationExecutionOutput{}
8437	req = c.newRequest(op, input, output)
8438	return
8439}
8440
8441// StopAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
8442//
8443// Stop an Automation that is currently executing.
8444//
8445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8446// with awserr.Error's Code and Message methods to get detailed information about
8447// the error.
8448//
8449// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8450// API operation StopAutomationExecution for usage and error information.
8451//
8452// Returned Error Codes:
8453//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
8454//   There is no automation execution information for the requested automation
8455//   execution ID.
8456//
8457//   * ErrCodeInternalServerError "InternalServerError"
8458//   An error occurred on the server side.
8459//
8460// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
8461func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) {
8462	req, out := c.StopAutomationExecutionRequest(input)
8463	return out, req.Send()
8464}
8465
8466// StopAutomationExecutionWithContext is the same as StopAutomationExecution with the addition of
8467// the ability to pass a context and additional request options.
8468//
8469// See StopAutomationExecution for details on how to use this API operation.
8470//
8471// The context must be non-nil and will be used for request cancellation. If
8472// the context is nil a panic will occur. In the future the SDK may create
8473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8474// for more information on using Contexts.
8475func (c *SSM) StopAutomationExecutionWithContext(ctx aws.Context, input *StopAutomationExecutionInput, opts ...request.Option) (*StopAutomationExecutionOutput, error) {
8476	req, out := c.StopAutomationExecutionRequest(input)
8477	req.SetContext(ctx)
8478	req.ApplyOptions(opts...)
8479	return out, req.Send()
8480}
8481
8482const opUpdateAssociation = "UpdateAssociation"
8483
8484// UpdateAssociationRequest generates a "aws/request.Request" representing the
8485// client's request for the UpdateAssociation operation. The "output" return
8486// value will be populated with the request's response once the request complets
8487// successfuly.
8488//
8489// Use "Send" method on the returned Request to send the API call to the service.
8490// the "output" return value is not valid until after Send returns without error.
8491//
8492// See UpdateAssociation for more information on using the UpdateAssociation
8493// API call, and error handling.
8494//
8495// This method is useful when you want to inject custom logic or configuration
8496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8497//
8498//
8499//    // Example sending a request using the UpdateAssociationRequest method.
8500//    req, resp := client.UpdateAssociationRequest(params)
8501//
8502//    err := req.Send()
8503//    if err == nil { // resp is now filled
8504//        fmt.Println(resp)
8505//    }
8506//
8507// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
8508func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) {
8509	op := &request.Operation{
8510		Name:       opUpdateAssociation,
8511		HTTPMethod: "POST",
8512		HTTPPath:   "/",
8513	}
8514
8515	if input == nil {
8516		input = &UpdateAssociationInput{}
8517	}
8518
8519	output = &UpdateAssociationOutput{}
8520	req = c.newRequest(op, input, output)
8521	return
8522}
8523
8524// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM).
8525//
8526// Updates an association. You can update the association name and version,
8527// the document version, schedule, parameters, and Amazon S3 output.
8528//
8529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8530// with awserr.Error's Code and Message methods to get detailed information about
8531// the error.
8532//
8533// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8534// API operation UpdateAssociation for usage and error information.
8535//
8536// Returned Error Codes:
8537//   * ErrCodeInternalServerError "InternalServerError"
8538//   An error occurred on the server side.
8539//
8540//   * ErrCodeInvalidSchedule "InvalidSchedule"
8541//   The schedule is invalid. Verify your cron or rate expression and try again.
8542//
8543//   * ErrCodeInvalidParameters "InvalidParameters"
8544//   You must specify values for all required parameters in the Systems Manager
8545//   document. You can only supply values to parameters defined in the Systems
8546//   Manager document.
8547//
8548//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
8549//   The output location is not valid or does not exist.
8550//
8551//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
8552//   The document version is not valid or does not exist.
8553//
8554//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
8555//   The specified association does not exist.
8556//
8557//   * ErrCodeInvalidUpdate "InvalidUpdate"
8558//   The update is not valid.
8559//
8560//   * ErrCodeTooManyUpdates "TooManyUpdates"
8561//   There are concurrent updates for a resource that supports one update at a
8562//   time.
8563//
8564//   * ErrCodeInvalidDocument "InvalidDocument"
8565//   The specified document does not exist.
8566//
8567//   * ErrCodeInvalidTarget "InvalidTarget"
8568//   The target is not valid or does not exist. It might not be configured for
8569//   EC2 Systems Manager or you might not have permission to perform the operation.
8570//
8571//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
8572//   The version you specified is not valid. Use ListAssociationVersions to view
8573//   all versions of an association according to the association ID. Or, use the
8574//   $LATEST parameter to view the latest version of the association.
8575//
8576//   * ErrCodeAssociationVersionLimitExceeded "AssociationVersionLimitExceeded"
8577//   You have reached the maximum number versions allowed for an association.
8578//   Each association has a limit of 1,000 versions.
8579//
8580// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
8581func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) {
8582	req, out := c.UpdateAssociationRequest(input)
8583	return out, req.Send()
8584}
8585
8586// UpdateAssociationWithContext is the same as UpdateAssociation with the addition of
8587// the ability to pass a context and additional request options.
8588//
8589// See UpdateAssociation for details on how to use this API operation.
8590//
8591// The context must be non-nil and will be used for request cancellation. If
8592// the context is nil a panic will occur. In the future the SDK may create
8593// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8594// for more information on using Contexts.
8595func (c *SSM) UpdateAssociationWithContext(ctx aws.Context, input *UpdateAssociationInput, opts ...request.Option) (*UpdateAssociationOutput, error) {
8596	req, out := c.UpdateAssociationRequest(input)
8597	req.SetContext(ctx)
8598	req.ApplyOptions(opts...)
8599	return out, req.Send()
8600}
8601
8602const opUpdateAssociationStatus = "UpdateAssociationStatus"
8603
8604// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the
8605// client's request for the UpdateAssociationStatus operation. The "output" return
8606// value will be populated with the request's response once the request complets
8607// successfuly.
8608//
8609// Use "Send" method on the returned Request to send the API call to the service.
8610// the "output" return value is not valid until after Send returns without error.
8611//
8612// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus
8613// API call, and error handling.
8614//
8615// This method is useful when you want to inject custom logic or configuration
8616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8617//
8618//
8619//    // Example sending a request using the UpdateAssociationStatusRequest method.
8620//    req, resp := client.UpdateAssociationStatusRequest(params)
8621//
8622//    err := req.Send()
8623//    if err == nil { // resp is now filled
8624//        fmt.Println(resp)
8625//    }
8626//
8627// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
8628func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) {
8629	op := &request.Operation{
8630		Name:       opUpdateAssociationStatus,
8631		HTTPMethod: "POST",
8632		HTTPPath:   "/",
8633	}
8634
8635	if input == nil {
8636		input = &UpdateAssociationStatusInput{}
8637	}
8638
8639	output = &UpdateAssociationStatusOutput{}
8640	req = c.newRequest(op, input, output)
8641	return
8642}
8643
8644// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM).
8645//
8646// Updates the status of the Systems Manager document associated with the specified
8647// instance.
8648//
8649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8650// with awserr.Error's Code and Message methods to get detailed information about
8651// the error.
8652//
8653// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8654// API operation UpdateAssociationStatus for usage and error information.
8655//
8656// Returned Error Codes:
8657//   * ErrCodeInternalServerError "InternalServerError"
8658//   An error occurred on the server side.
8659//
8660//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
8661//   The following problems can cause this exception:
8662//
8663//   You do not have permission to access the instance.
8664//
8665//   The SSM Agent is not running. On managed instances and Linux instances, verify
8666//   that the SSM Agent is running. On EC2 Windows instances, verify that the
8667//   EC2Config service is running.
8668//
8669//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
8670//   Try reinstalling the SSM Agent or EC2Config service.
8671//
8672//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
8673//   Stopping. Invalid states are: Shutting-down and Terminated.
8674//
8675//   * ErrCodeInvalidDocument "InvalidDocument"
8676//   The specified document does not exist.
8677//
8678//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
8679//   The specified association does not exist.
8680//
8681//   * ErrCodeStatusUnchanged "StatusUnchanged"
8682//   The updated status is the same as the current status.
8683//
8684//   * ErrCodeTooManyUpdates "TooManyUpdates"
8685//   There are concurrent updates for a resource that supports one update at a
8686//   time.
8687//
8688// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
8689func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) {
8690	req, out := c.UpdateAssociationStatusRequest(input)
8691	return out, req.Send()
8692}
8693
8694// UpdateAssociationStatusWithContext is the same as UpdateAssociationStatus with the addition of
8695// the ability to pass a context and additional request options.
8696//
8697// See UpdateAssociationStatus for details on how to use this API operation.
8698//
8699// The context must be non-nil and will be used for request cancellation. If
8700// the context is nil a panic will occur. In the future the SDK may create
8701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8702// for more information on using Contexts.
8703func (c *SSM) UpdateAssociationStatusWithContext(ctx aws.Context, input *UpdateAssociationStatusInput, opts ...request.Option) (*UpdateAssociationStatusOutput, error) {
8704	req, out := c.UpdateAssociationStatusRequest(input)
8705	req.SetContext(ctx)
8706	req.ApplyOptions(opts...)
8707	return out, req.Send()
8708}
8709
8710const opUpdateDocument = "UpdateDocument"
8711
8712// UpdateDocumentRequest generates a "aws/request.Request" representing the
8713// client's request for the UpdateDocument operation. The "output" return
8714// value will be populated with the request's response once the request complets
8715// successfuly.
8716//
8717// Use "Send" method on the returned Request to send the API call to the service.
8718// the "output" return value is not valid until after Send returns without error.
8719//
8720// See UpdateDocument for more information on using the UpdateDocument
8721// API call, and error handling.
8722//
8723// This method is useful when you want to inject custom logic or configuration
8724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8725//
8726//
8727//    // Example sending a request using the UpdateDocumentRequest method.
8728//    req, resp := client.UpdateDocumentRequest(params)
8729//
8730//    err := req.Send()
8731//    if err == nil { // resp is now filled
8732//        fmt.Println(resp)
8733//    }
8734//
8735// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
8736func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
8737	op := &request.Operation{
8738		Name:       opUpdateDocument,
8739		HTTPMethod: "POST",
8740		HTTPPath:   "/",
8741	}
8742
8743	if input == nil {
8744		input = &UpdateDocumentInput{}
8745	}
8746
8747	output = &UpdateDocumentOutput{}
8748	req = c.newRequest(op, input, output)
8749	return
8750}
8751
8752// UpdateDocument API operation for Amazon Simple Systems Manager (SSM).
8753//
8754// The document you want to update.
8755//
8756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8757// with awserr.Error's Code and Message methods to get detailed information about
8758// the error.
8759//
8760// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8761// API operation UpdateDocument for usage and error information.
8762//
8763// Returned Error Codes:
8764//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
8765//   The size limit of a document is 64 KB.
8766//
8767//   * ErrCodeDocumentVersionLimitExceeded "DocumentVersionLimitExceeded"
8768//   The document has too many versions. Delete one or more document versions
8769//   and try again.
8770//
8771//   * ErrCodeInternalServerError "InternalServerError"
8772//   An error occurred on the server side.
8773//
8774//   * ErrCodeDuplicateDocumentContent "DuplicateDocumentContent"
8775//   The content of the association document matches another document. Change
8776//   the content of the document and try again.
8777//
8778//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
8779//   The content for the document is not valid.
8780//
8781//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
8782//   The document version is not valid or does not exist.
8783//
8784//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
8785//   The version of the document schema is not supported.
8786//
8787//   * ErrCodeInvalidDocument "InvalidDocument"
8788//   The specified document does not exist.
8789//
8790// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
8791func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
8792	req, out := c.UpdateDocumentRequest(input)
8793	return out, req.Send()
8794}
8795
8796// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
8797// the ability to pass a context and additional request options.
8798//
8799// See UpdateDocument for details on how to use this API operation.
8800//
8801// The context must be non-nil and will be used for request cancellation. If
8802// the context is nil a panic will occur. In the future the SDK may create
8803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8804// for more information on using Contexts.
8805func (c *SSM) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
8806	req, out := c.UpdateDocumentRequest(input)
8807	req.SetContext(ctx)
8808	req.ApplyOptions(opts...)
8809	return out, req.Send()
8810}
8811
8812const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion"
8813
8814// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the
8815// client's request for the UpdateDocumentDefaultVersion operation. The "output" return
8816// value will be populated with the request's response once the request complets
8817// successfuly.
8818//
8819// Use "Send" method on the returned Request to send the API call to the service.
8820// the "output" return value is not valid until after Send returns without error.
8821//
8822// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion
8823// API call, and error handling.
8824//
8825// This method is useful when you want to inject custom logic or configuration
8826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8827//
8828//
8829//    // Example sending a request using the UpdateDocumentDefaultVersionRequest method.
8830//    req, resp := client.UpdateDocumentDefaultVersionRequest(params)
8831//
8832//    err := req.Send()
8833//    if err == nil { // resp is now filled
8834//        fmt.Println(resp)
8835//    }
8836//
8837// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
8838func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) {
8839	op := &request.Operation{
8840		Name:       opUpdateDocumentDefaultVersion,
8841		HTTPMethod: "POST",
8842		HTTPPath:   "/",
8843	}
8844
8845	if input == nil {
8846		input = &UpdateDocumentDefaultVersionInput{}
8847	}
8848
8849	output = &UpdateDocumentDefaultVersionOutput{}
8850	req = c.newRequest(op, input, output)
8851	return
8852}
8853
8854// UpdateDocumentDefaultVersion API operation for Amazon Simple Systems Manager (SSM).
8855//
8856// Set the default version of a document.
8857//
8858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8859// with awserr.Error's Code and Message methods to get detailed information about
8860// the error.
8861//
8862// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8863// API operation UpdateDocumentDefaultVersion for usage and error information.
8864//
8865// Returned Error Codes:
8866//   * ErrCodeInternalServerError "InternalServerError"
8867//   An error occurred on the server side.
8868//
8869//   * ErrCodeInvalidDocument "InvalidDocument"
8870//   The specified document does not exist.
8871//
8872//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
8873//   The document version is not valid or does not exist.
8874//
8875//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
8876//   The version of the document schema is not supported.
8877//
8878// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
8879func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) {
8880	req, out := c.UpdateDocumentDefaultVersionRequest(input)
8881	return out, req.Send()
8882}
8883
8884// UpdateDocumentDefaultVersionWithContext is the same as UpdateDocumentDefaultVersion with the addition of
8885// the ability to pass a context and additional request options.
8886//
8887// See UpdateDocumentDefaultVersion for details on how to use this API operation.
8888//
8889// The context must be non-nil and will be used for request cancellation. If
8890// the context is nil a panic will occur. In the future the SDK may create
8891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8892// for more information on using Contexts.
8893func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *UpdateDocumentDefaultVersionInput, opts ...request.Option) (*UpdateDocumentDefaultVersionOutput, error) {
8894	req, out := c.UpdateDocumentDefaultVersionRequest(input)
8895	req.SetContext(ctx)
8896	req.ApplyOptions(opts...)
8897	return out, req.Send()
8898}
8899
8900const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow"
8901
8902// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the
8903// client's request for the UpdateMaintenanceWindow operation. The "output" return
8904// value will be populated with the request's response once the request complets
8905// successfuly.
8906//
8907// Use "Send" method on the returned Request to send the API call to the service.
8908// the "output" return value is not valid until after Send returns without error.
8909//
8910// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow
8911// API call, and error handling.
8912//
8913// This method is useful when you want to inject custom logic or configuration
8914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8915//
8916//
8917//    // Example sending a request using the UpdateMaintenanceWindowRequest method.
8918//    req, resp := client.UpdateMaintenanceWindowRequest(params)
8919//
8920//    err := req.Send()
8921//    if err == nil { // resp is now filled
8922//        fmt.Println(resp)
8923//    }
8924//
8925// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
8926func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) {
8927	op := &request.Operation{
8928		Name:       opUpdateMaintenanceWindow,
8929		HTTPMethod: "POST",
8930		HTTPPath:   "/",
8931	}
8932
8933	if input == nil {
8934		input = &UpdateMaintenanceWindowInput{}
8935	}
8936
8937	output = &UpdateMaintenanceWindowOutput{}
8938	req = c.newRequest(op, input, output)
8939	return
8940}
8941
8942// UpdateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
8943//
8944// Updates an existing Maintenance Window. Only specified parameters are modified.
8945//
8946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8947// with awserr.Error's Code and Message methods to get detailed information about
8948// the error.
8949//
8950// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8951// API operation UpdateMaintenanceWindow for usage and error information.
8952//
8953// Returned Error Codes:
8954//   * ErrCodeDoesNotExistException "DoesNotExistException"
8955//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
8956//   doesn't exist.
8957//
8958//   * ErrCodeInternalServerError "InternalServerError"
8959//   An error occurred on the server side.
8960//
8961// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
8962func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) {
8963	req, out := c.UpdateMaintenanceWindowRequest(input)
8964	return out, req.Send()
8965}
8966
8967// UpdateMaintenanceWindowWithContext is the same as UpdateMaintenanceWindow with the addition of
8968// the ability to pass a context and additional request options.
8969//
8970// See UpdateMaintenanceWindow for details on how to use this API operation.
8971//
8972// The context must be non-nil and will be used for request cancellation. If
8973// the context is nil a panic will occur. In the future the SDK may create
8974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8975// for more information on using Contexts.
8976func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateMaintenanceWindowInput, opts ...request.Option) (*UpdateMaintenanceWindowOutput, error) {
8977	req, out := c.UpdateMaintenanceWindowRequest(input)
8978	req.SetContext(ctx)
8979	req.ApplyOptions(opts...)
8980	return out, req.Send()
8981}
8982
8983const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget"
8984
8985// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the
8986// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return
8987// value will be populated with the request's response once the request complets
8988// successfuly.
8989//
8990// Use "Send" method on the returned Request to send the API call to the service.
8991// the "output" return value is not valid until after Send returns without error.
8992//
8993// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget
8994// API call, and error handling.
8995//
8996// This method is useful when you want to inject custom logic or configuration
8997// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8998//
8999//
9000//    // Example sending a request using the UpdateMaintenanceWindowTargetRequest method.
9001//    req, resp := client.UpdateMaintenanceWindowTargetRequest(params)
9002//
9003//    err := req.Send()
9004//    if err == nil { // resp is now filled
9005//        fmt.Println(resp)
9006//    }
9007//
9008// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
9009func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) {
9010	op := &request.Operation{
9011		Name:       opUpdateMaintenanceWindowTarget,
9012		HTTPMethod: "POST",
9013		HTTPPath:   "/",
9014	}
9015
9016	if input == nil {
9017		input = &UpdateMaintenanceWindowTargetInput{}
9018	}
9019
9020	output = &UpdateMaintenanceWindowTargetOutput{}
9021	req = c.newRequest(op, input, output)
9022	return
9023}
9024
9025// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM).
9026//
9027// Modifies the target of an existing Maintenance Window. You can't change the
9028// target type, but you can change the following:
9029//
9030// The target from being an ID target to a Tag target, or a Tag target to an
9031// ID target.
9032//
9033// IDs for an ID target.
9034//
9035// Tags for a Tag target.
9036//
9037// Owner.
9038//
9039// Name.
9040//
9041// Description.
9042//
9043// If a parameter is null, then the corresponding field is not modified.
9044//
9045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9046// with awserr.Error's Code and Message methods to get detailed information about
9047// the error.
9048//
9049// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9050// API operation UpdateMaintenanceWindowTarget for usage and error information.
9051//
9052// Returned Error Codes:
9053//   * ErrCodeDoesNotExistException "DoesNotExistException"
9054//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
9055//   doesn't exist.
9056//
9057//   * ErrCodeInternalServerError "InternalServerError"
9058//   An error occurred on the server side.
9059//
9060// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
9061func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) {
9062	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
9063	return out, req.Send()
9064}
9065
9066// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of
9067// the ability to pass a context and additional request options.
9068//
9069// See UpdateMaintenanceWindowTarget for details on how to use this API operation.
9070//
9071// The context must be non-nil and will be used for request cancellation. If
9072// the context is nil a panic will occur. In the future the SDK may create
9073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9074// for more information on using Contexts.
9075func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) {
9076	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
9077	req.SetContext(ctx)
9078	req.ApplyOptions(opts...)
9079	return out, req.Send()
9080}
9081
9082const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask"
9083
9084// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
9085// client's request for the UpdateMaintenanceWindowTask operation. The "output" return
9086// value will be populated with the request's response once the request complets
9087// successfuly.
9088//
9089// Use "Send" method on the returned Request to send the API call to the service.
9090// the "output" return value is not valid until after Send returns without error.
9091//
9092// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask
9093// API call, and error handling.
9094//
9095// This method is useful when you want to inject custom logic or configuration
9096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9097//
9098//
9099//    // Example sending a request using the UpdateMaintenanceWindowTaskRequest method.
9100//    req, resp := client.UpdateMaintenanceWindowTaskRequest(params)
9101//
9102//    err := req.Send()
9103//    if err == nil { // resp is now filled
9104//        fmt.Println(resp)
9105//    }
9106//
9107// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
9108func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) {
9109	op := &request.Operation{
9110		Name:       opUpdateMaintenanceWindowTask,
9111		HTTPMethod: "POST",
9112		HTTPPath:   "/",
9113	}
9114
9115	if input == nil {
9116		input = &UpdateMaintenanceWindowTaskInput{}
9117	}
9118
9119	output = &UpdateMaintenanceWindowTaskOutput{}
9120	req = c.newRequest(op, input, output)
9121	return
9122}
9123
9124// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
9125//
9126// Modifies a task assigned to a Maintenance Window. You can't change the task
9127// type, but you can change the following values:
9128//
9129// Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript
9130// to AWS-RunShellScript.
9131//
9132// Service role ARN.
9133//
9134// Task parameters.
9135//
9136// Task priority.
9137//
9138// Task MaxConcurrency and MaxErrors.
9139//
9140// Log location.
9141//
9142// If a parameter is null, then the corresponding field is not modified. Also,
9143// if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow
9144// action are required for this request. Optional fields that aren't specified
9145// are set to null.
9146//
9147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9148// with awserr.Error's Code and Message methods to get detailed information about
9149// the error.
9150//
9151// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9152// API operation UpdateMaintenanceWindowTask for usage and error information.
9153//
9154// Returned Error Codes:
9155//   * ErrCodeDoesNotExistException "DoesNotExistException"
9156//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
9157//   doesn't exist.
9158//
9159//   * ErrCodeInternalServerError "InternalServerError"
9160//   An error occurred on the server side.
9161//
9162// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
9163func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) {
9164	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
9165	return out, req.Send()
9166}
9167
9168// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of
9169// the ability to pass a context and additional request options.
9170//
9171// See UpdateMaintenanceWindowTask for details on how to use this API operation.
9172//
9173// The context must be non-nil and will be used for request cancellation. If
9174// the context is nil a panic will occur. In the future the SDK may create
9175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9176// for more information on using Contexts.
9177func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) {
9178	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
9179	req.SetContext(ctx)
9180	req.ApplyOptions(opts...)
9181	return out, req.Send()
9182}
9183
9184const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole"
9185
9186// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the
9187// client's request for the UpdateManagedInstanceRole operation. The "output" return
9188// value will be populated with the request's response once the request complets
9189// successfuly.
9190//
9191// Use "Send" method on the returned Request to send the API call to the service.
9192// the "output" return value is not valid until after Send returns without error.
9193//
9194// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole
9195// API call, and error handling.
9196//
9197// This method is useful when you want to inject custom logic or configuration
9198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9199//
9200//
9201//    // Example sending a request using the UpdateManagedInstanceRoleRequest method.
9202//    req, resp := client.UpdateManagedInstanceRoleRequest(params)
9203//
9204//    err := req.Send()
9205//    if err == nil { // resp is now filled
9206//        fmt.Println(resp)
9207//    }
9208//
9209// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
9210func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) {
9211	op := &request.Operation{
9212		Name:       opUpdateManagedInstanceRole,
9213		HTTPMethod: "POST",
9214		HTTPPath:   "/",
9215	}
9216
9217	if input == nil {
9218		input = &UpdateManagedInstanceRoleInput{}
9219	}
9220
9221	output = &UpdateManagedInstanceRoleOutput{}
9222	req = c.newRequest(op, input, output)
9223	return
9224}
9225
9226// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM).
9227//
9228// Assigns or changes an Amazon Identity and Access Management (IAM) role to
9229// the managed instance.
9230//
9231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9232// with awserr.Error's Code and Message methods to get detailed information about
9233// the error.
9234//
9235// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9236// API operation UpdateManagedInstanceRole for usage and error information.
9237//
9238// Returned Error Codes:
9239//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
9240//   The following problems can cause this exception:
9241//
9242//   You do not have permission to access the instance.
9243//
9244//   The SSM Agent is not running. On managed instances and Linux instances, verify
9245//   that the SSM Agent is running. On EC2 Windows instances, verify that the
9246//   EC2Config service is running.
9247//
9248//   The SSM Agent or EC2Config service is not registered to the SSM endpoint.
9249//   Try reinstalling the SSM Agent or EC2Config service.
9250//
9251//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
9252//   Stopping. Invalid states are: Shutting-down and Terminated.
9253//
9254//   * ErrCodeInternalServerError "InternalServerError"
9255//   An error occurred on the server side.
9256//
9257// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
9258func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) {
9259	req, out := c.UpdateManagedInstanceRoleRequest(input)
9260	return out, req.Send()
9261}
9262
9263// UpdateManagedInstanceRoleWithContext is the same as UpdateManagedInstanceRole with the addition of
9264// the ability to pass a context and additional request options.
9265//
9266// See UpdateManagedInstanceRole for details on how to use this API operation.
9267//
9268// The context must be non-nil and will be used for request cancellation. If
9269// the context is nil a panic will occur. In the future the SDK may create
9270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9271// for more information on using Contexts.
9272func (c *SSM) UpdateManagedInstanceRoleWithContext(ctx aws.Context, input *UpdateManagedInstanceRoleInput, opts ...request.Option) (*UpdateManagedInstanceRoleOutput, error) {
9273	req, out := c.UpdateManagedInstanceRoleRequest(input)
9274	req.SetContext(ctx)
9275	req.ApplyOptions(opts...)
9276	return out, req.Send()
9277}
9278
9279const opUpdatePatchBaseline = "UpdatePatchBaseline"
9280
9281// UpdatePatchBaselineRequest generates a "aws/request.Request" representing the
9282// client's request for the UpdatePatchBaseline operation. The "output" return
9283// value will be populated with the request's response once the request complets
9284// successfuly.
9285//
9286// Use "Send" method on the returned Request to send the API call to the service.
9287// the "output" return value is not valid until after Send returns without error.
9288//
9289// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline
9290// API call, and error handling.
9291//
9292// This method is useful when you want to inject custom logic or configuration
9293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9294//
9295//
9296//    // Example sending a request using the UpdatePatchBaselineRequest method.
9297//    req, resp := client.UpdatePatchBaselineRequest(params)
9298//
9299//    err := req.Send()
9300//    if err == nil { // resp is now filled
9301//        fmt.Println(resp)
9302//    }
9303//
9304// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
9305func (c *SSM) UpdatePatchBaselineRequest(input *UpdatePatchBaselineInput) (req *request.Request, output *UpdatePatchBaselineOutput) {
9306	op := &request.Operation{
9307		Name:       opUpdatePatchBaseline,
9308		HTTPMethod: "POST",
9309		HTTPPath:   "/",
9310	}
9311
9312	if input == nil {
9313		input = &UpdatePatchBaselineInput{}
9314	}
9315
9316	output = &UpdatePatchBaselineOutput{}
9317	req = c.newRequest(op, input, output)
9318	return
9319}
9320
9321// UpdatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
9322//
9323// Modifies an existing patch baseline. Fields not specified in the request
9324// are left unchanged.
9325//
9326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9327// with awserr.Error's Code and Message methods to get detailed information about
9328// the error.
9329//
9330// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9331// API operation UpdatePatchBaseline for usage and error information.
9332//
9333// Returned Error Codes:
9334//   * ErrCodeDoesNotExistException "DoesNotExistException"
9335//   Error returned when the ID specified for a resource (e.g. a Maintenance Window)
9336//   doesn't exist.
9337//
9338//   * ErrCodeInternalServerError "InternalServerError"
9339//   An error occurred on the server side.
9340//
9341// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
9342func (c *SSM) UpdatePatchBaseline(input *UpdatePatchBaselineInput) (*UpdatePatchBaselineOutput, error) {
9343	req, out := c.UpdatePatchBaselineRequest(input)
9344	return out, req.Send()
9345}
9346
9347// UpdatePatchBaselineWithContext is the same as UpdatePatchBaseline with the addition of
9348// the ability to pass a context and additional request options.
9349//
9350// See UpdatePatchBaseline for details on how to use this API operation.
9351//
9352// The context must be non-nil and will be used for request cancellation. If
9353// the context is nil a panic will occur. In the future the SDK may create
9354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9355// for more information on using Contexts.
9356func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatchBaselineInput, opts ...request.Option) (*UpdatePatchBaselineOutput, error) {
9357	req, out := c.UpdatePatchBaselineRequest(input)
9358	req.SetContext(ctx)
9359	req.ApplyOptions(opts...)
9360	return out, req.Send()
9361}
9362
9363// An activation registers one or more on-premises servers or virtual machines
9364// (VMs) with AWS so that you can configure those servers or VMs using Run Command.
9365// A server or VM that has been registered with AWS is called a managed instance.
9366// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Activation
9367type Activation struct {
9368	_ struct{} `type:"structure"`
9369
9370	// The ID created by Systems Manager when you submitted the activation.
9371	ActivationId *string `type:"string"`
9372
9373	// The date the activation was created.
9374	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9375
9376	// A name for the managed instance when it is created.
9377	DefaultInstanceName *string `type:"string"`
9378
9379	// A user defined description of the activation.
9380	Description *string `type:"string"`
9381
9382	// The date when this activation can no longer be used to register managed instances.
9383	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9384
9385	// Whether or not the activation is expired.
9386	Expired *bool `type:"boolean"`
9387
9388	// The Amazon Identity and Access Management (IAM) role to assign to the managed
9389	// instance.
9390	IamRole *string `type:"string"`
9391
9392	// The maximum number of managed instances that can be registered using this
9393	// activation.
9394	RegistrationLimit *int64 `min:"1" type:"integer"`
9395
9396	// The number of managed instances already registered with this activation.
9397	RegistrationsCount *int64 `min:"1" type:"integer"`
9398}
9399
9400// String returns the string representation
9401func (s Activation) String() string {
9402	return awsutil.Prettify(s)
9403}
9404
9405// GoString returns the string representation
9406func (s Activation) GoString() string {
9407	return s.String()
9408}
9409
9410// SetActivationId sets the ActivationId field's value.
9411func (s *Activation) SetActivationId(v string) *Activation {
9412	s.ActivationId = &v
9413	return s
9414}
9415
9416// SetCreatedDate sets the CreatedDate field's value.
9417func (s *Activation) SetCreatedDate(v time.Time) *Activation {
9418	s.CreatedDate = &v
9419	return s
9420}
9421
9422// SetDefaultInstanceName sets the DefaultInstanceName field's value.
9423func (s *Activation) SetDefaultInstanceName(v string) *Activation {
9424	s.DefaultInstanceName = &v
9425	return s
9426}
9427
9428// SetDescription sets the Description field's value.
9429func (s *Activation) SetDescription(v string) *Activation {
9430	s.Description = &v
9431	return s
9432}
9433
9434// SetExpirationDate sets the ExpirationDate field's value.
9435func (s *Activation) SetExpirationDate(v time.Time) *Activation {
9436	s.ExpirationDate = &v
9437	return s
9438}
9439
9440// SetExpired sets the Expired field's value.
9441func (s *Activation) SetExpired(v bool) *Activation {
9442	s.Expired = &v
9443	return s
9444}
9445
9446// SetIamRole sets the IamRole field's value.
9447func (s *Activation) SetIamRole(v string) *Activation {
9448	s.IamRole = &v
9449	return s
9450}
9451
9452// SetRegistrationLimit sets the RegistrationLimit field's value.
9453func (s *Activation) SetRegistrationLimit(v int64) *Activation {
9454	s.RegistrationLimit = &v
9455	return s
9456}
9457
9458// SetRegistrationsCount sets the RegistrationsCount field's value.
9459func (s *Activation) SetRegistrationsCount(v int64) *Activation {
9460	s.RegistrationsCount = &v
9461	return s
9462}
9463
9464// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResourceRequest
9465type AddTagsToResourceInput struct {
9466	_ struct{} `type:"structure"`
9467
9468	// The resource ID you want to tag.
9469	//
9470	// ResourceId is a required field
9471	ResourceId *string `type:"string" required:"true"`
9472
9473	// Specifies the type of resource you are tagging.
9474	//
9475	// ResourceType is a required field
9476	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
9477
9478	// One or more tags. The value parameter is required, but if you don't want
9479	// the tag to have a value, specify the parameter with no value, and we set
9480	// the value to an empty string.
9481	//
9482	// Tags is a required field
9483	Tags []*Tag `type:"list" required:"true"`
9484}
9485
9486// String returns the string representation
9487func (s AddTagsToResourceInput) String() string {
9488	return awsutil.Prettify(s)
9489}
9490
9491// GoString returns the string representation
9492func (s AddTagsToResourceInput) GoString() string {
9493	return s.String()
9494}
9495
9496// Validate inspects the fields of the type to determine if they are valid.
9497func (s *AddTagsToResourceInput) Validate() error {
9498	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
9499	if s.ResourceId == nil {
9500		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9501	}
9502	if s.ResourceType == nil {
9503		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
9504	}
9505	if s.Tags == nil {
9506		invalidParams.Add(request.NewErrParamRequired("Tags"))
9507	}
9508	if s.Tags != nil {
9509		for i, v := range s.Tags {
9510			if v == nil {
9511				continue
9512			}
9513			if err := v.Validate(); err != nil {
9514				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9515			}
9516		}
9517	}
9518
9519	if invalidParams.Len() > 0 {
9520		return invalidParams
9521	}
9522	return nil
9523}
9524
9525// SetResourceId sets the ResourceId field's value.
9526func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
9527	s.ResourceId = &v
9528	return s
9529}
9530
9531// SetResourceType sets the ResourceType field's value.
9532func (s *AddTagsToResourceInput) SetResourceType(v string) *AddTagsToResourceInput {
9533	s.ResourceType = &v
9534	return s
9535}
9536
9537// SetTags sets the Tags field's value.
9538func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
9539	s.Tags = v
9540	return s
9541}
9542
9543// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResourceResult
9544type AddTagsToResourceOutput struct {
9545	_ struct{} `type:"structure"`
9546}
9547
9548// String returns the string representation
9549func (s AddTagsToResourceOutput) String() string {
9550	return awsutil.Prettify(s)
9551}
9552
9553// GoString returns the string representation
9554func (s AddTagsToResourceOutput) GoString() string {
9555	return s.String()
9556}
9557
9558// Describes an association of a Systems Manager document and an instance.
9559// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Association
9560type Association struct {
9561	_ struct{} `type:"structure"`
9562
9563	// The ID created by the system when you create an association. An association
9564	// is a binding between a document and a set of targets with a schedule.
9565	AssociationId *string `type:"string"`
9566
9567	// The association name.
9568	AssociationName *string `type:"string"`
9569
9570	// The association version.
9571	AssociationVersion *string `type:"string"`
9572
9573	// The version of the document used in the association.
9574	DocumentVersion *string `type:"string"`
9575
9576	// The ID of the instance.
9577	InstanceId *string `type:"string"`
9578
9579	// The date on which the association was last run.
9580	LastExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9581
9582	// The name of the Systems Manager document.
9583	Name *string `type:"string"`
9584
9585	// Information about the association.
9586	Overview *AssociationOverview `type:"structure"`
9587
9588	// A cron expression that specifies a schedule when the association runs.
9589	ScheduleExpression *string `min:"1" type:"string"`
9590
9591	// The instances targeted by the request to create an association.
9592	Targets []*Target `type:"list"`
9593}
9594
9595// String returns the string representation
9596func (s Association) String() string {
9597	return awsutil.Prettify(s)
9598}
9599
9600// GoString returns the string representation
9601func (s Association) GoString() string {
9602	return s.String()
9603}
9604
9605// SetAssociationId sets the AssociationId field's value.
9606func (s *Association) SetAssociationId(v string) *Association {
9607	s.AssociationId = &v
9608	return s
9609}
9610
9611// SetAssociationName sets the AssociationName field's value.
9612func (s *Association) SetAssociationName(v string) *Association {
9613	s.AssociationName = &v
9614	return s
9615}
9616
9617// SetAssociationVersion sets the AssociationVersion field's value.
9618func (s *Association) SetAssociationVersion(v string) *Association {
9619	s.AssociationVersion = &v
9620	return s
9621}
9622
9623// SetDocumentVersion sets the DocumentVersion field's value.
9624func (s *Association) SetDocumentVersion(v string) *Association {
9625	s.DocumentVersion = &v
9626	return s
9627}
9628
9629// SetInstanceId sets the InstanceId field's value.
9630func (s *Association) SetInstanceId(v string) *Association {
9631	s.InstanceId = &v
9632	return s
9633}
9634
9635// SetLastExecutionDate sets the LastExecutionDate field's value.
9636func (s *Association) SetLastExecutionDate(v time.Time) *Association {
9637	s.LastExecutionDate = &v
9638	return s
9639}
9640
9641// SetName sets the Name field's value.
9642func (s *Association) SetName(v string) *Association {
9643	s.Name = &v
9644	return s
9645}
9646
9647// SetOverview sets the Overview field's value.
9648func (s *Association) SetOverview(v *AssociationOverview) *Association {
9649	s.Overview = v
9650	return s
9651}
9652
9653// SetScheduleExpression sets the ScheduleExpression field's value.
9654func (s *Association) SetScheduleExpression(v string) *Association {
9655	s.ScheduleExpression = &v
9656	return s
9657}
9658
9659// SetTargets sets the Targets field's value.
9660func (s *Association) SetTargets(v []*Target) *Association {
9661	s.Targets = v
9662	return s
9663}
9664
9665// Describes the parameters for a document.
9666// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationDescription
9667type AssociationDescription struct {
9668	_ struct{} `type:"structure"`
9669
9670	// The association ID.
9671	AssociationId *string `type:"string"`
9672
9673	// The association name.
9674	AssociationName *string `type:"string"`
9675
9676	// The association version.
9677	AssociationVersion *string `type:"string"`
9678
9679	// The date when the association was made.
9680	Date *time.Time `type:"timestamp" timestampFormat:"unix"`
9681
9682	// The document version.
9683	DocumentVersion *string `type:"string"`
9684
9685	// The ID of the instance.
9686	InstanceId *string `type:"string"`
9687
9688	// The date on which the association was last run.
9689	LastExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9690
9691	// The last date on which the association was successfully run.
9692	LastSuccessfulExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9693
9694	// The date when the association was last updated.
9695	LastUpdateAssociationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
9696
9697	// The name of the Systems Manager document.
9698	Name *string `type:"string"`
9699
9700	// An Amazon S3 bucket where you want to store the output details of the request.
9701	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
9702
9703	// Information about the association.
9704	Overview *AssociationOverview `type:"structure"`
9705
9706	// A description of the parameters for a document.
9707	Parameters map[string][]*string `type:"map"`
9708
9709	// A cron expression that specifies a schedule when the association runs.
9710	ScheduleExpression *string `min:"1" type:"string"`
9711
9712	// The association status.
9713	Status *AssociationStatus `type:"structure"`
9714
9715	// The instances targeted by the request.
9716	Targets []*Target `type:"list"`
9717}
9718
9719// String returns the string representation
9720func (s AssociationDescription) String() string {
9721	return awsutil.Prettify(s)
9722}
9723
9724// GoString returns the string representation
9725func (s AssociationDescription) GoString() string {
9726	return s.String()
9727}
9728
9729// SetAssociationId sets the AssociationId field's value.
9730func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription {
9731	s.AssociationId = &v
9732	return s
9733}
9734
9735// SetAssociationName sets the AssociationName field's value.
9736func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription {
9737	s.AssociationName = &v
9738	return s
9739}
9740
9741// SetAssociationVersion sets the AssociationVersion field's value.
9742func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription {
9743	s.AssociationVersion = &v
9744	return s
9745}
9746
9747// SetDate sets the Date field's value.
9748func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription {
9749	s.Date = &v
9750	return s
9751}
9752
9753// SetDocumentVersion sets the DocumentVersion field's value.
9754func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescription {
9755	s.DocumentVersion = &v
9756	return s
9757}
9758
9759// SetInstanceId sets the InstanceId field's value.
9760func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription {
9761	s.InstanceId = &v
9762	return s
9763}
9764
9765// SetLastExecutionDate sets the LastExecutionDate field's value.
9766func (s *AssociationDescription) SetLastExecutionDate(v time.Time) *AssociationDescription {
9767	s.LastExecutionDate = &v
9768	return s
9769}
9770
9771// SetLastSuccessfulExecutionDate sets the LastSuccessfulExecutionDate field's value.
9772func (s *AssociationDescription) SetLastSuccessfulExecutionDate(v time.Time) *AssociationDescription {
9773	s.LastSuccessfulExecutionDate = &v
9774	return s
9775}
9776
9777// SetLastUpdateAssociationDate sets the LastUpdateAssociationDate field's value.
9778func (s *AssociationDescription) SetLastUpdateAssociationDate(v time.Time) *AssociationDescription {
9779	s.LastUpdateAssociationDate = &v
9780	return s
9781}
9782
9783// SetName sets the Name field's value.
9784func (s *AssociationDescription) SetName(v string) *AssociationDescription {
9785	s.Name = &v
9786	return s
9787}
9788
9789// SetOutputLocation sets the OutputLocation field's value.
9790func (s *AssociationDescription) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationDescription {
9791	s.OutputLocation = v
9792	return s
9793}
9794
9795// SetOverview sets the Overview field's value.
9796func (s *AssociationDescription) SetOverview(v *AssociationOverview) *AssociationDescription {
9797	s.Overview = v
9798	return s
9799}
9800
9801// SetParameters sets the Parameters field's value.
9802func (s *AssociationDescription) SetParameters(v map[string][]*string) *AssociationDescription {
9803	s.Parameters = v
9804	return s
9805}
9806
9807// SetScheduleExpression sets the ScheduleExpression field's value.
9808func (s *AssociationDescription) SetScheduleExpression(v string) *AssociationDescription {
9809	s.ScheduleExpression = &v
9810	return s
9811}
9812
9813// SetStatus sets the Status field's value.
9814func (s *AssociationDescription) SetStatus(v *AssociationStatus) *AssociationDescription {
9815	s.Status = v
9816	return s
9817}
9818
9819// SetTargets sets the Targets field's value.
9820func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription {
9821	s.Targets = v
9822	return s
9823}
9824
9825// Describes a filter.
9826// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationFilter
9827type AssociationFilter struct {
9828	_ struct{} `type:"structure"`
9829
9830	// The name of the filter.
9831	//
9832	// Key is a required field
9833	Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"`
9834
9835	// The filter value.
9836	//
9837	// Value is a required field
9838	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
9839}
9840
9841// String returns the string representation
9842func (s AssociationFilter) String() string {
9843	return awsutil.Prettify(s)
9844}
9845
9846// GoString returns the string representation
9847func (s AssociationFilter) GoString() string {
9848	return s.String()
9849}
9850
9851// Validate inspects the fields of the type to determine if they are valid.
9852func (s *AssociationFilter) Validate() error {
9853	invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"}
9854	if s.Key == nil {
9855		invalidParams.Add(request.NewErrParamRequired("Key"))
9856	}
9857	if s.Value == nil {
9858		invalidParams.Add(request.NewErrParamRequired("Value"))
9859	}
9860	if s.Value != nil && len(*s.Value) < 1 {
9861		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
9862	}
9863
9864	if invalidParams.Len() > 0 {
9865		return invalidParams
9866	}
9867	return nil
9868}
9869
9870// SetKey sets the Key field's value.
9871func (s *AssociationFilter) SetKey(v string) *AssociationFilter {
9872	s.Key = &v
9873	return s
9874}
9875
9876// SetValue sets the Value field's value.
9877func (s *AssociationFilter) SetValue(v string) *AssociationFilter {
9878	s.Value = &v
9879	return s
9880}
9881
9882// Information about the association.
9883// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationOverview
9884type AssociationOverview struct {
9885	_ struct{} `type:"structure"`
9886
9887	// Returns the number of targets for the association status. For example, if
9888	// you created an association with two instances, and one of them was successful,
9889	// this would return the count of instances by status.
9890	AssociationStatusAggregatedCount map[string]*int64 `type:"map"`
9891
9892	// A detailed status of the association.
9893	DetailedStatus *string `type:"string"`
9894
9895	// The status of the association. Status can be: Pending, Success, or Failed.
9896	Status *string `type:"string"`
9897}
9898
9899// String returns the string representation
9900func (s AssociationOverview) String() string {
9901	return awsutil.Prettify(s)
9902}
9903
9904// GoString returns the string representation
9905func (s AssociationOverview) GoString() string {
9906	return s.String()
9907}
9908
9909// SetAssociationStatusAggregatedCount sets the AssociationStatusAggregatedCount field's value.
9910func (s *AssociationOverview) SetAssociationStatusAggregatedCount(v map[string]*int64) *AssociationOverview {
9911	s.AssociationStatusAggregatedCount = v
9912	return s
9913}
9914
9915// SetDetailedStatus sets the DetailedStatus field's value.
9916func (s *AssociationOverview) SetDetailedStatus(v string) *AssociationOverview {
9917	s.DetailedStatus = &v
9918	return s
9919}
9920
9921// SetStatus sets the Status field's value.
9922func (s *AssociationOverview) SetStatus(v string) *AssociationOverview {
9923	s.Status = &v
9924	return s
9925}
9926
9927// Describes an association status.
9928// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationStatus
9929type AssociationStatus struct {
9930	_ struct{} `type:"structure"`
9931
9932	// A user-defined string.
9933	AdditionalInfo *string `type:"string"`
9934
9935	// The date when the status changed.
9936	//
9937	// Date is a required field
9938	Date *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
9939
9940	// The reason for the status.
9941	//
9942	// Message is a required field
9943	Message *string `min:"1" type:"string" required:"true"`
9944
9945	// The status.
9946	//
9947	// Name is a required field
9948	Name *string `type:"string" required:"true" enum:"AssociationStatusName"`
9949}
9950
9951// String returns the string representation
9952func (s AssociationStatus) String() string {
9953	return awsutil.Prettify(s)
9954}
9955
9956// GoString returns the string representation
9957func (s AssociationStatus) GoString() string {
9958	return s.String()
9959}
9960
9961// Validate inspects the fields of the type to determine if they are valid.
9962func (s *AssociationStatus) Validate() error {
9963	invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"}
9964	if s.Date == nil {
9965		invalidParams.Add(request.NewErrParamRequired("Date"))
9966	}
9967	if s.Message == nil {
9968		invalidParams.Add(request.NewErrParamRequired("Message"))
9969	}
9970	if s.Message != nil && len(*s.Message) < 1 {
9971		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
9972	}
9973	if s.Name == nil {
9974		invalidParams.Add(request.NewErrParamRequired("Name"))
9975	}
9976
9977	if invalidParams.Len() > 0 {
9978		return invalidParams
9979	}
9980	return nil
9981}
9982
9983// SetAdditionalInfo sets the AdditionalInfo field's value.
9984func (s *AssociationStatus) SetAdditionalInfo(v string) *AssociationStatus {
9985	s.AdditionalInfo = &v
9986	return s
9987}
9988
9989// SetDate sets the Date field's value.
9990func (s *AssociationStatus) SetDate(v time.Time) *AssociationStatus {
9991	s.Date = &v
9992	return s
9993}
9994
9995// SetMessage sets the Message field's value.
9996func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
9997	s.Message = &v
9998	return s
9999}
10000
10001// SetName sets the Name field's value.
10002func (s *AssociationStatus) SetName(v string) *AssociationStatus {
10003	s.Name = &v
10004	return s
10005}
10006
10007// Information about the association version.
10008// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationVersionInfo
10009type AssociationVersionInfo struct {
10010	_ struct{} `type:"structure"`
10011
10012	// The ID created by the system when the association was created.
10013	AssociationId *string `type:"string"`
10014
10015	// The name specified for the association version when the association version
10016	// was created.
10017	AssociationName *string `type:"string"`
10018
10019	// The association version.
10020	AssociationVersion *string `type:"string"`
10021
10022	// The date the association version was created.
10023	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
10024
10025	// The version of a Systems Manager document used when the association version
10026	// was created.
10027	DocumentVersion *string `type:"string"`
10028
10029	// The name specified when the association was created.
10030	Name *string `type:"string"`
10031
10032	// The location in Amazon S3 specified for the association when the association
10033	// version was created.
10034	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
10035
10036	// Parameters specified when the association version was created.
10037	Parameters map[string][]*string `type:"map"`
10038
10039	// The cron or rate schedule specified for the association when the association
10040	// version was created.
10041	ScheduleExpression *string `min:"1" type:"string"`
10042
10043	// The targets specified for the association when the association version was
10044	// created.
10045	Targets []*Target `type:"list"`
10046}
10047
10048// String returns the string representation
10049func (s AssociationVersionInfo) String() string {
10050	return awsutil.Prettify(s)
10051}
10052
10053// GoString returns the string representation
10054func (s AssociationVersionInfo) GoString() string {
10055	return s.String()
10056}
10057
10058// SetAssociationId sets the AssociationId field's value.
10059func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo {
10060	s.AssociationId = &v
10061	return s
10062}
10063
10064// SetAssociationName sets the AssociationName field's value.
10065func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo {
10066	s.AssociationName = &v
10067	return s
10068}
10069
10070// SetAssociationVersion sets the AssociationVersion field's value.
10071func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo {
10072	s.AssociationVersion = &v
10073	return s
10074}
10075
10076// SetCreatedDate sets the CreatedDate field's value.
10077func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo {
10078	s.CreatedDate = &v
10079	return s
10080}
10081
10082// SetDocumentVersion sets the DocumentVersion field's value.
10083func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo {
10084	s.DocumentVersion = &v
10085	return s
10086}
10087
10088// SetName sets the Name field's value.
10089func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo {
10090	s.Name = &v
10091	return s
10092}
10093
10094// SetOutputLocation sets the OutputLocation field's value.
10095func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo {
10096	s.OutputLocation = v
10097	return s
10098}
10099
10100// SetParameters sets the Parameters field's value.
10101func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo {
10102	s.Parameters = v
10103	return s
10104}
10105
10106// SetScheduleExpression sets the ScheduleExpression field's value.
10107func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo {
10108	s.ScheduleExpression = &v
10109	return s
10110}
10111
10112// SetTargets sets the Targets field's value.
10113func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo {
10114	s.Targets = v
10115	return s
10116}
10117
10118// Detailed information about the current state of an individual Automation
10119// execution.
10120// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecution
10121type AutomationExecution struct {
10122	_ struct{} `type:"structure"`
10123
10124	// The execution ID.
10125	AutomationExecutionId *string `min:"36" type:"string"`
10126
10127	// The execution status of the Automation.
10128	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
10129
10130	// The name of the Automation document used during the execution.
10131	DocumentName *string `type:"string"`
10132
10133	// The version of the document to use during execution.
10134	DocumentVersion *string `type:"string"`
10135
10136	// The time the execution finished.
10137	ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10138
10139	// The time the execution started.
10140	ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10141
10142	// A message describing why an execution has failed, if the status is set to
10143	// Failed.
10144	FailureMessage *string `type:"string"`
10145
10146	// The list of execution outputs as defined in the automation document.
10147	Outputs map[string][]*string `min:"1" type:"map"`
10148
10149	// The key-value map of execution parameters, which were supplied when calling
10150	// StartAutomationExecution.
10151	Parameters map[string][]*string `min:"1" type:"map"`
10152
10153	// A list of details about the current state of all steps that comprise an execution.
10154	// An Automation document contains a list of steps that are executed in order.
10155	StepExecutions []*StepExecution `type:"list"`
10156}
10157
10158// String returns the string representation
10159func (s AutomationExecution) String() string {
10160	return awsutil.Prettify(s)
10161}
10162
10163// GoString returns the string representation
10164func (s AutomationExecution) GoString() string {
10165	return s.String()
10166}
10167
10168// SetAutomationExecutionId sets the AutomationExecutionId field's value.
10169func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution {
10170	s.AutomationExecutionId = &v
10171	return s
10172}
10173
10174// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
10175func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *AutomationExecution {
10176	s.AutomationExecutionStatus = &v
10177	return s
10178}
10179
10180// SetDocumentName sets the DocumentName field's value.
10181func (s *AutomationExecution) SetDocumentName(v string) *AutomationExecution {
10182	s.DocumentName = &v
10183	return s
10184}
10185
10186// SetDocumentVersion sets the DocumentVersion field's value.
10187func (s *AutomationExecution) SetDocumentVersion(v string) *AutomationExecution {
10188	s.DocumentVersion = &v
10189	return s
10190}
10191
10192// SetExecutionEndTime sets the ExecutionEndTime field's value.
10193func (s *AutomationExecution) SetExecutionEndTime(v time.Time) *AutomationExecution {
10194	s.ExecutionEndTime = &v
10195	return s
10196}
10197
10198// SetExecutionStartTime sets the ExecutionStartTime field's value.
10199func (s *AutomationExecution) SetExecutionStartTime(v time.Time) *AutomationExecution {
10200	s.ExecutionStartTime = &v
10201	return s
10202}
10203
10204// SetFailureMessage sets the FailureMessage field's value.
10205func (s *AutomationExecution) SetFailureMessage(v string) *AutomationExecution {
10206	s.FailureMessage = &v
10207	return s
10208}
10209
10210// SetOutputs sets the Outputs field's value.
10211func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution {
10212	s.Outputs = v
10213	return s
10214}
10215
10216// SetParameters sets the Parameters field's value.
10217func (s *AutomationExecution) SetParameters(v map[string][]*string) *AutomationExecution {
10218	s.Parameters = v
10219	return s
10220}
10221
10222// SetStepExecutions sets the StepExecutions field's value.
10223func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution {
10224	s.StepExecutions = v
10225	return s
10226}
10227
10228// A filter used to match specific automation executions. This is used to limit
10229// the scope of Automation execution information returned.
10230// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecutionFilter
10231type AutomationExecutionFilter struct {
10232	_ struct{} `type:"structure"`
10233
10234	// The aspect of the Automation execution information that should be limited.
10235	//
10236	// Key is a required field
10237	Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"`
10238
10239	// The values used to limit the execution information associated with the filter's
10240	// key.
10241	//
10242	// Values is a required field
10243	Values []*string `min:"1" type:"list" required:"true"`
10244}
10245
10246// String returns the string representation
10247func (s AutomationExecutionFilter) String() string {
10248	return awsutil.Prettify(s)
10249}
10250
10251// GoString returns the string representation
10252func (s AutomationExecutionFilter) GoString() string {
10253	return s.String()
10254}
10255
10256// Validate inspects the fields of the type to determine if they are valid.
10257func (s *AutomationExecutionFilter) Validate() error {
10258	invalidParams := request.ErrInvalidParams{Context: "AutomationExecutionFilter"}
10259	if s.Key == nil {
10260		invalidParams.Add(request.NewErrParamRequired("Key"))
10261	}
10262	if s.Values == nil {
10263		invalidParams.Add(request.NewErrParamRequired("Values"))
10264	}
10265	if s.Values != nil && len(s.Values) < 1 {
10266		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
10267	}
10268
10269	if invalidParams.Len() > 0 {
10270		return invalidParams
10271	}
10272	return nil
10273}
10274
10275// SetKey sets the Key field's value.
10276func (s *AutomationExecutionFilter) SetKey(v string) *AutomationExecutionFilter {
10277	s.Key = &v
10278	return s
10279}
10280
10281// SetValues sets the Values field's value.
10282func (s *AutomationExecutionFilter) SetValues(v []*string) *AutomationExecutionFilter {
10283	s.Values = v
10284	return s
10285}
10286
10287// Details about a specific Automation execution.
10288// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecutionMetadata
10289type AutomationExecutionMetadata struct {
10290	_ struct{} `type:"structure"`
10291
10292	// The execution ID.
10293	AutomationExecutionId *string `min:"36" type:"string"`
10294
10295	// The status of the execution. Valid values include: Running, Succeeded, Failed,
10296	// Timed out, or Cancelled.
10297	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
10298
10299	// The name of the Automation document used during execution.
10300	DocumentName *string `type:"string"`
10301
10302	// The document version used during the execution.
10303	DocumentVersion *string `type:"string"`
10304
10305	// The IAM role ARN of the user who executed the Automation.
10306	ExecutedBy *string `type:"string"`
10307
10308	// The time the execution finished. This is not populated if the execution is
10309	// still in progress.
10310	ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10311
10312	// The time the execution started.>
10313	ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10314
10315	// An Amazon S3 bucket where execution information is stored.
10316	LogFile *string `type:"string"`
10317
10318	// The list of execution outputs as defined in the Automation document.
10319	Outputs map[string][]*string `min:"1" type:"map"`
10320}
10321
10322// String returns the string representation
10323func (s AutomationExecutionMetadata) String() string {
10324	return awsutil.Prettify(s)
10325}
10326
10327// GoString returns the string representation
10328func (s AutomationExecutionMetadata) GoString() string {
10329	return s.String()
10330}
10331
10332// SetAutomationExecutionId sets the AutomationExecutionId field's value.
10333func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata {
10334	s.AutomationExecutionId = &v
10335	return s
10336}
10337
10338// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
10339func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *AutomationExecutionMetadata {
10340	s.AutomationExecutionStatus = &v
10341	return s
10342}
10343
10344// SetDocumentName sets the DocumentName field's value.
10345func (s *AutomationExecutionMetadata) SetDocumentName(v string) *AutomationExecutionMetadata {
10346	s.DocumentName = &v
10347	return s
10348}
10349
10350// SetDocumentVersion sets the DocumentVersion field's value.
10351func (s *AutomationExecutionMetadata) SetDocumentVersion(v string) *AutomationExecutionMetadata {
10352	s.DocumentVersion = &v
10353	return s
10354}
10355
10356// SetExecutedBy sets the ExecutedBy field's value.
10357func (s *AutomationExecutionMetadata) SetExecutedBy(v string) *AutomationExecutionMetadata {
10358	s.ExecutedBy = &v
10359	return s
10360}
10361
10362// SetExecutionEndTime sets the ExecutionEndTime field's value.
10363func (s *AutomationExecutionMetadata) SetExecutionEndTime(v time.Time) *AutomationExecutionMetadata {
10364	s.ExecutionEndTime = &v
10365	return s
10366}
10367
10368// SetExecutionStartTime sets the ExecutionStartTime field's value.
10369func (s *AutomationExecutionMetadata) SetExecutionStartTime(v time.Time) *AutomationExecutionMetadata {
10370	s.ExecutionStartTime = &v
10371	return s
10372}
10373
10374// SetLogFile sets the LogFile field's value.
10375func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata {
10376	s.LogFile = &v
10377	return s
10378}
10379
10380// SetOutputs sets the Outputs field's value.
10381func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata {
10382	s.Outputs = v
10383	return s
10384}
10385
10386// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommandRequest
10387type CancelCommandInput struct {
10388	_ struct{} `type:"structure"`
10389
10390	// The ID of the command you want to cancel.
10391	//
10392	// CommandId is a required field
10393	CommandId *string `min:"36" type:"string" required:"true"`
10394
10395	// (Optional) A list of instance IDs on which you want to cancel the command.
10396	// If not provided, the command is canceled on every instance on which it was
10397	// requested.
10398	InstanceIds []*string `type:"list"`
10399}
10400
10401// String returns the string representation
10402func (s CancelCommandInput) String() string {
10403	return awsutil.Prettify(s)
10404}
10405
10406// GoString returns the string representation
10407func (s CancelCommandInput) GoString() string {
10408	return s.String()
10409}
10410
10411// Validate inspects the fields of the type to determine if they are valid.
10412func (s *CancelCommandInput) Validate() error {
10413	invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"}
10414	if s.CommandId == nil {
10415		invalidParams.Add(request.NewErrParamRequired("CommandId"))
10416	}
10417	if s.CommandId != nil && len(*s.CommandId) < 36 {
10418		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
10419	}
10420
10421	if invalidParams.Len() > 0 {
10422		return invalidParams
10423	}
10424	return nil
10425}
10426
10427// SetCommandId sets the CommandId field's value.
10428func (s *CancelCommandInput) SetCommandId(v string) *CancelCommandInput {
10429	s.CommandId = &v
10430	return s
10431}
10432
10433// SetInstanceIds sets the InstanceIds field's value.
10434func (s *CancelCommandInput) SetInstanceIds(v []*string) *CancelCommandInput {
10435	s.InstanceIds = v
10436	return s
10437}
10438
10439// Whether or not the command was successfully canceled. There is no guarantee
10440// that a request can be canceled.
10441// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommandResult
10442type CancelCommandOutput struct {
10443	_ struct{} `type:"structure"`
10444}
10445
10446// String returns the string representation
10447func (s CancelCommandOutput) String() string {
10448	return awsutil.Prettify(s)
10449}
10450
10451// GoString returns the string representation
10452func (s CancelCommandOutput) GoString() string {
10453	return s.String()
10454}
10455
10456// Describes a command request.
10457// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Command
10458type Command struct {
10459	_ struct{} `type:"structure"`
10460
10461	// A unique identifier for this command.
10462	CommandId *string `min:"36" type:"string"`
10463
10464	// User-specified information about the command, such as a brief description
10465	// of what the command should do.
10466	Comment *string `type:"string"`
10467
10468	// The number of targets for which the command invocation reached a terminal
10469	// state. Terminal states include the following: Success, Failed, Execution
10470	// Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.
10471	CompletedCount *int64 `type:"integer"`
10472
10473	// The name of the document requested for execution.
10474	DocumentName *string `type:"string"`
10475
10476	// The number of targets for which the status is Failed or Execution Timed Out.
10477	ErrorCount *int64 `type:"integer"`
10478
10479	// If this time is reached and the command has not already started executing,
10480	// it will not execute. Calculated based on the ExpiresAfter user input provided
10481	// as part of the SendCommand API.
10482	ExpiresAfter *time.Time `type:"timestamp" timestampFormat:"unix"`
10483
10484	// The instance IDs against which this command was requested.
10485	InstanceIds []*string `type:"list"`
10486
10487	// The maximum number of instances that are allowed to execute the command at
10488	// the same time. You can specify a number of instances, such as 10, or a percentage
10489	// of instances, such as 10%. The default value is 50. For more information
10490	// about how to use MaxConcurrency, see Executing a Command Using Systems Manager
10491	// Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html).
10492	MaxConcurrency *string `min:"1" type:"string"`
10493
10494	// The maximum number of errors allowed before the system stops sending the
10495	// command to additional targets. You can specify a number of errors, such as
10496	// 10, or a percentage or errors, such as 10%. The default value is 50. For
10497	// more information about how to use MaxErrors, see Executing a Command Using
10498	// Systems Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html).
10499	MaxErrors *string `min:"1" type:"string"`
10500
10501	// Configurations for sending notifications about command status changes.
10502	NotificationConfig *NotificationConfig `type:"structure"`
10503
10504	// The S3 bucket where the responses to the command executions should be stored.
10505	// This was requested when issuing the command.
10506	OutputS3BucketName *string `min:"3" type:"string"`
10507
10508	// The S3 directory path inside the bucket where the responses to the command
10509	// executions should be stored. This was requested when issuing the command.
10510	OutputS3KeyPrefix *string `type:"string"`
10511
10512	// (Deprecated) You can no longer specify this parameter. The system ignores
10513	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
10514	// region.
10515	OutputS3Region *string `min:"3" type:"string"`
10516
10517	// The parameter values to be inserted in the document when executing the command.
10518	Parameters map[string][]*string `type:"map"`
10519
10520	// The date and time the command was requested.
10521	RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10522
10523	// The IAM service role that Run Command uses to act on your behalf when sending
10524	// notifications about command status changes.
10525	ServiceRole *string `type:"string"`
10526
10527	// The status of the command.
10528	Status *string `type:"string" enum:"CommandStatus"`
10529
10530	// A detailed status of the command execution. StatusDetails includes more information
10531	// than Status because it includes states resulting from error and concurrency
10532	// control parameters. StatusDetails can show different results than Status.
10533	// For more information about these statuses, see Run Command Status (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html).
10534	// StatusDetails can be one of the following values:
10535	//
10536	//    * Pending: The command has not been sent to any instances.
10537	//
10538	//    * In Progress: The command has been sent to at least one instance but
10539	//    has not reached a final state on all instances.
10540	//
10541	//    * Success: The command successfully executed on all invocations. This
10542	//    is a terminal state.
10543	//
10544	//    * Delivery Timed Out: The value of MaxErrors or more command invocations
10545	//    shows a status of Delivery Timed Out. This is a terminal state.
10546	//
10547	//    * Execution Timed Out: The value of MaxErrors or more command invocations
10548	//    shows a status of Execution Timed Out. This is a terminal state.
10549	//
10550	//    * Failed: The value of MaxErrors or more command invocations shows a status
10551	//    of Failed. This is a terminal state.
10552	//
10553	//    * Incomplete: The command was attempted on all instances and one or more
10554	//    invocations does not have a value of Success but not enough invocations
10555	//    failed for the status to be Failed. This is a terminal state.
10556	//
10557	//    * Canceled: The command was terminated before it was completed. This is
10558	//    a terminal state.
10559	//
10560	//    * Rate Exceeded: The number of instances targeted by the command exceeded
10561	//    the account limit for pending invocations. The system has canceled the
10562	//    command before executing it on any instance. This is a terminal state.
10563	StatusDetails *string `type:"string"`
10564
10565	// The number of targets for the command.
10566	TargetCount *int64 `type:"integer"`
10567
10568	// An array of search criteria that targets instances using a Key,Value combination
10569	// that you specify. Targets is required if you don't provide one or more instance
10570	// IDs in the call.
10571	Targets []*Target `type:"list"`
10572}
10573
10574// String returns the string representation
10575func (s Command) String() string {
10576	return awsutil.Prettify(s)
10577}
10578
10579// GoString returns the string representation
10580func (s Command) GoString() string {
10581	return s.String()
10582}
10583
10584// SetCommandId sets the CommandId field's value.
10585func (s *Command) SetCommandId(v string) *Command {
10586	s.CommandId = &v
10587	return s
10588}
10589
10590// SetComment sets the Comment field's value.
10591func (s *Command) SetComment(v string) *Command {
10592	s.Comment = &v
10593	return s
10594}
10595
10596// SetCompletedCount sets the CompletedCount field's value.
10597func (s *Command) SetCompletedCount(v int64) *Command {
10598	s.CompletedCount = &v
10599	return s
10600}
10601
10602// SetDocumentName sets the DocumentName field's value.
10603func (s *Command) SetDocumentName(v string) *Command {
10604	s.DocumentName = &v
10605	return s
10606}
10607
10608// SetErrorCount sets the ErrorCount field's value.
10609func (s *Command) SetErrorCount(v int64) *Command {
10610	s.ErrorCount = &v
10611	return s
10612}
10613
10614// SetExpiresAfter sets the ExpiresAfter field's value.
10615func (s *Command) SetExpiresAfter(v time.Time) *Command {
10616	s.ExpiresAfter = &v
10617	return s
10618}
10619
10620// SetInstanceIds sets the InstanceIds field's value.
10621func (s *Command) SetInstanceIds(v []*string) *Command {
10622	s.InstanceIds = v
10623	return s
10624}
10625
10626// SetMaxConcurrency sets the MaxConcurrency field's value.
10627func (s *Command) SetMaxConcurrency(v string) *Command {
10628	s.MaxConcurrency = &v
10629	return s
10630}
10631
10632// SetMaxErrors sets the MaxErrors field's value.
10633func (s *Command) SetMaxErrors(v string) *Command {
10634	s.MaxErrors = &v
10635	return s
10636}
10637
10638// SetNotificationConfig sets the NotificationConfig field's value.
10639func (s *Command) SetNotificationConfig(v *NotificationConfig) *Command {
10640	s.NotificationConfig = v
10641	return s
10642}
10643
10644// SetOutputS3BucketName sets the OutputS3BucketName field's value.
10645func (s *Command) SetOutputS3BucketName(v string) *Command {
10646	s.OutputS3BucketName = &v
10647	return s
10648}
10649
10650// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
10651func (s *Command) SetOutputS3KeyPrefix(v string) *Command {
10652	s.OutputS3KeyPrefix = &v
10653	return s
10654}
10655
10656// SetOutputS3Region sets the OutputS3Region field's value.
10657func (s *Command) SetOutputS3Region(v string) *Command {
10658	s.OutputS3Region = &v
10659	return s
10660}
10661
10662// SetParameters sets the Parameters field's value.
10663func (s *Command) SetParameters(v map[string][]*string) *Command {
10664	s.Parameters = v
10665	return s
10666}
10667
10668// SetRequestedDateTime sets the RequestedDateTime field's value.
10669func (s *Command) SetRequestedDateTime(v time.Time) *Command {
10670	s.RequestedDateTime = &v
10671	return s
10672}
10673
10674// SetServiceRole sets the ServiceRole field's value.
10675func (s *Command) SetServiceRole(v string) *Command {
10676	s.ServiceRole = &v
10677	return s
10678}
10679
10680// SetStatus sets the Status field's value.
10681func (s *Command) SetStatus(v string) *Command {
10682	s.Status = &v
10683	return s
10684}
10685
10686// SetStatusDetails sets the StatusDetails field's value.
10687func (s *Command) SetStatusDetails(v string) *Command {
10688	s.StatusDetails = &v
10689	return s
10690}
10691
10692// SetTargetCount sets the TargetCount field's value.
10693func (s *Command) SetTargetCount(v int64) *Command {
10694	s.TargetCount = &v
10695	return s
10696}
10697
10698// SetTargets sets the Targets field's value.
10699func (s *Command) SetTargets(v []*Target) *Command {
10700	s.Targets = v
10701	return s
10702}
10703
10704// Describes a command filter.
10705// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandFilter
10706type CommandFilter struct {
10707	_ struct{} `type:"structure"`
10708
10709	// The name of the filter.
10710	//
10711	// Key is a required field
10712	Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"`
10713
10714	// The filter value.
10715	//
10716	// Value is a required field
10717	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
10718}
10719
10720// String returns the string representation
10721func (s CommandFilter) String() string {
10722	return awsutil.Prettify(s)
10723}
10724
10725// GoString returns the string representation
10726func (s CommandFilter) GoString() string {
10727	return s.String()
10728}
10729
10730// Validate inspects the fields of the type to determine if they are valid.
10731func (s *CommandFilter) Validate() error {
10732	invalidParams := request.ErrInvalidParams{Context: "CommandFilter"}
10733	if s.Key == nil {
10734		invalidParams.Add(request.NewErrParamRequired("Key"))
10735	}
10736	if s.Value == nil {
10737		invalidParams.Add(request.NewErrParamRequired("Value"))
10738	}
10739	if s.Value != nil && len(*s.Value) < 1 {
10740		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
10741	}
10742
10743	if invalidParams.Len() > 0 {
10744		return invalidParams
10745	}
10746	return nil
10747}
10748
10749// SetKey sets the Key field's value.
10750func (s *CommandFilter) SetKey(v string) *CommandFilter {
10751	s.Key = &v
10752	return s
10753}
10754
10755// SetValue sets the Value field's value.
10756func (s *CommandFilter) SetValue(v string) *CommandFilter {
10757	s.Value = &v
10758	return s
10759}
10760
10761// An invocation is copy of a command sent to a specific instance. A command
10762// can apply to one or more instances. A command invocation applies to one instance.
10763// For example, if a user executes SendCommand against three instances, then
10764// a command invocation is created for each requested instance ID. A command
10765// invocation returns status and detail information about a command you executed.
10766// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandInvocation
10767type CommandInvocation struct {
10768	_ struct{} `type:"structure"`
10769
10770	// The command against which this invocation was requested.
10771	CommandId *string `min:"36" type:"string"`
10772
10773	CommandPlugins []*CommandPlugin `type:"list"`
10774
10775	// User-specified information about the command, such as a brief description
10776	// of what the command should do.
10777	Comment *string `type:"string"`
10778
10779	// The document name that was requested for execution.
10780	DocumentName *string `type:"string"`
10781
10782	// The instance ID in which this invocation was requested.
10783	InstanceId *string `type:"string"`
10784
10785	// The name of the invocation target. For Amazon EC2 instances this is the value
10786	// for the aws:Name tag. For on-premises instances, this is the name of the
10787	// instance.
10788	InstanceName *string `type:"string"`
10789
10790	// Configurations for sending notifications about command status changes on
10791	// a per instance basis.
10792	NotificationConfig *NotificationConfig `type:"structure"`
10793
10794	// The time and date the request was sent to this instance.
10795	RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
10796
10797	// The IAM service role that Run Command uses to act on your behalf when sending
10798	// notifications about command status changes on a per instance basis.
10799	ServiceRole *string `type:"string"`
10800
10801	// The URL to the plugin's StdErr file in Amazon S3, if the Amazon S3 bucket
10802	// was defined for the parent command. For an invocation, StandardErrorUrl is
10803	// populated if there is just one plugin defined for the command, and the Amazon
10804	// S3 bucket was defined for the command.
10805	StandardErrorUrl *string `type:"string"`
10806
10807	// The URL to the plugin's StdOut file in Amazon S3, if the Amazon S3 bucket
10808	// was defined for the parent command. For an invocation, StandardOutputUrl
10809	// is populated if there is just one plugin defined for the command, and the
10810	// Amazon S3 bucket was defined for the command.
10811	StandardOutputUrl *string `type:"string"`
10812
10813	// Whether or not the invocation succeeded, failed, or is pending.
10814	Status *string `type:"string" enum:"CommandInvocationStatus"`
10815
10816	// A detailed status of the command execution for each invocation (each instance
10817	// targeted by the command). StatusDetails includes more information than Status
10818	// because it includes states resulting from error and concurrency control parameters.
10819	// StatusDetails can show different results than Status. For more information
10820	// about these statuses, see Run Command Status (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html).
10821	// StatusDetails can be one of the following values:
10822	//
10823	//    * Pending: The command has not been sent to the instance.
10824	//
10825	//    * In Progress: The command has been sent to the instance but has not reached
10826	//    a terminal state.
10827	//
10828	//    * Success: The execution of the command or plugin was successfully completed.
10829	//    This is a terminal state.
10830	//
10831	//    * Delivery Timed Out: The command was not delivered to the instance before
10832	//    the delivery timeout expired. Delivery timeouts do not count against the
10833	//    parent command's MaxErrors limit, but they do contribute to whether the
10834	//    parent command status is Success or Incomplete. This is a terminal state.
10835	//
10836	//    * Execution Timed Out: Command execution started on the instance, but
10837	//    the execution was not complete before the execution timeout expired. Execution
10838	//    timeouts count against the MaxErrors limit of the parent command. This
10839	//    is a terminal state.
10840	//
10841	//    * Failed: The command was not successful on the instance. For a plugin,
10842	//    this indicates that the result code was not zero. For a command invocation,
10843	//    this indicates that the result code for one or more plugins was not zero.
10844	//    Invocation failures count against the MaxErrors limit of the parent command.
10845	//    This is a terminal state.
10846	//
10847	//    * Canceled: The command was terminated before it was completed. This is
10848	//    a terminal state.
10849	//
10850	//    * Undeliverable: The command can't be delivered to the instance. The instance
10851	//    might not exist or might not be responding. Undeliverable invocations
10852	//    don't count against the parent command's MaxErrors limit and don't contribute
10853	//    to whether the parent command status is Success or Incomplete. This is
10854	//    a terminal state.
10855	//
10856	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
10857	//    command invocations were canceled by the system. This is a terminal state.
10858	StatusDetails *string `type:"string"`
10859
10860	// Gets the trace output sent by the agent.
10861	TraceOutput *string `type:"string"`
10862}
10863
10864// String returns the string representation
10865func (s CommandInvocation) String() string {
10866	return awsutil.Prettify(s)
10867}
10868
10869// GoString returns the string representation
10870func (s CommandInvocation) GoString() string {
10871	return s.String()
10872}
10873
10874// SetCommandId sets the CommandId field's value.
10875func (s *CommandInvocation) SetCommandId(v string) *CommandInvocation {
10876	s.CommandId = &v
10877	return s
10878}
10879
10880// SetCommandPlugins sets the CommandPlugins field's value.
10881func (s *CommandInvocation) SetCommandPlugins(v []*CommandPlugin) *CommandInvocation {
10882	s.CommandPlugins = v
10883	return s
10884}
10885
10886// SetComment sets the Comment field's value.
10887func (s *CommandInvocation) SetComment(v string) *CommandInvocation {
10888	s.Comment = &v
10889	return s
10890}
10891
10892// SetDocumentName sets the DocumentName field's value.
10893func (s *CommandInvocation) SetDocumentName(v string) *CommandInvocation {
10894	s.DocumentName = &v
10895	return s
10896}
10897
10898// SetInstanceId sets the InstanceId field's value.
10899func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation {
10900	s.InstanceId = &v
10901	return s
10902}
10903
10904// SetInstanceName sets the InstanceName field's value.
10905func (s *CommandInvocation) SetInstanceName(v string) *CommandInvocation {
10906	s.InstanceName = &v
10907	return s
10908}
10909
10910// SetNotificationConfig sets the NotificationConfig field's value.
10911func (s *CommandInvocation) SetNotificationConfig(v *NotificationConfig) *CommandInvocation {
10912	s.NotificationConfig = v
10913	return s
10914}
10915
10916// SetRequestedDateTime sets the RequestedDateTime field's value.
10917func (s *CommandInvocation) SetRequestedDateTime(v time.Time) *CommandInvocation {
10918	s.RequestedDateTime = &v
10919	return s
10920}
10921
10922// SetServiceRole sets the ServiceRole field's value.
10923func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation {
10924	s.ServiceRole = &v
10925	return s
10926}
10927
10928// SetStandardErrorUrl sets the StandardErrorUrl field's value.
10929func (s *CommandInvocation) SetStandardErrorUrl(v string) *CommandInvocation {
10930	s.StandardErrorUrl = &v
10931	return s
10932}
10933
10934// SetStandardOutputUrl sets the StandardOutputUrl field's value.
10935func (s *CommandInvocation) SetStandardOutputUrl(v string) *CommandInvocation {
10936	s.StandardOutputUrl = &v
10937	return s
10938}
10939
10940// SetStatus sets the Status field's value.
10941func (s *CommandInvocation) SetStatus(v string) *CommandInvocation {
10942	s.Status = &v
10943	return s
10944}
10945
10946// SetStatusDetails sets the StatusDetails field's value.
10947func (s *CommandInvocation) SetStatusDetails(v string) *CommandInvocation {
10948	s.StatusDetails = &v
10949	return s
10950}
10951
10952// SetTraceOutput sets the TraceOutput field's value.
10953func (s *CommandInvocation) SetTraceOutput(v string) *CommandInvocation {
10954	s.TraceOutput = &v
10955	return s
10956}
10957
10958// Describes plugin details.
10959// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandPlugin
10960type CommandPlugin struct {
10961	_ struct{} `type:"structure"`
10962
10963	// The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin,
10964	// aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch,
10965	// aws:runShellScript, or aws:updateSSMAgent.
10966	Name *string `min:"4" type:"string"`
10967
10968	// Output of the plugin execution.
10969	Output *string `type:"string"`
10970
10971	// The S3 bucket where the responses to the command executions should be stored.
10972	// This was requested when issuing the command. For example, in the following
10973	// response:
10974	//
10975	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
10976	//
10977	// test_folder is the name of the Amazon S3 bucket;
10978	//
10979	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
10980	//
10981	// i-1234567876543 is the instance ID;
10982	//
10983	// awsrunShellScript is the name of the plugin.
10984	OutputS3BucketName *string `min:"3" type:"string"`
10985
10986	// The S3 directory path inside the bucket where the responses to the command
10987	// executions should be stored. This was requested when issuing the command.
10988	// For example, in the following response:
10989	//
10990	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
10991	//
10992	// test_folder is the name of the Amazon S3 bucket;
10993	//
10994	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
10995	//
10996	// i-1234567876543 is the instance ID;
10997	//
10998	// awsrunShellScript is the name of the plugin.
10999	OutputS3KeyPrefix *string `type:"string"`
11000
11001	// (Deprecated) You can no longer specify this parameter. The system ignores
11002	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
11003	// region.
11004	OutputS3Region *string `min:"3" type:"string"`
11005
11006	// A numeric response code generated after executing the plugin.
11007	ResponseCode *int64 `type:"integer"`
11008
11009	// The time the plugin stopped executing. Could stop prematurely if, for example,
11010	// a cancel command was sent.
11011	ResponseFinishDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
11012
11013	// The time the plugin started executing.
11014	ResponseStartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
11015
11016	// The URL for the complete text written by the plugin to stderr. If execution
11017	// is not yet complete, then this string is empty.
11018	StandardErrorUrl *string `type:"string"`
11019
11020	// The URL for the complete text written by the plugin to stdout in Amazon S3.
11021	// If the Amazon S3 bucket for the command was not specified, then this string
11022	// is empty.
11023	StandardOutputUrl *string `type:"string"`
11024
11025	// The status of this plugin. You can execute a document with multiple plugins.
11026	Status *string `type:"string" enum:"CommandPluginStatus"`
11027
11028	// A detailed status of the plugin execution. StatusDetails includes more information
11029	// than Status because it includes states resulting from error and concurrency
11030	// control parameters. StatusDetails can show different results than Status.
11031	// For more information about these statuses, see Run Command Status (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html).
11032	// StatusDetails can be one of the following values:
11033	//
11034	//    * Pending: The command has not been sent to the instance.
11035	//
11036	//    * In Progress: The command has been sent to the instance but has not reached
11037	//    a terminal state.
11038	//
11039	//    * Success: The execution of the command or plugin was successfully completed.
11040	//    This is a terminal state.
11041	//
11042	//    * Delivery Timed Out: The command was not delivered to the instance before
11043	//    the delivery timeout expired. Delivery timeouts do not count against the
11044	//    parent command's MaxErrors limit, but they do contribute to whether the
11045	//    parent command status is Success or Incomplete. This is a terminal state.
11046	//
11047	//    * Execution Timed Out: Command execution started on the instance, but
11048	//    the execution was not complete before the execution timeout expired. Execution
11049	//    timeouts count against the MaxErrors limit of the parent command. This
11050	//    is a terminal state.
11051	//
11052	//    * Failed: The command was not successful on the instance. For a plugin,
11053	//    this indicates that the result code was not zero. For a command invocation,
11054	//    this indicates that the result code for one or more plugins was not zero.
11055	//    Invocation failures count against the MaxErrors limit of the parent command.
11056	//    This is a terminal state.
11057	//
11058	//    * Canceled: The command was terminated before it was completed. This is
11059	//    a terminal state.
11060	//
11061	//    * Undeliverable: The command can't be delivered to the instance. The instance
11062	//    might not exist, or it might not be responding. Undeliverable invocations
11063	//    don't count against the parent command's MaxErrors limit, and they don't
11064	//    contribute to whether the parent command status is Success or Incomplete.
11065	//    This is a terminal state.
11066	//
11067	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
11068	//    command invocations were canceled by the system. This is a terminal state.
11069	StatusDetails *string `type:"string"`
11070}
11071
11072// String returns the string representation
11073func (s CommandPlugin) String() string {
11074	return awsutil.Prettify(s)
11075}
11076
11077// GoString returns the string representation
11078func (s CommandPlugin) GoString() string {
11079	return s.String()
11080}
11081
11082// SetName sets the Name field's value.
11083func (s *CommandPlugin) SetName(v string) *CommandPlugin {
11084	s.Name = &v
11085	return s
11086}
11087
11088// SetOutput sets the Output field's value.
11089func (s *CommandPlugin) SetOutput(v string) *CommandPlugin {
11090	s.Output = &v
11091	return s
11092}
11093
11094// SetOutputS3BucketName sets the OutputS3BucketName field's value.
11095func (s *CommandPlugin) SetOutputS3BucketName(v string) *CommandPlugin {
11096	s.OutputS3BucketName = &v
11097	return s
11098}
11099
11100// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
11101func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin {
11102	s.OutputS3KeyPrefix = &v
11103	return s
11104}
11105
11106// SetOutputS3Region sets the OutputS3Region field's value.
11107func (s *CommandPlugin) SetOutputS3Region(v string) *CommandPlugin {
11108	s.OutputS3Region = &v
11109	return s
11110}
11111
11112// SetResponseCode sets the ResponseCode field's value.
11113func (s *CommandPlugin) SetResponseCode(v int64) *CommandPlugin {
11114	s.ResponseCode = &v
11115	return s
11116}
11117
11118// SetResponseFinishDateTime sets the ResponseFinishDateTime field's value.
11119func (s *CommandPlugin) SetResponseFinishDateTime(v time.Time) *CommandPlugin {
11120	s.ResponseFinishDateTime = &v
11121	return s
11122}
11123
11124// SetResponseStartDateTime sets the ResponseStartDateTime field's value.
11125func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin {
11126	s.ResponseStartDateTime = &v
11127	return s
11128}
11129
11130// SetStandardErrorUrl sets the StandardErrorUrl field's value.
11131func (s *CommandPlugin) SetStandardErrorUrl(v string) *CommandPlugin {
11132	s.StandardErrorUrl = &v
11133	return s
11134}
11135
11136// SetStandardOutputUrl sets the StandardOutputUrl field's value.
11137func (s *CommandPlugin) SetStandardOutputUrl(v string) *CommandPlugin {
11138	s.StandardOutputUrl = &v
11139	return s
11140}
11141
11142// SetStatus sets the Status field's value.
11143func (s *CommandPlugin) SetStatus(v string) *CommandPlugin {
11144	s.Status = &v
11145	return s
11146}
11147
11148// SetStatusDetails sets the StatusDetails field's value.
11149func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin {
11150	s.StatusDetails = &v
11151	return s
11152}
11153
11154// A summary of the call execution that includes an execution ID, the type of
11155// execution (for example, Command), and the date/time of the execution using
11156// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
11157// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceExecutionSummary
11158type ComplianceExecutionSummary struct {
11159	_ struct{} `type:"structure"`
11160
11161	// An ID created by the system when PutComplianceItems was called. For example,
11162	// CommandID is a valid execution ID. You can use this ID in subsequent calls.
11163	ExecutionId *string `type:"string"`
11164
11165	// The time the execution ran as a datetime object that is saved in the following
11166	// format: yyyy-MM-dd'T'HH:mm:ss'Z'.
11167	//
11168	// ExecutionTime is a required field
11169	ExecutionTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
11170
11171	// The type of execution. For example, Command is a valid execution type.
11172	ExecutionType *string `type:"string"`
11173}
11174
11175// String returns the string representation
11176func (s ComplianceExecutionSummary) String() string {
11177	return awsutil.Prettify(s)
11178}
11179
11180// GoString returns the string representation
11181func (s ComplianceExecutionSummary) GoString() string {
11182	return s.String()
11183}
11184
11185// Validate inspects the fields of the type to determine if they are valid.
11186func (s *ComplianceExecutionSummary) Validate() error {
11187	invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"}
11188	if s.ExecutionTime == nil {
11189		invalidParams.Add(request.NewErrParamRequired("ExecutionTime"))
11190	}
11191
11192	if invalidParams.Len() > 0 {
11193		return invalidParams
11194	}
11195	return nil
11196}
11197
11198// SetExecutionId sets the ExecutionId field's value.
11199func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary {
11200	s.ExecutionId = &v
11201	return s
11202}
11203
11204// SetExecutionTime sets the ExecutionTime field's value.
11205func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary {
11206	s.ExecutionTime = &v
11207	return s
11208}
11209
11210// SetExecutionType sets the ExecutionType field's value.
11211func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary {
11212	s.ExecutionType = &v
11213	return s
11214}
11215
11216// Information about the compliance as defined by the resource type. For example,
11217// for a patch resource type, Items includes information about the PatchSeverity,
11218// Classification, etc.
11219// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItem
11220type ComplianceItem struct {
11221	_ struct{} `type:"structure"`
11222
11223	// The compliance type. For example, Association (for a State Manager association),
11224	// Patch, or Custom:string are all valid compliance types.
11225	ComplianceType *string `min:"1" type:"string"`
11226
11227	// A "Key": "Value" tag combination for the compliance item.
11228	Details map[string]*string `type:"map"`
11229
11230	// A summary for the compliance item. The summary includes an execution ID,
11231	// the execution type (for example, command), and the execution time.
11232	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
11233
11234	// An ID for the compliance item. For example, if the compliance item is a Windows
11235	// patch, the ID could be the number of the KB article. Here's an example: KB4010320.
11236	Id *string `min:"1" type:"string"`
11237
11238	// An ID for the resource. For a managed instance, this is the instance ID.
11239	ResourceId *string `min:"1" type:"string"`
11240
11241	// The type of resource. ManagedInstance is currently the only supported resource
11242	// type.
11243	ResourceType *string `min:"1" type:"string"`
11244
11245	// The severity of the compliance status. Severity can be one of the following:
11246	// Critical, High, Medium, Low, Informational, Unspecified.
11247	Severity *string `type:"string" enum:"ComplianceSeverity"`
11248
11249	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
11250	Status *string `type:"string" enum:"ComplianceStatus"`
11251
11252	// A title for the compliance item. For example, if the compliance item is a
11253	// Windows patch, the title could be the title of the KB article for the patch.
11254	// Here's an example: Security Update for Active Directory Federation Services.
11255	Title *string `type:"string"`
11256}
11257
11258// String returns the string representation
11259func (s ComplianceItem) String() string {
11260	return awsutil.Prettify(s)
11261}
11262
11263// GoString returns the string representation
11264func (s ComplianceItem) GoString() string {
11265	return s.String()
11266}
11267
11268// SetComplianceType sets the ComplianceType field's value.
11269func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem {
11270	s.ComplianceType = &v
11271	return s
11272}
11273
11274// SetDetails sets the Details field's value.
11275func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem {
11276	s.Details = v
11277	return s
11278}
11279
11280// SetExecutionSummary sets the ExecutionSummary field's value.
11281func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem {
11282	s.ExecutionSummary = v
11283	return s
11284}
11285
11286// SetId sets the Id field's value.
11287func (s *ComplianceItem) SetId(v string) *ComplianceItem {
11288	s.Id = &v
11289	return s
11290}
11291
11292// SetResourceId sets the ResourceId field's value.
11293func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem {
11294	s.ResourceId = &v
11295	return s
11296}
11297
11298// SetResourceType sets the ResourceType field's value.
11299func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem {
11300	s.ResourceType = &v
11301	return s
11302}
11303
11304// SetSeverity sets the Severity field's value.
11305func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem {
11306	s.Severity = &v
11307	return s
11308}
11309
11310// SetStatus sets the Status field's value.
11311func (s *ComplianceItem) SetStatus(v string) *ComplianceItem {
11312	s.Status = &v
11313	return s
11314}
11315
11316// SetTitle sets the Title field's value.
11317func (s *ComplianceItem) SetTitle(v string) *ComplianceItem {
11318	s.Title = &v
11319	return s
11320}
11321
11322// Information about a compliance item.
11323// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItemEntry
11324type ComplianceItemEntry struct {
11325	_ struct{} `type:"structure"`
11326
11327	// A "Key": "Value" tag combination for the compliance item.
11328	Details map[string]*string `type:"map"`
11329
11330	// The compliance item ID. For example, if the compliance item is a Windows
11331	// patch, the ID could be the number of the KB article.
11332	Id *string `min:"1" type:"string"`
11333
11334	// The severity of the compliance status. Severity can be one of the following:
11335	// Critical, High, Medium, Low, Informational, Unspecified.
11336	//
11337	// Severity is a required field
11338	Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"`
11339
11340	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
11341	//
11342	// Status is a required field
11343	Status *string `type:"string" required:"true" enum:"ComplianceStatus"`
11344
11345	// The title of the compliance item. For example, if the compliance item is
11346	// a Windows patch, the title could be the title of the KB article for the patch.
11347	// Here's an example: Security Update for Active Directory Federation Services.
11348	Title *string `type:"string"`
11349}
11350
11351// String returns the string representation
11352func (s ComplianceItemEntry) String() string {
11353	return awsutil.Prettify(s)
11354}
11355
11356// GoString returns the string representation
11357func (s ComplianceItemEntry) GoString() string {
11358	return s.String()
11359}
11360
11361// Validate inspects the fields of the type to determine if they are valid.
11362func (s *ComplianceItemEntry) Validate() error {
11363	invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"}
11364	if s.Id != nil && len(*s.Id) < 1 {
11365		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11366	}
11367	if s.Severity == nil {
11368		invalidParams.Add(request.NewErrParamRequired("Severity"))
11369	}
11370	if s.Status == nil {
11371		invalidParams.Add(request.NewErrParamRequired("Status"))
11372	}
11373
11374	if invalidParams.Len() > 0 {
11375		return invalidParams
11376	}
11377	return nil
11378}
11379
11380// SetDetails sets the Details field's value.
11381func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry {
11382	s.Details = v
11383	return s
11384}
11385
11386// SetId sets the Id field's value.
11387func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry {
11388	s.Id = &v
11389	return s
11390}
11391
11392// SetSeverity sets the Severity field's value.
11393func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry {
11394	s.Severity = &v
11395	return s
11396}
11397
11398// SetStatus sets the Status field's value.
11399func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry {
11400	s.Status = &v
11401	return s
11402}
11403
11404// SetTitle sets the Title field's value.
11405func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry {
11406	s.Title = &v
11407	return s
11408}
11409
11410// One or more filters. Use a filter to return a more specific list of results.
11411// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceStringFilter
11412type ComplianceStringFilter struct {
11413	_ struct{} `type:"structure"`
11414
11415	// The name of the filter.
11416	Key *string `min:"1" type:"string"`
11417
11418	// The type of comparison that should be performed for the value: Equal, NotEqual,
11419	// BeginWith, LessThan, or GreaterThan.
11420	Type *string `type:"string" enum:"ComplianceQueryOperatorType"`
11421
11422	// The value for which to search.
11423	Values []*string `locationNameList:"FilterValue" min:"1" type:"list"`
11424}
11425
11426// String returns the string representation
11427func (s ComplianceStringFilter) String() string {
11428	return awsutil.Prettify(s)
11429}
11430
11431// GoString returns the string representation
11432func (s ComplianceStringFilter) GoString() string {
11433	return s.String()
11434}
11435
11436// Validate inspects the fields of the type to determine if they are valid.
11437func (s *ComplianceStringFilter) Validate() error {
11438	invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"}
11439	if s.Key != nil && len(*s.Key) < 1 {
11440		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11441	}
11442	if s.Values != nil && len(s.Values) < 1 {
11443		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
11444	}
11445
11446	if invalidParams.Len() > 0 {
11447		return invalidParams
11448	}
11449	return nil
11450}
11451
11452// SetKey sets the Key field's value.
11453func (s *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter {
11454	s.Key = &v
11455	return s
11456}
11457
11458// SetType sets the Type field's value.
11459func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter {
11460	s.Type = &v
11461	return s
11462}
11463
11464// SetValues sets the Values field's value.
11465func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter {
11466	s.Values = v
11467	return s
11468}
11469
11470// A summary of compliance information by compliance type.
11471// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceSummaryItem
11472type ComplianceSummaryItem struct {
11473	_ struct{} `type:"structure"`
11474
11475	// The type of compliance item. For example, the compliance type can be Association,
11476	// Patch, or Custom:string.
11477	ComplianceType *string `min:"1" type:"string"`
11478
11479	// A list of COMPLIANT items for the specified compliance type.
11480	CompliantSummary *CompliantSummary `type:"structure"`
11481
11482	// A list of NON_COMPLIANT items for the specified compliance type.
11483	NonCompliantSummary *NonCompliantSummary `type:"structure"`
11484}
11485
11486// String returns the string representation
11487func (s ComplianceSummaryItem) String() string {
11488	return awsutil.Prettify(s)
11489}
11490
11491// GoString returns the string representation
11492func (s ComplianceSummaryItem) GoString() string {
11493	return s.String()
11494}
11495
11496// SetComplianceType sets the ComplianceType field's value.
11497func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem {
11498	s.ComplianceType = &v
11499	return s
11500}
11501
11502// SetCompliantSummary sets the CompliantSummary field's value.
11503func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem {
11504	s.CompliantSummary = v
11505	return s
11506}
11507
11508// SetNonCompliantSummary sets the NonCompliantSummary field's value.
11509func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem {
11510	s.NonCompliantSummary = v
11511	return s
11512}
11513
11514// A summary of resources that are compliant. The summary is organized according
11515// to the resource count for each compliance type.
11516// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CompliantSummary
11517type CompliantSummary struct {
11518	_ struct{} `type:"structure"`
11519
11520	// The total number of resources that are compliant.
11521	CompliantCount *int64 `type:"integer"`
11522
11523	// A summary of the compliance severity by compliance type.
11524	SeveritySummary *SeveritySummary `type:"structure"`
11525}
11526
11527// String returns the string representation
11528func (s CompliantSummary) String() string {
11529	return awsutil.Prettify(s)
11530}
11531
11532// GoString returns the string representation
11533func (s CompliantSummary) GoString() string {
11534	return s.String()
11535}
11536
11537// SetCompliantCount sets the CompliantCount field's value.
11538func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary {
11539	s.CompliantCount = &v
11540	return s
11541}
11542
11543// SetSeveritySummary sets the SeveritySummary field's value.
11544func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary {
11545	s.SeveritySummary = v
11546	return s
11547}
11548
11549// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivationRequest
11550type CreateActivationInput struct {
11551	_ struct{} `type:"structure"`
11552
11553	// The name of the registered, managed instance as it will appear in the Amazon
11554	// EC2 console or when you use the AWS command line tools to list EC2 resources.
11555	DefaultInstanceName *string `type:"string"`
11556
11557	// A userdefined description of the resource that you want to register with
11558	// Amazon EC2.
11559	Description *string `type:"string"`
11560
11561	// The date by which this activation request should expire. The default value
11562	// is 24 hours.
11563	ExpirationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
11564
11565	// The Amazon Identity and Access Management (IAM) role that you want to assign
11566	// to the managed instance.
11567	//
11568	// IamRole is a required field
11569	IamRole *string `type:"string" required:"true"`
11570
11571	// Specify the maximum number of managed instances you want to register. The
11572	// default value is 1 instance.
11573	RegistrationLimit *int64 `min:"1" type:"integer"`
11574}
11575
11576// String returns the string representation
11577func (s CreateActivationInput) String() string {
11578	return awsutil.Prettify(s)
11579}
11580
11581// GoString returns the string representation
11582func (s CreateActivationInput) GoString() string {
11583	return s.String()
11584}
11585
11586// Validate inspects the fields of the type to determine if they are valid.
11587func (s *CreateActivationInput) Validate() error {
11588	invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"}
11589	if s.IamRole == nil {
11590		invalidParams.Add(request.NewErrParamRequired("IamRole"))
11591	}
11592	if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 {
11593		invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1))
11594	}
11595
11596	if invalidParams.Len() > 0 {
11597		return invalidParams
11598	}
11599	return nil
11600}
11601
11602// SetDefaultInstanceName sets the DefaultInstanceName field's value.
11603func (s *CreateActivationInput) SetDefaultInstanceName(v string) *CreateActivationInput {
11604	s.DefaultInstanceName = &v
11605	return s
11606}
11607
11608// SetDescription sets the Description field's value.
11609func (s *CreateActivationInput) SetDescription(v string) *CreateActivationInput {
11610	s.Description = &v
11611	return s
11612}
11613
11614// SetExpirationDate sets the ExpirationDate field's value.
11615func (s *CreateActivationInput) SetExpirationDate(v time.Time) *CreateActivationInput {
11616	s.ExpirationDate = &v
11617	return s
11618}
11619
11620// SetIamRole sets the IamRole field's value.
11621func (s *CreateActivationInput) SetIamRole(v string) *CreateActivationInput {
11622	s.IamRole = &v
11623	return s
11624}
11625
11626// SetRegistrationLimit sets the RegistrationLimit field's value.
11627func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationInput {
11628	s.RegistrationLimit = &v
11629	return s
11630}
11631
11632// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivationResult
11633type CreateActivationOutput struct {
11634	_ struct{} `type:"structure"`
11635
11636	// The code the system generates when it processes the activation. The activation
11637	// code functions like a password to validate the activation ID.
11638	ActivationCode *string `min:"20" type:"string"`
11639
11640	// The ID number generated by the system when it processed the activation. The
11641	// activation ID functions like a user name.
11642	ActivationId *string `type:"string"`
11643}
11644
11645// String returns the string representation
11646func (s CreateActivationOutput) String() string {
11647	return awsutil.Prettify(s)
11648}
11649
11650// GoString returns the string representation
11651func (s CreateActivationOutput) GoString() string {
11652	return s.String()
11653}
11654
11655// SetActivationCode sets the ActivationCode field's value.
11656func (s *CreateActivationOutput) SetActivationCode(v string) *CreateActivationOutput {
11657	s.ActivationCode = &v
11658	return s
11659}
11660
11661// SetActivationId sets the ActivationId field's value.
11662func (s *CreateActivationOutput) SetActivationId(v string) *CreateActivationOutput {
11663	s.ActivationId = &v
11664	return s
11665}
11666
11667// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatchRequest
11668type CreateAssociationBatchInput struct {
11669	_ struct{} `type:"structure"`
11670
11671	// One or more associations.
11672	//
11673	// Entries is a required field
11674	Entries []*CreateAssociationBatchRequestEntry `locationNameList:"entries" min:"1" type:"list" required:"true"`
11675}
11676
11677// String returns the string representation
11678func (s CreateAssociationBatchInput) String() string {
11679	return awsutil.Prettify(s)
11680}
11681
11682// GoString returns the string representation
11683func (s CreateAssociationBatchInput) GoString() string {
11684	return s.String()
11685}
11686
11687// Validate inspects the fields of the type to determine if they are valid.
11688func (s *CreateAssociationBatchInput) Validate() error {
11689	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"}
11690	if s.Entries == nil {
11691		invalidParams.Add(request.NewErrParamRequired("Entries"))
11692	}
11693	if s.Entries != nil && len(s.Entries) < 1 {
11694		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
11695	}
11696	if s.Entries != nil {
11697		for i, v := range s.Entries {
11698			if v == nil {
11699				continue
11700			}
11701			if err := v.Validate(); err != nil {
11702				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
11703			}
11704		}
11705	}
11706
11707	if invalidParams.Len() > 0 {
11708		return invalidParams
11709	}
11710	return nil
11711}
11712
11713// SetEntries sets the Entries field's value.
11714func (s *CreateAssociationBatchInput) SetEntries(v []*CreateAssociationBatchRequestEntry) *CreateAssociationBatchInput {
11715	s.Entries = v
11716	return s
11717}
11718
11719// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatchResult
11720type CreateAssociationBatchOutput struct {
11721	_ struct{} `type:"structure"`
11722
11723	// Information about the associations that failed.
11724	Failed []*FailedCreateAssociation `locationNameList:"FailedCreateAssociationEntry" type:"list"`
11725
11726	// Information about the associations that succeeded.
11727	Successful []*AssociationDescription `locationNameList:"AssociationDescription" type:"list"`
11728}
11729
11730// String returns the string representation
11731func (s CreateAssociationBatchOutput) String() string {
11732	return awsutil.Prettify(s)
11733}
11734
11735// GoString returns the string representation
11736func (s CreateAssociationBatchOutput) GoString() string {
11737	return s.String()
11738}
11739
11740// SetFailed sets the Failed field's value.
11741func (s *CreateAssociationBatchOutput) SetFailed(v []*FailedCreateAssociation) *CreateAssociationBatchOutput {
11742	s.Failed = v
11743	return s
11744}
11745
11746// SetSuccessful sets the Successful field's value.
11747func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription) *CreateAssociationBatchOutput {
11748	s.Successful = v
11749	return s
11750}
11751
11752// Describes the association of a Systems Manager document and an instance.
11753// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatchRequestEntry
11754type CreateAssociationBatchRequestEntry struct {
11755	_ struct{} `type:"structure"`
11756
11757	// Specify a descriptive name for the association.
11758	AssociationName *string `type:"string"`
11759
11760	// The document version.
11761	DocumentVersion *string `type:"string"`
11762
11763	// The ID of the instance.
11764	InstanceId *string `type:"string"`
11765
11766	// The name of the configuration document.
11767	//
11768	// Name is a required field
11769	Name *string `type:"string" required:"true"`
11770
11771	// An Amazon S3 bucket where you want to store the results of this request.
11772	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
11773
11774	// A description of the parameters for a document.
11775	Parameters map[string][]*string `type:"map"`
11776
11777	// A cron expression that specifies a schedule when the association runs.
11778	ScheduleExpression *string `min:"1" type:"string"`
11779
11780	// The instances targeted by the request.
11781	Targets []*Target `type:"list"`
11782}
11783
11784// String returns the string representation
11785func (s CreateAssociationBatchRequestEntry) String() string {
11786	return awsutil.Prettify(s)
11787}
11788
11789// GoString returns the string representation
11790func (s CreateAssociationBatchRequestEntry) GoString() string {
11791	return s.String()
11792}
11793
11794// Validate inspects the fields of the type to determine if they are valid.
11795func (s *CreateAssociationBatchRequestEntry) Validate() error {
11796	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchRequestEntry"}
11797	if s.Name == nil {
11798		invalidParams.Add(request.NewErrParamRequired("Name"))
11799	}
11800	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
11801		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
11802	}
11803	if s.OutputLocation != nil {
11804		if err := s.OutputLocation.Validate(); err != nil {
11805			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
11806		}
11807	}
11808	if s.Targets != nil {
11809		for i, v := range s.Targets {
11810			if v == nil {
11811				continue
11812			}
11813			if err := v.Validate(); err != nil {
11814				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
11815			}
11816		}
11817	}
11818
11819	if invalidParams.Len() > 0 {
11820		return invalidParams
11821	}
11822	return nil
11823}
11824
11825// SetAssociationName sets the AssociationName field's value.
11826func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry {
11827	s.AssociationName = &v
11828	return s
11829}
11830
11831// SetDocumentVersion sets the DocumentVersion field's value.
11832func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry {
11833	s.DocumentVersion = &v
11834	return s
11835}
11836
11837// SetInstanceId sets the InstanceId field's value.
11838func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry {
11839	s.InstanceId = &v
11840	return s
11841}
11842
11843// SetName sets the Name field's value.
11844func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry {
11845	s.Name = &v
11846	return s
11847}
11848
11849// SetOutputLocation sets the OutputLocation field's value.
11850func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry {
11851	s.OutputLocation = v
11852	return s
11853}
11854
11855// SetParameters sets the Parameters field's value.
11856func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry {
11857	s.Parameters = v
11858	return s
11859}
11860
11861// SetScheduleExpression sets the ScheduleExpression field's value.
11862func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry {
11863	s.ScheduleExpression = &v
11864	return s
11865}
11866
11867// SetTargets sets the Targets field's value.
11868func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry {
11869	s.Targets = v
11870	return s
11871}
11872
11873// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationRequest
11874type CreateAssociationInput struct {
11875	_ struct{} `type:"structure"`
11876
11877	// Specify a descriptive name for the association.
11878	AssociationName *string `type:"string"`
11879
11880	// The document version you want to associate with the target(s). Can be a specific
11881	// version or the default version.
11882	DocumentVersion *string `type:"string"`
11883
11884	// The instance ID.
11885	InstanceId *string `type:"string"`
11886
11887	// The name of the Systems Manager document.
11888	//
11889	// Name is a required field
11890	Name *string `type:"string" required:"true"`
11891
11892	// An Amazon S3 bucket where you want to store the output details of the request.
11893	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
11894
11895	// The parameters for the documents runtime configuration.
11896	Parameters map[string][]*string `type:"map"`
11897
11898	// A cron expression when the association will be applied to the target(s).
11899	ScheduleExpression *string `min:"1" type:"string"`
11900
11901	// The targets (either instances or tags) for the association.
11902	Targets []*Target `type:"list"`
11903}
11904
11905// String returns the string representation
11906func (s CreateAssociationInput) String() string {
11907	return awsutil.Prettify(s)
11908}
11909
11910// GoString returns the string representation
11911func (s CreateAssociationInput) GoString() string {
11912	return s.String()
11913}
11914
11915// Validate inspects the fields of the type to determine if they are valid.
11916func (s *CreateAssociationInput) Validate() error {
11917	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"}
11918	if s.Name == nil {
11919		invalidParams.Add(request.NewErrParamRequired("Name"))
11920	}
11921	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
11922		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
11923	}
11924	if s.OutputLocation != nil {
11925		if err := s.OutputLocation.Validate(); err != nil {
11926			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
11927		}
11928	}
11929	if s.Targets != nil {
11930		for i, v := range s.Targets {
11931			if v == nil {
11932				continue
11933			}
11934			if err := v.Validate(); err != nil {
11935				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
11936			}
11937		}
11938	}
11939
11940	if invalidParams.Len() > 0 {
11941		return invalidParams
11942	}
11943	return nil
11944}
11945
11946// SetAssociationName sets the AssociationName field's value.
11947func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput {
11948	s.AssociationName = &v
11949	return s
11950}
11951
11952// SetDocumentVersion sets the DocumentVersion field's value.
11953func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput {
11954	s.DocumentVersion = &v
11955	return s
11956}
11957
11958// SetInstanceId sets the InstanceId field's value.
11959func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput {
11960	s.InstanceId = &v
11961	return s
11962}
11963
11964// SetName sets the Name field's value.
11965func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput {
11966	s.Name = &v
11967	return s
11968}
11969
11970// SetOutputLocation sets the OutputLocation field's value.
11971func (s *CreateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationInput {
11972	s.OutputLocation = v
11973	return s
11974}
11975
11976// SetParameters sets the Parameters field's value.
11977func (s *CreateAssociationInput) SetParameters(v map[string][]*string) *CreateAssociationInput {
11978	s.Parameters = v
11979	return s
11980}
11981
11982// SetScheduleExpression sets the ScheduleExpression field's value.
11983func (s *CreateAssociationInput) SetScheduleExpression(v string) *CreateAssociationInput {
11984	s.ScheduleExpression = &v
11985	return s
11986}
11987
11988// SetTargets sets the Targets field's value.
11989func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput {
11990	s.Targets = v
11991	return s
11992}
11993
11994// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationResult
11995type CreateAssociationOutput struct {
11996	_ struct{} `type:"structure"`
11997
11998	// Information about the association.
11999	AssociationDescription *AssociationDescription `type:"structure"`
12000}
12001
12002// String returns the string representation
12003func (s CreateAssociationOutput) String() string {
12004	return awsutil.Prettify(s)
12005}
12006
12007// GoString returns the string representation
12008func (s CreateAssociationOutput) GoString() string {
12009	return s.String()
12010}
12011
12012// SetAssociationDescription sets the AssociationDescription field's value.
12013func (s *CreateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *CreateAssociationOutput {
12014	s.AssociationDescription = v
12015	return s
12016}
12017
12018// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocumentRequest
12019type CreateDocumentInput struct {
12020	_ struct{} `type:"structure"`
12021
12022	// A valid JSON string.
12023	//
12024	// Content is a required field
12025	Content *string `min:"1" type:"string" required:"true"`
12026
12027	// The type of document to create. Valid document types include: Policy, Automation,
12028	// and Command.
12029	DocumentType *string `type:"string" enum:"DocumentType"`
12030
12031	// A name for the Systems Manager document.
12032	//
12033	// Name is a required field
12034	Name *string `type:"string" required:"true"`
12035}
12036
12037// String returns the string representation
12038func (s CreateDocumentInput) String() string {
12039	return awsutil.Prettify(s)
12040}
12041
12042// GoString returns the string representation
12043func (s CreateDocumentInput) GoString() string {
12044	return s.String()
12045}
12046
12047// Validate inspects the fields of the type to determine if they are valid.
12048func (s *CreateDocumentInput) Validate() error {
12049	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"}
12050	if s.Content == nil {
12051		invalidParams.Add(request.NewErrParamRequired("Content"))
12052	}
12053	if s.Content != nil && len(*s.Content) < 1 {
12054		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
12055	}
12056	if s.Name == nil {
12057		invalidParams.Add(request.NewErrParamRequired("Name"))
12058	}
12059
12060	if invalidParams.Len() > 0 {
12061		return invalidParams
12062	}
12063	return nil
12064}
12065
12066// SetContent sets the Content field's value.
12067func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput {
12068	s.Content = &v
12069	return s
12070}
12071
12072// SetDocumentType sets the DocumentType field's value.
12073func (s *CreateDocumentInput) SetDocumentType(v string) *CreateDocumentInput {
12074	s.DocumentType = &v
12075	return s
12076}
12077
12078// SetName sets the Name field's value.
12079func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput {
12080	s.Name = &v
12081	return s
12082}
12083
12084// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocumentResult
12085type CreateDocumentOutput struct {
12086	_ struct{} `type:"structure"`
12087
12088	// Information about the Systems Manager document.
12089	DocumentDescription *DocumentDescription `type:"structure"`
12090}
12091
12092// String returns the string representation
12093func (s CreateDocumentOutput) String() string {
12094	return awsutil.Prettify(s)
12095}
12096
12097// GoString returns the string representation
12098func (s CreateDocumentOutput) GoString() string {
12099	return s.String()
12100}
12101
12102// SetDocumentDescription sets the DocumentDescription field's value.
12103func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *CreateDocumentOutput {
12104	s.DocumentDescription = v
12105	return s
12106}
12107
12108// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindowRequest
12109type CreateMaintenanceWindowInput struct {
12110	_ struct{} `type:"structure"`
12111
12112	// Enables a Maintenance Window task to execute on managed instances, even if
12113	// you have not registered those instances as targets. If enabled, then you
12114	// must specify the unregistered instances (by instance ID) when you register
12115	// a task with the Maintenance Window
12116	//
12117	// If you don't enable this option, then you must specify previously-registered
12118	// targets when you register a task with the Maintenance Window.
12119	//
12120	// AllowUnassociatedTargets is a required field
12121	AllowUnassociatedTargets *bool `type:"boolean" required:"true"`
12122
12123	// User-provided idempotency token.
12124	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
12125
12126	// The number of hours before the end of the Maintenance Window that Systems
12127	// Manager stops scheduling new tasks for execution.
12128	//
12129	// Cutoff is a required field
12130	Cutoff *int64 `type:"integer" required:"true"`
12131
12132	// An optional description for the Maintenance Window. We recommend specifying
12133	// a description to help you organize your Maintenance Windows.
12134	Description *string `min:"1" type:"string"`
12135
12136	// The duration of the Maintenance Window in hours.
12137	//
12138	// Duration is a required field
12139	Duration *int64 `min:"1" type:"integer" required:"true"`
12140
12141	// The name of the Maintenance Window.
12142	//
12143	// Name is a required field
12144	Name *string `min:"3" type:"string" required:"true"`
12145
12146	// The schedule of the Maintenance Window in the form of a cron or rate expression.
12147	//
12148	// Schedule is a required field
12149	Schedule *string `min:"1" type:"string" required:"true"`
12150}
12151
12152// String returns the string representation
12153func (s CreateMaintenanceWindowInput) String() string {
12154	return awsutil.Prettify(s)
12155}
12156
12157// GoString returns the string representation
12158func (s CreateMaintenanceWindowInput) GoString() string {
12159	return s.String()
12160}
12161
12162// Validate inspects the fields of the type to determine if they are valid.
12163func (s *CreateMaintenanceWindowInput) Validate() error {
12164	invalidParams := request.ErrInvalidParams{Context: "CreateMaintenanceWindowInput"}
12165	if s.AllowUnassociatedTargets == nil {
12166		invalidParams.Add(request.NewErrParamRequired("AllowUnassociatedTargets"))
12167	}
12168	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
12169		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
12170	}
12171	if s.Cutoff == nil {
12172		invalidParams.Add(request.NewErrParamRequired("Cutoff"))
12173	}
12174	if s.Description != nil && len(*s.Description) < 1 {
12175		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
12176	}
12177	if s.Duration == nil {
12178		invalidParams.Add(request.NewErrParamRequired("Duration"))
12179	}
12180	if s.Duration != nil && *s.Duration < 1 {
12181		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
12182	}
12183	if s.Name == nil {
12184		invalidParams.Add(request.NewErrParamRequired("Name"))
12185	}
12186	if s.Name != nil && len(*s.Name) < 3 {
12187		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
12188	}
12189	if s.Schedule == nil {
12190		invalidParams.Add(request.NewErrParamRequired("Schedule"))
12191	}
12192	if s.Schedule != nil && len(*s.Schedule) < 1 {
12193		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
12194	}
12195
12196	if invalidParams.Len() > 0 {
12197		return invalidParams
12198	}
12199	return nil
12200}
12201
12202// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
12203func (s *CreateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *CreateMaintenanceWindowInput {
12204	s.AllowUnassociatedTargets = &v
12205	return s
12206}
12207
12208// SetClientToken sets the ClientToken field's value.
12209func (s *CreateMaintenanceWindowInput) SetClientToken(v string) *CreateMaintenanceWindowInput {
12210	s.ClientToken = &v
12211	return s
12212}
12213
12214// SetCutoff sets the Cutoff field's value.
12215func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWindowInput {
12216	s.Cutoff = &v
12217	return s
12218}
12219
12220// SetDescription sets the Description field's value.
12221func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput {
12222	s.Description = &v
12223	return s
12224}
12225
12226// SetDuration sets the Duration field's value.
12227func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput {
12228	s.Duration = &v
12229	return s
12230}
12231
12232// SetName sets the Name field's value.
12233func (s *CreateMaintenanceWindowInput) SetName(v string) *CreateMaintenanceWindowInput {
12234	s.Name = &v
12235	return s
12236}
12237
12238// SetSchedule sets the Schedule field's value.
12239func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceWindowInput {
12240	s.Schedule = &v
12241	return s
12242}
12243
12244// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindowResult
12245type CreateMaintenanceWindowOutput struct {
12246	_ struct{} `type:"structure"`
12247
12248	// The ID of the created Maintenance Window.
12249	WindowId *string `min:"20" type:"string"`
12250}
12251
12252// String returns the string representation
12253func (s CreateMaintenanceWindowOutput) String() string {
12254	return awsutil.Prettify(s)
12255}
12256
12257// GoString returns the string representation
12258func (s CreateMaintenanceWindowOutput) GoString() string {
12259	return s.String()
12260}
12261
12262// SetWindowId sets the WindowId field's value.
12263func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenanceWindowOutput {
12264	s.WindowId = &v
12265	return s
12266}
12267
12268// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaselineRequest
12269type CreatePatchBaselineInput struct {
12270	_ struct{} `type:"structure"`
12271
12272	// A set of rules used to include patches in the baseline.
12273	ApprovalRules *PatchRuleGroup `type:"structure"`
12274
12275	// A list of explicitly approved patches for the baseline.
12276	ApprovedPatches []*string `type:"list"`
12277
12278	// Defines the compliance level for approved patches. This means that if an
12279	// approved patch is reported as missing, this is the severity of the compliance
12280	// violation. Valid compliance severity levels include the following: CRITICAL,
12281	// HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.
12282	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
12283
12284	// User-provided idempotency token.
12285	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
12286
12287	// A description of the patch baseline.
12288	Description *string `min:"1" type:"string"`
12289
12290	// A set of global filters used to exclude patches from the baseline.
12291	GlobalFilters *PatchFilterGroup `type:"structure"`
12292
12293	// The name of the patch baseline.
12294	//
12295	// Name is a required field
12296	Name *string `min:"3" type:"string" required:"true"`
12297
12298	// Defines the operating system the patch baseline applies to. Supported operating
12299	// systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX.
12300	// The Default value is WINDOWS.
12301	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
12302
12303	// A list of explicitly rejected patches for the baseline.
12304	RejectedPatches []*string `type:"list"`
12305}
12306
12307// String returns the string representation
12308func (s CreatePatchBaselineInput) String() string {
12309	return awsutil.Prettify(s)
12310}
12311
12312// GoString returns the string representation
12313func (s CreatePatchBaselineInput) GoString() string {
12314	return s.String()
12315}
12316
12317// Validate inspects the fields of the type to determine if they are valid.
12318func (s *CreatePatchBaselineInput) Validate() error {
12319	invalidParams := request.ErrInvalidParams{Context: "CreatePatchBaselineInput"}
12320	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
12321		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
12322	}
12323	if s.Description != nil && len(*s.Description) < 1 {
12324		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
12325	}
12326	if s.Name == nil {
12327		invalidParams.Add(request.NewErrParamRequired("Name"))
12328	}
12329	if s.Name != nil && len(*s.Name) < 3 {
12330		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
12331	}
12332	if s.ApprovalRules != nil {
12333		if err := s.ApprovalRules.Validate(); err != nil {
12334			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
12335		}
12336	}
12337	if s.GlobalFilters != nil {
12338		if err := s.GlobalFilters.Validate(); err != nil {
12339			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
12340		}
12341	}
12342
12343	if invalidParams.Len() > 0 {
12344		return invalidParams
12345	}
12346	return nil
12347}
12348
12349// SetApprovalRules sets the ApprovalRules field's value.
12350func (s *CreatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *CreatePatchBaselineInput {
12351	s.ApprovalRules = v
12352	return s
12353}
12354
12355// SetApprovedPatches sets the ApprovedPatches field's value.
12356func (s *CreatePatchBaselineInput) SetApprovedPatches(v []*string) *CreatePatchBaselineInput {
12357	s.ApprovedPatches = v
12358	return s
12359}
12360
12361// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
12362func (s *CreatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *CreatePatchBaselineInput {
12363	s.ApprovedPatchesComplianceLevel = &v
12364	return s
12365}
12366
12367// SetClientToken sets the ClientToken field's value.
12368func (s *CreatePatchBaselineInput) SetClientToken(v string) *CreatePatchBaselineInput {
12369	s.ClientToken = &v
12370	return s
12371}
12372
12373// SetDescription sets the Description field's value.
12374func (s *CreatePatchBaselineInput) SetDescription(v string) *CreatePatchBaselineInput {
12375	s.Description = &v
12376	return s
12377}
12378
12379// SetGlobalFilters sets the GlobalFilters field's value.
12380func (s *CreatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *CreatePatchBaselineInput {
12381	s.GlobalFilters = v
12382	return s
12383}
12384
12385// SetName sets the Name field's value.
12386func (s *CreatePatchBaselineInput) SetName(v string) *CreatePatchBaselineInput {
12387	s.Name = &v
12388	return s
12389}
12390
12391// SetOperatingSystem sets the OperatingSystem field's value.
12392func (s *CreatePatchBaselineInput) SetOperatingSystem(v string) *CreatePatchBaselineInput {
12393	s.OperatingSystem = &v
12394	return s
12395}
12396
12397// SetRejectedPatches sets the RejectedPatches field's value.
12398func (s *CreatePatchBaselineInput) SetRejectedPatches(v []*string) *CreatePatchBaselineInput {
12399	s.RejectedPatches = v
12400	return s
12401}
12402
12403// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaselineResult
12404type CreatePatchBaselineOutput struct {
12405	_ struct{} `type:"structure"`
12406
12407	// The ID of the created patch baseline.
12408	BaselineId *string `min:"20" type:"string"`
12409}
12410
12411// String returns the string representation
12412func (s CreatePatchBaselineOutput) String() string {
12413	return awsutil.Prettify(s)
12414}
12415
12416// GoString returns the string representation
12417func (s CreatePatchBaselineOutput) GoString() string {
12418	return s.String()
12419}
12420
12421// SetBaselineId sets the BaselineId field's value.
12422func (s *CreatePatchBaselineOutput) SetBaselineId(v string) *CreatePatchBaselineOutput {
12423	s.BaselineId = &v
12424	return s
12425}
12426
12427// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSyncRequest
12428type CreateResourceDataSyncInput struct {
12429	_ struct{} `type:"structure"`
12430
12431	// Amazon S3 configuration details for the sync.
12432	//
12433	// S3Destination is a required field
12434	S3Destination *ResourceDataSyncS3Destination `type:"structure" required:"true"`
12435
12436	// A name for the configuration.
12437	//
12438	// SyncName is a required field
12439	SyncName *string `min:"1" type:"string" required:"true"`
12440}
12441
12442// String returns the string representation
12443func (s CreateResourceDataSyncInput) String() string {
12444	return awsutil.Prettify(s)
12445}
12446
12447// GoString returns the string representation
12448func (s CreateResourceDataSyncInput) GoString() string {
12449	return s.String()
12450}
12451
12452// Validate inspects the fields of the type to determine if they are valid.
12453func (s *CreateResourceDataSyncInput) Validate() error {
12454	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDataSyncInput"}
12455	if s.S3Destination == nil {
12456		invalidParams.Add(request.NewErrParamRequired("S3Destination"))
12457	}
12458	if s.SyncName == nil {
12459		invalidParams.Add(request.NewErrParamRequired("SyncName"))
12460	}
12461	if s.SyncName != nil && len(*s.SyncName) < 1 {
12462		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
12463	}
12464	if s.S3Destination != nil {
12465		if err := s.S3Destination.Validate(); err != nil {
12466			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
12467		}
12468	}
12469
12470	if invalidParams.Len() > 0 {
12471		return invalidParams
12472	}
12473	return nil
12474}
12475
12476// SetS3Destination sets the S3Destination field's value.
12477func (s *CreateResourceDataSyncInput) SetS3Destination(v *ResourceDataSyncS3Destination) *CreateResourceDataSyncInput {
12478	s.S3Destination = v
12479	return s
12480}
12481
12482// SetSyncName sets the SyncName field's value.
12483func (s *CreateResourceDataSyncInput) SetSyncName(v string) *CreateResourceDataSyncInput {
12484	s.SyncName = &v
12485	return s
12486}
12487
12488// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSyncResult
12489type CreateResourceDataSyncOutput struct {
12490	_ struct{} `type:"structure"`
12491}
12492
12493// String returns the string representation
12494func (s CreateResourceDataSyncOutput) String() string {
12495	return awsutil.Prettify(s)
12496}
12497
12498// GoString returns the string representation
12499func (s CreateResourceDataSyncOutput) GoString() string {
12500	return s.String()
12501}
12502
12503// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivationRequest
12504type DeleteActivationInput struct {
12505	_ struct{} `type:"structure"`
12506
12507	// The ID of the activation that you want to delete.
12508	//
12509	// ActivationId is a required field
12510	ActivationId *string `type:"string" required:"true"`
12511}
12512
12513// String returns the string representation
12514func (s DeleteActivationInput) String() string {
12515	return awsutil.Prettify(s)
12516}
12517
12518// GoString returns the string representation
12519func (s DeleteActivationInput) GoString() string {
12520	return s.String()
12521}
12522
12523// Validate inspects the fields of the type to determine if they are valid.
12524func (s *DeleteActivationInput) Validate() error {
12525	invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"}
12526	if s.ActivationId == nil {
12527		invalidParams.Add(request.NewErrParamRequired("ActivationId"))
12528	}
12529
12530	if invalidParams.Len() > 0 {
12531		return invalidParams
12532	}
12533	return nil
12534}
12535
12536// SetActivationId sets the ActivationId field's value.
12537func (s *DeleteActivationInput) SetActivationId(v string) *DeleteActivationInput {
12538	s.ActivationId = &v
12539	return s
12540}
12541
12542// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivationResult
12543type DeleteActivationOutput struct {
12544	_ struct{} `type:"structure"`
12545}
12546
12547// String returns the string representation
12548func (s DeleteActivationOutput) String() string {
12549	return awsutil.Prettify(s)
12550}
12551
12552// GoString returns the string representation
12553func (s DeleteActivationOutput) GoString() string {
12554	return s.String()
12555}
12556
12557// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociationRequest
12558type DeleteAssociationInput struct {
12559	_ struct{} `type:"structure"`
12560
12561	// The association ID that you want to delete.
12562	AssociationId *string `type:"string"`
12563
12564	// The ID of the instance.
12565	InstanceId *string `type:"string"`
12566
12567	// The name of the Systems Manager document.
12568	Name *string `type:"string"`
12569}
12570
12571// String returns the string representation
12572func (s DeleteAssociationInput) String() string {
12573	return awsutil.Prettify(s)
12574}
12575
12576// GoString returns the string representation
12577func (s DeleteAssociationInput) GoString() string {
12578	return s.String()
12579}
12580
12581// SetAssociationId sets the AssociationId field's value.
12582func (s *DeleteAssociationInput) SetAssociationId(v string) *DeleteAssociationInput {
12583	s.AssociationId = &v
12584	return s
12585}
12586
12587// SetInstanceId sets the InstanceId field's value.
12588func (s *DeleteAssociationInput) SetInstanceId(v string) *DeleteAssociationInput {
12589	s.InstanceId = &v
12590	return s
12591}
12592
12593// SetName sets the Name field's value.
12594func (s *DeleteAssociationInput) SetName(v string) *DeleteAssociationInput {
12595	s.Name = &v
12596	return s
12597}
12598
12599// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociationResult
12600type DeleteAssociationOutput struct {
12601	_ struct{} `type:"structure"`
12602}
12603
12604// String returns the string representation
12605func (s DeleteAssociationOutput) String() string {
12606	return awsutil.Prettify(s)
12607}
12608
12609// GoString returns the string representation
12610func (s DeleteAssociationOutput) GoString() string {
12611	return s.String()
12612}
12613
12614// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocumentRequest
12615type DeleteDocumentInput struct {
12616	_ struct{} `type:"structure"`
12617
12618	// The name of the document.
12619	//
12620	// Name is a required field
12621	Name *string `type:"string" required:"true"`
12622}
12623
12624// String returns the string representation
12625func (s DeleteDocumentInput) String() string {
12626	return awsutil.Prettify(s)
12627}
12628
12629// GoString returns the string representation
12630func (s DeleteDocumentInput) GoString() string {
12631	return s.String()
12632}
12633
12634// Validate inspects the fields of the type to determine if they are valid.
12635func (s *DeleteDocumentInput) Validate() error {
12636	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
12637	if s.Name == nil {
12638		invalidParams.Add(request.NewErrParamRequired("Name"))
12639	}
12640
12641	if invalidParams.Len() > 0 {
12642		return invalidParams
12643	}
12644	return nil
12645}
12646
12647// SetName sets the Name field's value.
12648func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput {
12649	s.Name = &v
12650	return s
12651}
12652
12653// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocumentResult
12654type DeleteDocumentOutput struct {
12655	_ struct{} `type:"structure"`
12656}
12657
12658// String returns the string representation
12659func (s DeleteDocumentOutput) String() string {
12660	return awsutil.Prettify(s)
12661}
12662
12663// GoString returns the string representation
12664func (s DeleteDocumentOutput) GoString() string {
12665	return s.String()
12666}
12667
12668// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindowRequest
12669type DeleteMaintenanceWindowInput struct {
12670	_ struct{} `type:"structure"`
12671
12672	// The ID of the Maintenance Window to delete.
12673	//
12674	// WindowId is a required field
12675	WindowId *string `min:"20" type:"string" required:"true"`
12676}
12677
12678// String returns the string representation
12679func (s DeleteMaintenanceWindowInput) String() string {
12680	return awsutil.Prettify(s)
12681}
12682
12683// GoString returns the string representation
12684func (s DeleteMaintenanceWindowInput) GoString() string {
12685	return s.String()
12686}
12687
12688// Validate inspects the fields of the type to determine if they are valid.
12689func (s *DeleteMaintenanceWindowInput) Validate() error {
12690	invalidParams := request.ErrInvalidParams{Context: "DeleteMaintenanceWindowInput"}
12691	if s.WindowId == nil {
12692		invalidParams.Add(request.NewErrParamRequired("WindowId"))
12693	}
12694	if s.WindowId != nil && len(*s.WindowId) < 20 {
12695		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
12696	}
12697
12698	if invalidParams.Len() > 0 {
12699		return invalidParams
12700	}
12701	return nil
12702}
12703
12704// SetWindowId sets the WindowId field's value.
12705func (s *DeleteMaintenanceWindowInput) SetWindowId(v string) *DeleteMaintenanceWindowInput {
12706	s.WindowId = &v
12707	return s
12708}
12709
12710// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindowResult
12711type DeleteMaintenanceWindowOutput struct {
12712	_ struct{} `type:"structure"`
12713
12714	// The ID of the deleted Maintenance Window.
12715	WindowId *string `min:"20" type:"string"`
12716}
12717
12718// String returns the string representation
12719func (s DeleteMaintenanceWindowOutput) String() string {
12720	return awsutil.Prettify(s)
12721}
12722
12723// GoString returns the string representation
12724func (s DeleteMaintenanceWindowOutput) GoString() string {
12725	return s.String()
12726}
12727
12728// SetWindowId sets the WindowId field's value.
12729func (s *DeleteMaintenanceWindowOutput) SetWindowId(v string) *DeleteMaintenanceWindowOutput {
12730	s.WindowId = &v
12731	return s
12732}
12733
12734// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameterRequest
12735type DeleteParameterInput struct {
12736	_ struct{} `type:"structure"`
12737
12738	// The name of the parameter to delete.
12739	//
12740	// Name is a required field
12741	Name *string `min:"1" type:"string" required:"true"`
12742}
12743
12744// String returns the string representation
12745func (s DeleteParameterInput) String() string {
12746	return awsutil.Prettify(s)
12747}
12748
12749// GoString returns the string representation
12750func (s DeleteParameterInput) GoString() string {
12751	return s.String()
12752}
12753
12754// Validate inspects the fields of the type to determine if they are valid.
12755func (s *DeleteParameterInput) Validate() error {
12756	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterInput"}
12757	if s.Name == nil {
12758		invalidParams.Add(request.NewErrParamRequired("Name"))
12759	}
12760	if s.Name != nil && len(*s.Name) < 1 {
12761		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12762	}
12763
12764	if invalidParams.Len() > 0 {
12765		return invalidParams
12766	}
12767	return nil
12768}
12769
12770// SetName sets the Name field's value.
12771func (s *DeleteParameterInput) SetName(v string) *DeleteParameterInput {
12772	s.Name = &v
12773	return s
12774}
12775
12776// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameterResult
12777type DeleteParameterOutput struct {
12778	_ struct{} `type:"structure"`
12779}
12780
12781// String returns the string representation
12782func (s DeleteParameterOutput) String() string {
12783	return awsutil.Prettify(s)
12784}
12785
12786// GoString returns the string representation
12787func (s DeleteParameterOutput) GoString() string {
12788	return s.String()
12789}
12790
12791// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParametersRequest
12792type DeleteParametersInput struct {
12793	_ struct{} `type:"structure"`
12794
12795	// The names of the parameters to delete.
12796	//
12797	// Names is a required field
12798	Names []*string `min:"1" type:"list" required:"true"`
12799}
12800
12801// String returns the string representation
12802func (s DeleteParametersInput) String() string {
12803	return awsutil.Prettify(s)
12804}
12805
12806// GoString returns the string representation
12807func (s DeleteParametersInput) GoString() string {
12808	return s.String()
12809}
12810
12811// Validate inspects the fields of the type to determine if they are valid.
12812func (s *DeleteParametersInput) Validate() error {
12813	invalidParams := request.ErrInvalidParams{Context: "DeleteParametersInput"}
12814	if s.Names == nil {
12815		invalidParams.Add(request.NewErrParamRequired("Names"))
12816	}
12817	if s.Names != nil && len(s.Names) < 1 {
12818		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
12819	}
12820
12821	if invalidParams.Len() > 0 {
12822		return invalidParams
12823	}
12824	return nil
12825}
12826
12827// SetNames sets the Names field's value.
12828func (s *DeleteParametersInput) SetNames(v []*string) *DeleteParametersInput {
12829	s.Names = v
12830	return s
12831}
12832
12833// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParametersResult
12834type DeleteParametersOutput struct {
12835	_ struct{} `type:"structure"`
12836
12837	// The names of the deleted parameters.
12838	DeletedParameters []*string `min:"1" type:"list"`
12839
12840	// The names of parameters that weren't deleted because the parameters are not
12841	// valid.
12842	InvalidParameters []*string `min:"1" type:"list"`
12843}
12844
12845// String returns the string representation
12846func (s DeleteParametersOutput) String() string {
12847	return awsutil.Prettify(s)
12848}
12849
12850// GoString returns the string representation
12851func (s DeleteParametersOutput) GoString() string {
12852	return s.String()
12853}
12854
12855// SetDeletedParameters sets the DeletedParameters field's value.
12856func (s *DeleteParametersOutput) SetDeletedParameters(v []*string) *DeleteParametersOutput {
12857	s.DeletedParameters = v
12858	return s
12859}
12860
12861// SetInvalidParameters sets the InvalidParameters field's value.
12862func (s *DeleteParametersOutput) SetInvalidParameters(v []*string) *DeleteParametersOutput {
12863	s.InvalidParameters = v
12864	return s
12865}
12866
12867// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaselineRequest
12868type DeletePatchBaselineInput struct {
12869	_ struct{} `type:"structure"`
12870
12871	// The ID of the patch baseline to delete.
12872	//
12873	// BaselineId is a required field
12874	BaselineId *string `min:"20" type:"string" required:"true"`
12875}
12876
12877// String returns the string representation
12878func (s DeletePatchBaselineInput) String() string {
12879	return awsutil.Prettify(s)
12880}
12881
12882// GoString returns the string representation
12883func (s DeletePatchBaselineInput) GoString() string {
12884	return s.String()
12885}
12886
12887// Validate inspects the fields of the type to determine if they are valid.
12888func (s *DeletePatchBaselineInput) Validate() error {
12889	invalidParams := request.ErrInvalidParams{Context: "DeletePatchBaselineInput"}
12890	if s.BaselineId == nil {
12891		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
12892	}
12893	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
12894		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
12895	}
12896
12897	if invalidParams.Len() > 0 {
12898		return invalidParams
12899	}
12900	return nil
12901}
12902
12903// SetBaselineId sets the BaselineId field's value.
12904func (s *DeletePatchBaselineInput) SetBaselineId(v string) *DeletePatchBaselineInput {
12905	s.BaselineId = &v
12906	return s
12907}
12908
12909// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaselineResult
12910type DeletePatchBaselineOutput struct {
12911	_ struct{} `type:"structure"`
12912
12913	// The ID of the deleted patch baseline.
12914	BaselineId *string `min:"20" type:"string"`
12915}
12916
12917// String returns the string representation
12918func (s DeletePatchBaselineOutput) String() string {
12919	return awsutil.Prettify(s)
12920}
12921
12922// GoString returns the string representation
12923func (s DeletePatchBaselineOutput) GoString() string {
12924	return s.String()
12925}
12926
12927// SetBaselineId sets the BaselineId field's value.
12928func (s *DeletePatchBaselineOutput) SetBaselineId(v string) *DeletePatchBaselineOutput {
12929	s.BaselineId = &v
12930	return s
12931}
12932
12933// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSyncRequest
12934type DeleteResourceDataSyncInput struct {
12935	_ struct{} `type:"structure"`
12936
12937	// The name of the configuration to delete.
12938	//
12939	// SyncName is a required field
12940	SyncName *string `min:"1" type:"string" required:"true"`
12941}
12942
12943// String returns the string representation
12944func (s DeleteResourceDataSyncInput) String() string {
12945	return awsutil.Prettify(s)
12946}
12947
12948// GoString returns the string representation
12949func (s DeleteResourceDataSyncInput) GoString() string {
12950	return s.String()
12951}
12952
12953// Validate inspects the fields of the type to determine if they are valid.
12954func (s *DeleteResourceDataSyncInput) Validate() error {
12955	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDataSyncInput"}
12956	if s.SyncName == nil {
12957		invalidParams.Add(request.NewErrParamRequired("SyncName"))
12958	}
12959	if s.SyncName != nil && len(*s.SyncName) < 1 {
12960		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
12961	}
12962
12963	if invalidParams.Len() > 0 {
12964		return invalidParams
12965	}
12966	return nil
12967}
12968
12969// SetSyncName sets the SyncName field's value.
12970func (s *DeleteResourceDataSyncInput) SetSyncName(v string) *DeleteResourceDataSyncInput {
12971	s.SyncName = &v
12972	return s
12973}
12974
12975// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSyncResult
12976type DeleteResourceDataSyncOutput struct {
12977	_ struct{} `type:"structure"`
12978}
12979
12980// String returns the string representation
12981func (s DeleteResourceDataSyncOutput) String() string {
12982	return awsutil.Prettify(s)
12983}
12984
12985// GoString returns the string representation
12986func (s DeleteResourceDataSyncOutput) GoString() string {
12987	return s.String()
12988}
12989
12990// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstanceRequest
12991type DeregisterManagedInstanceInput struct {
12992	_ struct{} `type:"structure"`
12993
12994	// The ID assigned to the managed instance when you registered it using the
12995	// activation process.
12996	//
12997	// InstanceId is a required field
12998	InstanceId *string `type:"string" required:"true"`
12999}
13000
13001// String returns the string representation
13002func (s DeregisterManagedInstanceInput) String() string {
13003	return awsutil.Prettify(s)
13004}
13005
13006// GoString returns the string representation
13007func (s DeregisterManagedInstanceInput) GoString() string {
13008	return s.String()
13009}
13010
13011// Validate inspects the fields of the type to determine if they are valid.
13012func (s *DeregisterManagedInstanceInput) Validate() error {
13013	invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"}
13014	if s.InstanceId == nil {
13015		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13016	}
13017
13018	if invalidParams.Len() > 0 {
13019		return invalidParams
13020	}
13021	return nil
13022}
13023
13024// SetInstanceId sets the InstanceId field's value.
13025func (s *DeregisterManagedInstanceInput) SetInstanceId(v string) *DeregisterManagedInstanceInput {
13026	s.InstanceId = &v
13027	return s
13028}
13029
13030// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstanceResult
13031type DeregisterManagedInstanceOutput struct {
13032	_ struct{} `type:"structure"`
13033}
13034
13035// String returns the string representation
13036func (s DeregisterManagedInstanceOutput) String() string {
13037	return awsutil.Prettify(s)
13038}
13039
13040// GoString returns the string representation
13041func (s DeregisterManagedInstanceOutput) GoString() string {
13042	return s.String()
13043}
13044
13045// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroupRequest
13046type DeregisterPatchBaselineForPatchGroupInput struct {
13047	_ struct{} `type:"structure"`
13048
13049	// The ID of the patch baseline to deregister the patch group from.
13050	//
13051	// BaselineId is a required field
13052	BaselineId *string `min:"20" type:"string" required:"true"`
13053
13054	// The name of the patch group that should be deregistered from the patch baseline.
13055	//
13056	// PatchGroup is a required field
13057	PatchGroup *string `min:"1" type:"string" required:"true"`
13058}
13059
13060// String returns the string representation
13061func (s DeregisterPatchBaselineForPatchGroupInput) String() string {
13062	return awsutil.Prettify(s)
13063}
13064
13065// GoString returns the string representation
13066func (s DeregisterPatchBaselineForPatchGroupInput) GoString() string {
13067	return s.String()
13068}
13069
13070// Validate inspects the fields of the type to determine if they are valid.
13071func (s *DeregisterPatchBaselineForPatchGroupInput) Validate() error {
13072	invalidParams := request.ErrInvalidParams{Context: "DeregisterPatchBaselineForPatchGroupInput"}
13073	if s.BaselineId == nil {
13074		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
13075	}
13076	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
13077		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
13078	}
13079	if s.PatchGroup == nil {
13080		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
13081	}
13082	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
13083		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
13084	}
13085
13086	if invalidParams.Len() > 0 {
13087		return invalidParams
13088	}
13089	return nil
13090}
13091
13092// SetBaselineId sets the BaselineId field's value.
13093func (s *DeregisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupInput {
13094	s.BaselineId = &v
13095	return s
13096}
13097
13098// SetPatchGroup sets the PatchGroup field's value.
13099func (s *DeregisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupInput {
13100	s.PatchGroup = &v
13101	return s
13102}
13103
13104// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroupResult
13105type DeregisterPatchBaselineForPatchGroupOutput struct {
13106	_ struct{} `type:"structure"`
13107
13108	// The ID of the patch baseline the patch group was deregistered from.
13109	BaselineId *string `min:"20" type:"string"`
13110
13111	// The name of the patch group deregistered from the patch baseline.
13112	PatchGroup *string `min:"1" type:"string"`
13113}
13114
13115// String returns the string representation
13116func (s DeregisterPatchBaselineForPatchGroupOutput) String() string {
13117	return awsutil.Prettify(s)
13118}
13119
13120// GoString returns the string representation
13121func (s DeregisterPatchBaselineForPatchGroupOutput) GoString() string {
13122	return s.String()
13123}
13124
13125// SetBaselineId sets the BaselineId field's value.
13126func (s *DeregisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupOutput {
13127	s.BaselineId = &v
13128	return s
13129}
13130
13131// SetPatchGroup sets the PatchGroup field's value.
13132func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupOutput {
13133	s.PatchGroup = &v
13134	return s
13135}
13136
13137// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindowRequest
13138type DeregisterTargetFromMaintenanceWindowInput struct {
13139	_ struct{} `type:"structure"`
13140
13141	// The system checks if the target is being referenced by a task. If the target
13142	// is being referenced, the system returns an error and does not deregister
13143	// the target from the Maintenance Window.
13144	Safe *bool `type:"boolean"`
13145
13146	// The ID of the Maintenance Window the target should be removed from.
13147	//
13148	// WindowId is a required field
13149	WindowId *string `min:"20" type:"string" required:"true"`
13150
13151	// The ID of the target definition to remove.
13152	//
13153	// WindowTargetId is a required field
13154	WindowTargetId *string `min:"36" type:"string" required:"true"`
13155}
13156
13157// String returns the string representation
13158func (s DeregisterTargetFromMaintenanceWindowInput) String() string {
13159	return awsutil.Prettify(s)
13160}
13161
13162// GoString returns the string representation
13163func (s DeregisterTargetFromMaintenanceWindowInput) GoString() string {
13164	return s.String()
13165}
13166
13167// Validate inspects the fields of the type to determine if they are valid.
13168func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error {
13169	invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetFromMaintenanceWindowInput"}
13170	if s.WindowId == nil {
13171		invalidParams.Add(request.NewErrParamRequired("WindowId"))
13172	}
13173	if s.WindowId != nil && len(*s.WindowId) < 20 {
13174		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
13175	}
13176	if s.WindowTargetId == nil {
13177		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
13178	}
13179	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
13180		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
13181	}
13182
13183	if invalidParams.Len() > 0 {
13184		return invalidParams
13185	}
13186	return nil
13187}
13188
13189// SetSafe sets the Safe field's value.
13190func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput {
13191	s.Safe = &v
13192	return s
13193}
13194
13195// SetWindowId sets the WindowId field's value.
13196func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput {
13197	s.WindowId = &v
13198	return s
13199}
13200
13201// SetWindowTargetId sets the WindowTargetId field's value.
13202func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowInput {
13203	s.WindowTargetId = &v
13204	return s
13205}
13206
13207// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindowResult
13208type DeregisterTargetFromMaintenanceWindowOutput struct {
13209	_ struct{} `type:"structure"`
13210
13211	// The ID of the Maintenance Window the target was removed from.
13212	WindowId *string `min:"20" type:"string"`
13213
13214	// The ID of the removed target definition.
13215	WindowTargetId *string `min:"36" type:"string"`
13216}
13217
13218// String returns the string representation
13219func (s DeregisterTargetFromMaintenanceWindowOutput) String() string {
13220	return awsutil.Prettify(s)
13221}
13222
13223// GoString returns the string representation
13224func (s DeregisterTargetFromMaintenanceWindowOutput) GoString() string {
13225	return s.String()
13226}
13227
13228// SetWindowId sets the WindowId field's value.
13229func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
13230	s.WindowId = &v
13231	return s
13232}
13233
13234// SetWindowTargetId sets the WindowTargetId field's value.
13235func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
13236	s.WindowTargetId = &v
13237	return s
13238}
13239
13240// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindowRequest
13241type DeregisterTaskFromMaintenanceWindowInput struct {
13242	_ struct{} `type:"structure"`
13243
13244	// The ID of the Maintenance Window the task should be removed from.
13245	//
13246	// WindowId is a required field
13247	WindowId *string `min:"20" type:"string" required:"true"`
13248
13249	// The ID of the task to remove from the Maintenance Window.
13250	//
13251	// WindowTaskId is a required field
13252	WindowTaskId *string `min:"36" type:"string" required:"true"`
13253}
13254
13255// String returns the string representation
13256func (s DeregisterTaskFromMaintenanceWindowInput) String() string {
13257	return awsutil.Prettify(s)
13258}
13259
13260// GoString returns the string representation
13261func (s DeregisterTaskFromMaintenanceWindowInput) GoString() string {
13262	return s.String()
13263}
13264
13265// Validate inspects the fields of the type to determine if they are valid.
13266func (s *DeregisterTaskFromMaintenanceWindowInput) Validate() error {
13267	invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskFromMaintenanceWindowInput"}
13268	if s.WindowId == nil {
13269		invalidParams.Add(request.NewErrParamRequired("WindowId"))
13270	}
13271	if s.WindowId != nil && len(*s.WindowId) < 20 {
13272		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
13273	}
13274	if s.WindowTaskId == nil {
13275		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
13276	}
13277	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
13278		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
13279	}
13280
13281	if invalidParams.Len() > 0 {
13282		return invalidParams
13283	}
13284	return nil
13285}
13286
13287// SetWindowId sets the WindowId field's value.
13288func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowInput {
13289	s.WindowId = &v
13290	return s
13291}
13292
13293// SetWindowTaskId sets the WindowTaskId field's value.
13294func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowInput {
13295	s.WindowTaskId = &v
13296	return s
13297}
13298
13299// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindowResult
13300type DeregisterTaskFromMaintenanceWindowOutput struct {
13301	_ struct{} `type:"structure"`
13302
13303	// The ID of the Maintenance Window the task was removed from.
13304	WindowId *string `min:"20" type:"string"`
13305
13306	// The ID of the task removed from the Maintenance Window.
13307	WindowTaskId *string `min:"36" type:"string"`
13308}
13309
13310// String returns the string representation
13311func (s DeregisterTaskFromMaintenanceWindowOutput) String() string {
13312	return awsutil.Prettify(s)
13313}
13314
13315// GoString returns the string representation
13316func (s DeregisterTaskFromMaintenanceWindowOutput) GoString() string {
13317	return s.String()
13318}
13319
13320// SetWindowId sets the WindowId field's value.
13321func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
13322	s.WindowId = &v
13323	return s
13324}
13325
13326// SetWindowTaskId sets the WindowTaskId field's value.
13327func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
13328	s.WindowTaskId = &v
13329	return s
13330}
13331
13332// Filter for the DescribeActivation API.
13333// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivationsFilter
13334type DescribeActivationsFilter struct {
13335	_ struct{} `type:"structure"`
13336
13337	// The name of the filter.
13338	FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"`
13339
13340	// The filter values.
13341	FilterValues []*string `type:"list"`
13342}
13343
13344// String returns the string representation
13345func (s DescribeActivationsFilter) String() string {
13346	return awsutil.Prettify(s)
13347}
13348
13349// GoString returns the string representation
13350func (s DescribeActivationsFilter) GoString() string {
13351	return s.String()
13352}
13353
13354// SetFilterKey sets the FilterKey field's value.
13355func (s *DescribeActivationsFilter) SetFilterKey(v string) *DescribeActivationsFilter {
13356	s.FilterKey = &v
13357	return s
13358}
13359
13360// SetFilterValues sets the FilterValues field's value.
13361func (s *DescribeActivationsFilter) SetFilterValues(v []*string) *DescribeActivationsFilter {
13362	s.FilterValues = v
13363	return s
13364}
13365
13366// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivationsRequest
13367type DescribeActivationsInput struct {
13368	_ struct{} `type:"structure"`
13369
13370	// A filter to view information about your activations.
13371	Filters []*DescribeActivationsFilter `type:"list"`
13372
13373	// The maximum number of items to return for this call. The call also returns
13374	// a token that you can specify in a subsequent call to get the next set of
13375	// results.
13376	MaxResults *int64 `min:"1" type:"integer"`
13377
13378	// A token to start the list. Use this token to get the next set of results.
13379	NextToken *string `type:"string"`
13380}
13381
13382// String returns the string representation
13383func (s DescribeActivationsInput) String() string {
13384	return awsutil.Prettify(s)
13385}
13386
13387// GoString returns the string representation
13388func (s DescribeActivationsInput) GoString() string {
13389	return s.String()
13390}
13391
13392// Validate inspects the fields of the type to determine if they are valid.
13393func (s *DescribeActivationsInput) Validate() error {
13394	invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"}
13395	if s.MaxResults != nil && *s.MaxResults < 1 {
13396		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13397	}
13398
13399	if invalidParams.Len() > 0 {
13400		return invalidParams
13401	}
13402	return nil
13403}
13404
13405// SetFilters sets the Filters field's value.
13406func (s *DescribeActivationsInput) SetFilters(v []*DescribeActivationsFilter) *DescribeActivationsInput {
13407	s.Filters = v
13408	return s
13409}
13410
13411// SetMaxResults sets the MaxResults field's value.
13412func (s *DescribeActivationsInput) SetMaxResults(v int64) *DescribeActivationsInput {
13413	s.MaxResults = &v
13414	return s
13415}
13416
13417// SetNextToken sets the NextToken field's value.
13418func (s *DescribeActivationsInput) SetNextToken(v string) *DescribeActivationsInput {
13419	s.NextToken = &v
13420	return s
13421}
13422
13423// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivationsResult
13424type DescribeActivationsOutput struct {
13425	_ struct{} `type:"structure"`
13426
13427	// A list of activations for your AWS account.
13428	ActivationList []*Activation `type:"list"`
13429
13430	// The token for the next set of items to return. Use this token to get the
13431	// next set of results.
13432	NextToken *string `type:"string"`
13433}
13434
13435// String returns the string representation
13436func (s DescribeActivationsOutput) String() string {
13437	return awsutil.Prettify(s)
13438}
13439
13440// GoString returns the string representation
13441func (s DescribeActivationsOutput) GoString() string {
13442	return s.String()
13443}
13444
13445// SetActivationList sets the ActivationList field's value.
13446func (s *DescribeActivationsOutput) SetActivationList(v []*Activation) *DescribeActivationsOutput {
13447	s.ActivationList = v
13448	return s
13449}
13450
13451// SetNextToken sets the NextToken field's value.
13452func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsOutput {
13453	s.NextToken = &v
13454	return s
13455}
13456
13457// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationRequest
13458type DescribeAssociationInput struct {
13459	_ struct{} `type:"structure"`
13460
13461	// The association ID for which you want information.
13462	AssociationId *string `type:"string"`
13463
13464	// Specify the association version to retrieve. To view the latest version,
13465	// either specify $LATEST for this parameter, or omit this parameter. To view
13466	// a list of all associations for an instance, use ListInstanceAssociations.
13467	// To get a list of versions for a specific association, use ListAssociationVersions.
13468	AssociationVersion *string `type:"string"`
13469
13470	// The instance ID.
13471	InstanceId *string `type:"string"`
13472
13473	// The name of the Systems Manager document.
13474	Name *string `type:"string"`
13475}
13476
13477// String returns the string representation
13478func (s DescribeAssociationInput) String() string {
13479	return awsutil.Prettify(s)
13480}
13481
13482// GoString returns the string representation
13483func (s DescribeAssociationInput) GoString() string {
13484	return s.String()
13485}
13486
13487// SetAssociationId sets the AssociationId field's value.
13488func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput {
13489	s.AssociationId = &v
13490	return s
13491}
13492
13493// SetAssociationVersion sets the AssociationVersion field's value.
13494func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput {
13495	s.AssociationVersion = &v
13496	return s
13497}
13498
13499// SetInstanceId sets the InstanceId field's value.
13500func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput {
13501	s.InstanceId = &v
13502	return s
13503}
13504
13505// SetName sets the Name field's value.
13506func (s *DescribeAssociationInput) SetName(v string) *DescribeAssociationInput {
13507	s.Name = &v
13508	return s
13509}
13510
13511// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationResult
13512type DescribeAssociationOutput struct {
13513	_ struct{} `type:"structure"`
13514
13515	// Information about the association.
13516	AssociationDescription *AssociationDescription `type:"structure"`
13517}
13518
13519// String returns the string representation
13520func (s DescribeAssociationOutput) String() string {
13521	return awsutil.Prettify(s)
13522}
13523
13524// GoString returns the string representation
13525func (s DescribeAssociationOutput) GoString() string {
13526	return s.String()
13527}
13528
13529// SetAssociationDescription sets the AssociationDescription field's value.
13530func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDescription) *DescribeAssociationOutput {
13531	s.AssociationDescription = v
13532	return s
13533}
13534
13535// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutionsRequest
13536type DescribeAutomationExecutionsInput struct {
13537	_ struct{} `type:"structure"`
13538
13539	// Filters used to limit the scope of executions that are requested.
13540	Filters []*AutomationExecutionFilter `min:"1" type:"list"`
13541
13542	// The maximum number of items to return for this call. The call also returns
13543	// a token that you can specify in a subsequent call to get the next set of
13544	// results.
13545	MaxResults *int64 `min:"1" type:"integer"`
13546
13547	// The token for the next set of items to return. (You received this token from
13548	// a previous call.)
13549	NextToken *string `type:"string"`
13550}
13551
13552// String returns the string representation
13553func (s DescribeAutomationExecutionsInput) String() string {
13554	return awsutil.Prettify(s)
13555}
13556
13557// GoString returns the string representation
13558func (s DescribeAutomationExecutionsInput) GoString() string {
13559	return s.String()
13560}
13561
13562// Validate inspects the fields of the type to determine if they are valid.
13563func (s *DescribeAutomationExecutionsInput) Validate() error {
13564	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationExecutionsInput"}
13565	if s.Filters != nil && len(s.Filters) < 1 {
13566		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
13567	}
13568	if s.MaxResults != nil && *s.MaxResults < 1 {
13569		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13570	}
13571	if s.Filters != nil {
13572		for i, v := range s.Filters {
13573			if v == nil {
13574				continue
13575			}
13576			if err := v.Validate(); err != nil {
13577				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13578			}
13579		}
13580	}
13581
13582	if invalidParams.Len() > 0 {
13583		return invalidParams
13584	}
13585	return nil
13586}
13587
13588// SetFilters sets the Filters field's value.
13589func (s *DescribeAutomationExecutionsInput) SetFilters(v []*AutomationExecutionFilter) *DescribeAutomationExecutionsInput {
13590	s.Filters = v
13591	return s
13592}
13593
13594// SetMaxResults sets the MaxResults field's value.
13595func (s *DescribeAutomationExecutionsInput) SetMaxResults(v int64) *DescribeAutomationExecutionsInput {
13596	s.MaxResults = &v
13597	return s
13598}
13599
13600// SetNextToken sets the NextToken field's value.
13601func (s *DescribeAutomationExecutionsInput) SetNextToken(v string) *DescribeAutomationExecutionsInput {
13602	s.NextToken = &v
13603	return s
13604}
13605
13606// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutionsResult
13607type DescribeAutomationExecutionsOutput struct {
13608	_ struct{} `type:"structure"`
13609
13610	// The list of details about each automation execution which has occurred which
13611	// matches the filter specification, if any.
13612	AutomationExecutionMetadataList []*AutomationExecutionMetadata `type:"list"`
13613
13614	// The token to use when requesting the next set of items. If there are no additional
13615	// items to return, the string is empty.
13616	NextToken *string `type:"string"`
13617}
13618
13619// String returns the string representation
13620func (s DescribeAutomationExecutionsOutput) String() string {
13621	return awsutil.Prettify(s)
13622}
13623
13624// GoString returns the string representation
13625func (s DescribeAutomationExecutionsOutput) GoString() string {
13626	return s.String()
13627}
13628
13629// SetAutomationExecutionMetadataList sets the AutomationExecutionMetadataList field's value.
13630func (s *DescribeAutomationExecutionsOutput) SetAutomationExecutionMetadataList(v []*AutomationExecutionMetadata) *DescribeAutomationExecutionsOutput {
13631	s.AutomationExecutionMetadataList = v
13632	return s
13633}
13634
13635// SetNextToken sets the NextToken field's value.
13636func (s *DescribeAutomationExecutionsOutput) SetNextToken(v string) *DescribeAutomationExecutionsOutput {
13637	s.NextToken = &v
13638	return s
13639}
13640
13641// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatchesRequest
13642type DescribeAvailablePatchesInput struct {
13643	_ struct{} `type:"structure"`
13644
13645	// Filters used to scope down the returned patches.
13646	Filters []*PatchOrchestratorFilter `type:"list"`
13647
13648	// The maximum number of patches to return (per page).
13649	MaxResults *int64 `min:"1" type:"integer"`
13650
13651	// The token for the next set of items to return. (You received this token from
13652	// a previous call.)
13653	NextToken *string `type:"string"`
13654}
13655
13656// String returns the string representation
13657func (s DescribeAvailablePatchesInput) String() string {
13658	return awsutil.Prettify(s)
13659}
13660
13661// GoString returns the string representation
13662func (s DescribeAvailablePatchesInput) GoString() string {
13663	return s.String()
13664}
13665
13666// Validate inspects the fields of the type to determine if they are valid.
13667func (s *DescribeAvailablePatchesInput) Validate() error {
13668	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailablePatchesInput"}
13669	if s.MaxResults != nil && *s.MaxResults < 1 {
13670		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13671	}
13672	if s.Filters != nil {
13673		for i, v := range s.Filters {
13674			if v == nil {
13675				continue
13676			}
13677			if err := v.Validate(); err != nil {
13678				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13679			}
13680		}
13681	}
13682
13683	if invalidParams.Len() > 0 {
13684		return invalidParams
13685	}
13686	return nil
13687}
13688
13689// SetFilters sets the Filters field's value.
13690func (s *DescribeAvailablePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeAvailablePatchesInput {
13691	s.Filters = v
13692	return s
13693}
13694
13695// SetMaxResults sets the MaxResults field's value.
13696func (s *DescribeAvailablePatchesInput) SetMaxResults(v int64) *DescribeAvailablePatchesInput {
13697	s.MaxResults = &v
13698	return s
13699}
13700
13701// SetNextToken sets the NextToken field's value.
13702func (s *DescribeAvailablePatchesInput) SetNextToken(v string) *DescribeAvailablePatchesInput {
13703	s.NextToken = &v
13704	return s
13705}
13706
13707// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatchesResult
13708type DescribeAvailablePatchesOutput struct {
13709	_ struct{} `type:"structure"`
13710
13711	// The token to use when requesting the next set of items. If there are no additional
13712	// items to return, the string is empty.
13713	NextToken *string `type:"string"`
13714
13715	// An array of patches. Each entry in the array is a patch structure.
13716	Patches []*Patch `type:"list"`
13717}
13718
13719// String returns the string representation
13720func (s DescribeAvailablePatchesOutput) String() string {
13721	return awsutil.Prettify(s)
13722}
13723
13724// GoString returns the string representation
13725func (s DescribeAvailablePatchesOutput) GoString() string {
13726	return s.String()
13727}
13728
13729// SetNextToken sets the NextToken field's value.
13730func (s *DescribeAvailablePatchesOutput) SetNextToken(v string) *DescribeAvailablePatchesOutput {
13731	s.NextToken = &v
13732	return s
13733}
13734
13735// SetPatches sets the Patches field's value.
13736func (s *DescribeAvailablePatchesOutput) SetPatches(v []*Patch) *DescribeAvailablePatchesOutput {
13737	s.Patches = v
13738	return s
13739}
13740
13741// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentRequest
13742type DescribeDocumentInput struct {
13743	_ struct{} `type:"structure"`
13744
13745	// The document version for which you want information. Can be a specific version
13746	// or the default version.
13747	DocumentVersion *string `type:"string"`
13748
13749	// The name of the Systems Manager document.
13750	//
13751	// Name is a required field
13752	Name *string `type:"string" required:"true"`
13753}
13754
13755// String returns the string representation
13756func (s DescribeDocumentInput) String() string {
13757	return awsutil.Prettify(s)
13758}
13759
13760// GoString returns the string representation
13761func (s DescribeDocumentInput) GoString() string {
13762	return s.String()
13763}
13764
13765// Validate inspects the fields of the type to determine if they are valid.
13766func (s *DescribeDocumentInput) Validate() error {
13767	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"}
13768	if s.Name == nil {
13769		invalidParams.Add(request.NewErrParamRequired("Name"))
13770	}
13771
13772	if invalidParams.Len() > 0 {
13773		return invalidParams
13774	}
13775	return nil
13776}
13777
13778// SetDocumentVersion sets the DocumentVersion field's value.
13779func (s *DescribeDocumentInput) SetDocumentVersion(v string) *DescribeDocumentInput {
13780	s.DocumentVersion = &v
13781	return s
13782}
13783
13784// SetName sets the Name field's value.
13785func (s *DescribeDocumentInput) SetName(v string) *DescribeDocumentInput {
13786	s.Name = &v
13787	return s
13788}
13789
13790// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentResult
13791type DescribeDocumentOutput struct {
13792	_ struct{} `type:"structure"`
13793
13794	// Information about the Systems Manager document.
13795	Document *DocumentDescription `type:"structure"`
13796}
13797
13798// String returns the string representation
13799func (s DescribeDocumentOutput) String() string {
13800	return awsutil.Prettify(s)
13801}
13802
13803// GoString returns the string representation
13804func (s DescribeDocumentOutput) GoString() string {
13805	return s.String()
13806}
13807
13808// SetDocument sets the Document field's value.
13809func (s *DescribeDocumentOutput) SetDocument(v *DocumentDescription) *DescribeDocumentOutput {
13810	s.Document = v
13811	return s
13812}
13813
13814// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermissionRequest
13815type DescribeDocumentPermissionInput struct {
13816	_ struct{} `type:"structure"`
13817
13818	// The name of the document for which you are the owner.
13819	//
13820	// Name is a required field
13821	Name *string `type:"string" required:"true"`
13822
13823	// The permission type for the document. The permission type can be Share.
13824	//
13825	// PermissionType is a required field
13826	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
13827}
13828
13829// String returns the string representation
13830func (s DescribeDocumentPermissionInput) String() string {
13831	return awsutil.Prettify(s)
13832}
13833
13834// GoString returns the string representation
13835func (s DescribeDocumentPermissionInput) GoString() string {
13836	return s.String()
13837}
13838
13839// Validate inspects the fields of the type to determine if they are valid.
13840func (s *DescribeDocumentPermissionInput) Validate() error {
13841	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"}
13842	if s.Name == nil {
13843		invalidParams.Add(request.NewErrParamRequired("Name"))
13844	}
13845	if s.PermissionType == nil {
13846		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
13847	}
13848
13849	if invalidParams.Len() > 0 {
13850		return invalidParams
13851	}
13852	return nil
13853}
13854
13855// SetName sets the Name field's value.
13856func (s *DescribeDocumentPermissionInput) SetName(v string) *DescribeDocumentPermissionInput {
13857	s.Name = &v
13858	return s
13859}
13860
13861// SetPermissionType sets the PermissionType field's value.
13862func (s *DescribeDocumentPermissionInput) SetPermissionType(v string) *DescribeDocumentPermissionInput {
13863	s.PermissionType = &v
13864	return s
13865}
13866
13867// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermissionResponse
13868type DescribeDocumentPermissionOutput struct {
13869	_ struct{} `type:"structure"`
13870
13871	// The account IDs that have permission to use this document. The ID can be
13872	// either an AWS account or All.
13873	AccountIds []*string `locationNameList:"AccountId" type:"list"`
13874}
13875
13876// String returns the string representation
13877func (s DescribeDocumentPermissionOutput) String() string {
13878	return awsutil.Prettify(s)
13879}
13880
13881// GoString returns the string representation
13882func (s DescribeDocumentPermissionOutput) GoString() string {
13883	return s.String()
13884}
13885
13886// SetAccountIds sets the AccountIds field's value.
13887func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeDocumentPermissionOutput {
13888	s.AccountIds = v
13889	return s
13890}
13891
13892// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociationsRequest
13893type DescribeEffectiveInstanceAssociationsInput struct {
13894	_ struct{} `type:"structure"`
13895
13896	// The instance ID for which you want to view all associations.
13897	//
13898	// InstanceId is a required field
13899	InstanceId *string `type:"string" required:"true"`
13900
13901	// The maximum number of items to return for this call. The call also returns
13902	// a token that you can specify in a subsequent call to get the next set of
13903	// results.
13904	MaxResults *int64 `min:"1" type:"integer"`
13905
13906	// The token for the next set of items to return. (You received this token from
13907	// a previous call.)
13908	NextToken *string `type:"string"`
13909}
13910
13911// String returns the string representation
13912func (s DescribeEffectiveInstanceAssociationsInput) String() string {
13913	return awsutil.Prettify(s)
13914}
13915
13916// GoString returns the string representation
13917func (s DescribeEffectiveInstanceAssociationsInput) GoString() string {
13918	return s.String()
13919}
13920
13921// Validate inspects the fields of the type to determine if they are valid.
13922func (s *DescribeEffectiveInstanceAssociationsInput) Validate() error {
13923	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectiveInstanceAssociationsInput"}
13924	if s.InstanceId == nil {
13925		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13926	}
13927	if s.MaxResults != nil && *s.MaxResults < 1 {
13928		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13929	}
13930
13931	if invalidParams.Len() > 0 {
13932		return invalidParams
13933	}
13934	return nil
13935}
13936
13937// SetInstanceId sets the InstanceId field's value.
13938func (s *DescribeEffectiveInstanceAssociationsInput) SetInstanceId(v string) *DescribeEffectiveInstanceAssociationsInput {
13939	s.InstanceId = &v
13940	return s
13941}
13942
13943// SetMaxResults sets the MaxResults field's value.
13944func (s *DescribeEffectiveInstanceAssociationsInput) SetMaxResults(v int64) *DescribeEffectiveInstanceAssociationsInput {
13945	s.MaxResults = &v
13946	return s
13947}
13948
13949// SetNextToken sets the NextToken field's value.
13950func (s *DescribeEffectiveInstanceAssociationsInput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsInput {
13951	s.NextToken = &v
13952	return s
13953}
13954
13955// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociationsResult
13956type DescribeEffectiveInstanceAssociationsOutput struct {
13957	_ struct{} `type:"structure"`
13958
13959	// The associations for the requested instance.
13960	Associations []*InstanceAssociation `type:"list"`
13961
13962	// The token to use when requesting the next set of items. If there are no additional
13963	// items to return, the string is empty.
13964	NextToken *string `type:"string"`
13965}
13966
13967// String returns the string representation
13968func (s DescribeEffectiveInstanceAssociationsOutput) String() string {
13969	return awsutil.Prettify(s)
13970}
13971
13972// GoString returns the string representation
13973func (s DescribeEffectiveInstanceAssociationsOutput) GoString() string {
13974	return s.String()
13975}
13976
13977// SetAssociations sets the Associations field's value.
13978func (s *DescribeEffectiveInstanceAssociationsOutput) SetAssociations(v []*InstanceAssociation) *DescribeEffectiveInstanceAssociationsOutput {
13979	s.Associations = v
13980	return s
13981}
13982
13983// SetNextToken sets the NextToken field's value.
13984func (s *DescribeEffectiveInstanceAssociationsOutput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsOutput {
13985	s.NextToken = &v
13986	return s
13987}
13988
13989// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaselineRequest
13990type DescribeEffectivePatchesForPatchBaselineInput struct {
13991	_ struct{} `type:"structure"`
13992
13993	// The ID of the patch baseline to retrieve the effective patches for.
13994	//
13995	// BaselineId is a required field
13996	BaselineId *string `min:"20" type:"string" required:"true"`
13997
13998	// The maximum number of patches to return (per page).
13999	MaxResults *int64 `min:"1" type:"integer"`
14000
14001	// The token for the next set of items to return. (You received this token from
14002	// a previous call.)
14003	NextToken *string `type:"string"`
14004}
14005
14006// String returns the string representation
14007func (s DescribeEffectivePatchesForPatchBaselineInput) String() string {
14008	return awsutil.Prettify(s)
14009}
14010
14011// GoString returns the string representation
14012func (s DescribeEffectivePatchesForPatchBaselineInput) GoString() string {
14013	return s.String()
14014}
14015
14016// Validate inspects the fields of the type to determine if they are valid.
14017func (s *DescribeEffectivePatchesForPatchBaselineInput) Validate() error {
14018	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePatchesForPatchBaselineInput"}
14019	if s.BaselineId == nil {
14020		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
14021	}
14022	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
14023		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
14024	}
14025	if s.MaxResults != nil && *s.MaxResults < 1 {
14026		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14027	}
14028
14029	if invalidParams.Len() > 0 {
14030		return invalidParams
14031	}
14032	return nil
14033}
14034
14035// SetBaselineId sets the BaselineId field's value.
14036func (s *DescribeEffectivePatchesForPatchBaselineInput) SetBaselineId(v string) *DescribeEffectivePatchesForPatchBaselineInput {
14037	s.BaselineId = &v
14038	return s
14039}
14040
14041// SetMaxResults sets the MaxResults field's value.
14042func (s *DescribeEffectivePatchesForPatchBaselineInput) SetMaxResults(v int64) *DescribeEffectivePatchesForPatchBaselineInput {
14043	s.MaxResults = &v
14044	return s
14045}
14046
14047// SetNextToken sets the NextToken field's value.
14048func (s *DescribeEffectivePatchesForPatchBaselineInput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineInput {
14049	s.NextToken = &v
14050	return s
14051}
14052
14053// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaselineResult
14054type DescribeEffectivePatchesForPatchBaselineOutput struct {
14055	_ struct{} `type:"structure"`
14056
14057	// An array of patches and patch status.
14058	EffectivePatches []*EffectivePatch `type:"list"`
14059
14060	// The token to use when requesting the next set of items. If there are no additional
14061	// items to return, the string is empty.
14062	NextToken *string `type:"string"`
14063}
14064
14065// String returns the string representation
14066func (s DescribeEffectivePatchesForPatchBaselineOutput) String() string {
14067	return awsutil.Prettify(s)
14068}
14069
14070// GoString returns the string representation
14071func (s DescribeEffectivePatchesForPatchBaselineOutput) GoString() string {
14072	return s.String()
14073}
14074
14075// SetEffectivePatches sets the EffectivePatches field's value.
14076func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetEffectivePatches(v []*EffectivePatch) *DescribeEffectivePatchesForPatchBaselineOutput {
14077	s.EffectivePatches = v
14078	return s
14079}
14080
14081// SetNextToken sets the NextToken field's value.
14082func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineOutput {
14083	s.NextToken = &v
14084	return s
14085}
14086
14087// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatusRequest
14088type DescribeInstanceAssociationsStatusInput struct {
14089	_ struct{} `type:"structure"`
14090
14091	// The instance IDs for which you want association status information.
14092	//
14093	// InstanceId is a required field
14094	InstanceId *string `type:"string" required:"true"`
14095
14096	// The maximum number of items to return for this call. The call also returns
14097	// a token that you can specify in a subsequent call to get the next set of
14098	// results.
14099	MaxResults *int64 `min:"1" type:"integer"`
14100
14101	// The token for the next set of items to return. (You received this token from
14102	// a previous call.)
14103	NextToken *string `type:"string"`
14104}
14105
14106// String returns the string representation
14107func (s DescribeInstanceAssociationsStatusInput) String() string {
14108	return awsutil.Prettify(s)
14109}
14110
14111// GoString returns the string representation
14112func (s DescribeInstanceAssociationsStatusInput) GoString() string {
14113	return s.String()
14114}
14115
14116// Validate inspects the fields of the type to determine if they are valid.
14117func (s *DescribeInstanceAssociationsStatusInput) Validate() error {
14118	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAssociationsStatusInput"}
14119	if s.InstanceId == nil {
14120		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14121	}
14122	if s.MaxResults != nil && *s.MaxResults < 1 {
14123		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14124	}
14125
14126	if invalidParams.Len() > 0 {
14127		return invalidParams
14128	}
14129	return nil
14130}
14131
14132// SetInstanceId sets the InstanceId field's value.
14133func (s *DescribeInstanceAssociationsStatusInput) SetInstanceId(v string) *DescribeInstanceAssociationsStatusInput {
14134	s.InstanceId = &v
14135	return s
14136}
14137
14138// SetMaxResults sets the MaxResults field's value.
14139func (s *DescribeInstanceAssociationsStatusInput) SetMaxResults(v int64) *DescribeInstanceAssociationsStatusInput {
14140	s.MaxResults = &v
14141	return s
14142}
14143
14144// SetNextToken sets the NextToken field's value.
14145func (s *DescribeInstanceAssociationsStatusInput) SetNextToken(v string) *DescribeInstanceAssociationsStatusInput {
14146	s.NextToken = &v
14147	return s
14148}
14149
14150// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatusResult
14151type DescribeInstanceAssociationsStatusOutput struct {
14152	_ struct{} `type:"structure"`
14153
14154	// Status information about the association.
14155	InstanceAssociationStatusInfos []*InstanceAssociationStatusInfo `type:"list"`
14156
14157	// The token to use when requesting the next set of items. If there are no additional
14158	// items to return, the string is empty.
14159	NextToken *string `type:"string"`
14160}
14161
14162// String returns the string representation
14163func (s DescribeInstanceAssociationsStatusOutput) String() string {
14164	return awsutil.Prettify(s)
14165}
14166
14167// GoString returns the string representation
14168func (s DescribeInstanceAssociationsStatusOutput) GoString() string {
14169	return s.String()
14170}
14171
14172// SetInstanceAssociationStatusInfos sets the InstanceAssociationStatusInfos field's value.
14173func (s *DescribeInstanceAssociationsStatusOutput) SetInstanceAssociationStatusInfos(v []*InstanceAssociationStatusInfo) *DescribeInstanceAssociationsStatusOutput {
14174	s.InstanceAssociationStatusInfos = v
14175	return s
14176}
14177
14178// SetNextToken sets the NextToken field's value.
14179func (s *DescribeInstanceAssociationsStatusOutput) SetNextToken(v string) *DescribeInstanceAssociationsStatusOutput {
14180	s.NextToken = &v
14181	return s
14182}
14183
14184// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformationRequest
14185type DescribeInstanceInformationInput struct {
14186	_ struct{} `type:"structure"`
14187
14188	// One or more filters. Use a filter to return a more specific list of instances.
14189	Filters []*InstanceInformationStringFilter `locationNameList:"InstanceInformationStringFilter" type:"list"`
14190
14191	// One or more filters. Use a filter to return a more specific list of instances.
14192	InstanceInformationFilterList []*InstanceInformationFilter `locationNameList:"InstanceInformationFilter" type:"list"`
14193
14194	// The maximum number of items to return for this call. The call also returns
14195	// a token that you can specify in a subsequent call to get the next set of
14196	// results.
14197	MaxResults *int64 `min:"5" type:"integer"`
14198
14199	// The token for the next set of items to return. (You received this token from
14200	// a previous call.)
14201	NextToken *string `type:"string"`
14202}
14203
14204// String returns the string representation
14205func (s DescribeInstanceInformationInput) String() string {
14206	return awsutil.Prettify(s)
14207}
14208
14209// GoString returns the string representation
14210func (s DescribeInstanceInformationInput) GoString() string {
14211	return s.String()
14212}
14213
14214// Validate inspects the fields of the type to determine if they are valid.
14215func (s *DescribeInstanceInformationInput) Validate() error {
14216	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"}
14217	if s.MaxResults != nil && *s.MaxResults < 5 {
14218		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
14219	}
14220	if s.Filters != nil {
14221		for i, v := range s.Filters {
14222			if v == nil {
14223				continue
14224			}
14225			if err := v.Validate(); err != nil {
14226				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14227			}
14228		}
14229	}
14230	if s.InstanceInformationFilterList != nil {
14231		for i, v := range s.InstanceInformationFilterList {
14232			if v == nil {
14233				continue
14234			}
14235			if err := v.Validate(); err != nil {
14236				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams))
14237			}
14238		}
14239	}
14240
14241	if invalidParams.Len() > 0 {
14242		return invalidParams
14243	}
14244	return nil
14245}
14246
14247// SetFilters sets the Filters field's value.
14248func (s *DescribeInstanceInformationInput) SetFilters(v []*InstanceInformationStringFilter) *DescribeInstanceInformationInput {
14249	s.Filters = v
14250	return s
14251}
14252
14253// SetInstanceInformationFilterList sets the InstanceInformationFilterList field's value.
14254func (s *DescribeInstanceInformationInput) SetInstanceInformationFilterList(v []*InstanceInformationFilter) *DescribeInstanceInformationInput {
14255	s.InstanceInformationFilterList = v
14256	return s
14257}
14258
14259// SetMaxResults sets the MaxResults field's value.
14260func (s *DescribeInstanceInformationInput) SetMaxResults(v int64) *DescribeInstanceInformationInput {
14261	s.MaxResults = &v
14262	return s
14263}
14264
14265// SetNextToken sets the NextToken field's value.
14266func (s *DescribeInstanceInformationInput) SetNextToken(v string) *DescribeInstanceInformationInput {
14267	s.NextToken = &v
14268	return s
14269}
14270
14271// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformationResult
14272type DescribeInstanceInformationOutput struct {
14273	_ struct{} `type:"structure"`
14274
14275	// The instance information list.
14276	InstanceInformationList []*InstanceInformation `locationNameList:"InstanceInformation" type:"list"`
14277
14278	// The token to use when requesting the next set of items. If there are no additional
14279	// items to return, the string is empty.
14280	NextToken *string `type:"string"`
14281}
14282
14283// String returns the string representation
14284func (s DescribeInstanceInformationOutput) String() string {
14285	return awsutil.Prettify(s)
14286}
14287
14288// GoString returns the string representation
14289func (s DescribeInstanceInformationOutput) GoString() string {
14290	return s.String()
14291}
14292
14293// SetInstanceInformationList sets the InstanceInformationList field's value.
14294func (s *DescribeInstanceInformationOutput) SetInstanceInformationList(v []*InstanceInformation) *DescribeInstanceInformationOutput {
14295	s.InstanceInformationList = v
14296	return s
14297}
14298
14299// SetNextToken sets the NextToken field's value.
14300func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInstanceInformationOutput {
14301	s.NextToken = &v
14302	return s
14303}
14304
14305// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroupRequest
14306type DescribeInstancePatchStatesForPatchGroupInput struct {
14307	_ struct{} `type:"structure"`
14308
14309	// Each entry in the array is a structure containing:
14310	//
14311	// Key (string between 1 and 200 characters)
14312	//
14313	// Values (array containing a single string)
14314	//
14315	// Type (string "Equal", "NotEqual", "LessThan", "GreaterThan")
14316	Filters []*InstancePatchStateFilter `type:"list"`
14317
14318	// The maximum number of patches to return (per page).
14319	MaxResults *int64 `min:"10" type:"integer"`
14320
14321	// The token for the next set of items to return. (You received this token from
14322	// a previous call.)
14323	NextToken *string `type:"string"`
14324
14325	// The name of the patch group for which the patch state information should
14326	// be retrieved.
14327	//
14328	// PatchGroup is a required field
14329	PatchGroup *string `min:"1" type:"string" required:"true"`
14330}
14331
14332// String returns the string representation
14333func (s DescribeInstancePatchStatesForPatchGroupInput) String() string {
14334	return awsutil.Prettify(s)
14335}
14336
14337// GoString returns the string representation
14338func (s DescribeInstancePatchStatesForPatchGroupInput) GoString() string {
14339	return s.String()
14340}
14341
14342// Validate inspects the fields of the type to determine if they are valid.
14343func (s *DescribeInstancePatchStatesForPatchGroupInput) Validate() error {
14344	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesForPatchGroupInput"}
14345	if s.MaxResults != nil && *s.MaxResults < 10 {
14346		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14347	}
14348	if s.PatchGroup == nil {
14349		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
14350	}
14351	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
14352		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
14353	}
14354	if s.Filters != nil {
14355		for i, v := range s.Filters {
14356			if v == nil {
14357				continue
14358			}
14359			if err := v.Validate(); err != nil {
14360				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14361			}
14362		}
14363	}
14364
14365	if invalidParams.Len() > 0 {
14366		return invalidParams
14367	}
14368	return nil
14369}
14370
14371// SetFilters sets the Filters field's value.
14372func (s *DescribeInstancePatchStatesForPatchGroupInput) SetFilters(v []*InstancePatchStateFilter) *DescribeInstancePatchStatesForPatchGroupInput {
14373	s.Filters = v
14374	return s
14375}
14376
14377// SetMaxResults sets the MaxResults field's value.
14378func (s *DescribeInstancePatchStatesForPatchGroupInput) SetMaxResults(v int64) *DescribeInstancePatchStatesForPatchGroupInput {
14379	s.MaxResults = &v
14380	return s
14381}
14382
14383// SetNextToken sets the NextToken field's value.
14384func (s *DescribeInstancePatchStatesForPatchGroupInput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupInput {
14385	s.NextToken = &v
14386	return s
14387}
14388
14389// SetPatchGroup sets the PatchGroup field's value.
14390func (s *DescribeInstancePatchStatesForPatchGroupInput) SetPatchGroup(v string) *DescribeInstancePatchStatesForPatchGroupInput {
14391	s.PatchGroup = &v
14392	return s
14393}
14394
14395// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroupResult
14396type DescribeInstancePatchStatesForPatchGroupOutput struct {
14397	_ struct{} `type:"structure"`
14398
14399	// The high-level patch state for the requested instances.
14400	InstancePatchStates []*InstancePatchState `min:"1" type:"list"`
14401
14402	// The token to use when requesting the next set of items. If there are no additional
14403	// items to return, the string is empty.
14404	NextToken *string `type:"string"`
14405}
14406
14407// String returns the string representation
14408func (s DescribeInstancePatchStatesForPatchGroupOutput) String() string {
14409	return awsutil.Prettify(s)
14410}
14411
14412// GoString returns the string representation
14413func (s DescribeInstancePatchStatesForPatchGroupOutput) GoString() string {
14414	return s.String()
14415}
14416
14417// SetInstancePatchStates sets the InstancePatchStates field's value.
14418func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesForPatchGroupOutput {
14419	s.InstancePatchStates = v
14420	return s
14421}
14422
14423// SetNextToken sets the NextToken field's value.
14424func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupOutput {
14425	s.NextToken = &v
14426	return s
14427}
14428
14429// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesRequest
14430type DescribeInstancePatchStatesInput struct {
14431	_ struct{} `type:"structure"`
14432
14433	// The ID of the instance whose patch state information should be retrieved.
14434	//
14435	// InstanceIds is a required field
14436	InstanceIds []*string `type:"list" required:"true"`
14437
14438	// The maximum number of instances to return (per page).
14439	MaxResults *int64 `min:"10" type:"integer"`
14440
14441	// The token for the next set of items to return. (You received this token from
14442	// a previous call.)
14443	NextToken *string `type:"string"`
14444}
14445
14446// String returns the string representation
14447func (s DescribeInstancePatchStatesInput) String() string {
14448	return awsutil.Prettify(s)
14449}
14450
14451// GoString returns the string representation
14452func (s DescribeInstancePatchStatesInput) GoString() string {
14453	return s.String()
14454}
14455
14456// Validate inspects the fields of the type to determine if they are valid.
14457func (s *DescribeInstancePatchStatesInput) Validate() error {
14458	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesInput"}
14459	if s.InstanceIds == nil {
14460		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
14461	}
14462	if s.MaxResults != nil && *s.MaxResults < 10 {
14463		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14464	}
14465
14466	if invalidParams.Len() > 0 {
14467		return invalidParams
14468	}
14469	return nil
14470}
14471
14472// SetInstanceIds sets the InstanceIds field's value.
14473func (s *DescribeInstancePatchStatesInput) SetInstanceIds(v []*string) *DescribeInstancePatchStatesInput {
14474	s.InstanceIds = v
14475	return s
14476}
14477
14478// SetMaxResults sets the MaxResults field's value.
14479func (s *DescribeInstancePatchStatesInput) SetMaxResults(v int64) *DescribeInstancePatchStatesInput {
14480	s.MaxResults = &v
14481	return s
14482}
14483
14484// SetNextToken sets the NextToken field's value.
14485func (s *DescribeInstancePatchStatesInput) SetNextToken(v string) *DescribeInstancePatchStatesInput {
14486	s.NextToken = &v
14487	return s
14488}
14489
14490// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesResult
14491type DescribeInstancePatchStatesOutput struct {
14492	_ struct{} `type:"structure"`
14493
14494	// The high-level patch state for the requested instances.
14495	InstancePatchStates []*InstancePatchState `type:"list"`
14496
14497	// The token to use when requesting the next set of items. If there are no additional
14498	// items to return, the string is empty.
14499	NextToken *string `type:"string"`
14500}
14501
14502// String returns the string representation
14503func (s DescribeInstancePatchStatesOutput) String() string {
14504	return awsutil.Prettify(s)
14505}
14506
14507// GoString returns the string representation
14508func (s DescribeInstancePatchStatesOutput) GoString() string {
14509	return s.String()
14510}
14511
14512// SetInstancePatchStates sets the InstancePatchStates field's value.
14513func (s *DescribeInstancePatchStatesOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesOutput {
14514	s.InstancePatchStates = v
14515	return s
14516}
14517
14518// SetNextToken sets the NextToken field's value.
14519func (s *DescribeInstancePatchStatesOutput) SetNextToken(v string) *DescribeInstancePatchStatesOutput {
14520	s.NextToken = &v
14521	return s
14522}
14523
14524// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchesRequest
14525type DescribeInstancePatchesInput struct {
14526	_ struct{} `type:"structure"`
14527
14528	// Each entry in the array is a structure containing:
14529	//
14530	// Key (string, between 1 and 128 characters)
14531	//
14532	// Values (array of strings, each string between 1 and 256 characters)
14533	Filters []*PatchOrchestratorFilter `type:"list"`
14534
14535	// The ID of the instance whose patch state information should be retrieved.
14536	//
14537	// InstanceId is a required field
14538	InstanceId *string `type:"string" required:"true"`
14539
14540	// The maximum number of patches to return (per page).
14541	MaxResults *int64 `min:"10" type:"integer"`
14542
14543	// The token for the next set of items to return. (You received this token from
14544	// a previous call.)
14545	NextToken *string `type:"string"`
14546}
14547
14548// String returns the string representation
14549func (s DescribeInstancePatchesInput) String() string {
14550	return awsutil.Prettify(s)
14551}
14552
14553// GoString returns the string representation
14554func (s DescribeInstancePatchesInput) GoString() string {
14555	return s.String()
14556}
14557
14558// Validate inspects the fields of the type to determine if they are valid.
14559func (s *DescribeInstancePatchesInput) Validate() error {
14560	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchesInput"}
14561	if s.InstanceId == nil {
14562		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14563	}
14564	if s.MaxResults != nil && *s.MaxResults < 10 {
14565		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14566	}
14567	if s.Filters != nil {
14568		for i, v := range s.Filters {
14569			if v == nil {
14570				continue
14571			}
14572			if err := v.Validate(); err != nil {
14573				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14574			}
14575		}
14576	}
14577
14578	if invalidParams.Len() > 0 {
14579		return invalidParams
14580	}
14581	return nil
14582}
14583
14584// SetFilters sets the Filters field's value.
14585func (s *DescribeInstancePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeInstancePatchesInput {
14586	s.Filters = v
14587	return s
14588}
14589
14590// SetInstanceId sets the InstanceId field's value.
14591func (s *DescribeInstancePatchesInput) SetInstanceId(v string) *DescribeInstancePatchesInput {
14592	s.InstanceId = &v
14593	return s
14594}
14595
14596// SetMaxResults sets the MaxResults field's value.
14597func (s *DescribeInstancePatchesInput) SetMaxResults(v int64) *DescribeInstancePatchesInput {
14598	s.MaxResults = &v
14599	return s
14600}
14601
14602// SetNextToken sets the NextToken field's value.
14603func (s *DescribeInstancePatchesInput) SetNextToken(v string) *DescribeInstancePatchesInput {
14604	s.NextToken = &v
14605	return s
14606}
14607
14608// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchesResult
14609type DescribeInstancePatchesOutput struct {
14610	_ struct{} `type:"structure"`
14611
14612	// The token to use when requesting the next set of items. If there are no additional
14613	// items to return, the string is empty.
14614	NextToken *string `type:"string"`
14615
14616	// Each entry in the array is a structure containing:
14617	//
14618	// Title (string)
14619	//
14620	// KBId (string)
14621	//
14622	// Classification (string)
14623	//
14624	// Severity (string)
14625	//
14626	// State (string: "INSTALLED", "INSTALLED OTHER", "MISSING", "NOT APPLICABLE",
14627	// "FAILED")
14628	//
14629	// InstalledTime (DateTime)
14630	//
14631	// InstalledBy (string)
14632	Patches []*PatchComplianceData `type:"list"`
14633}
14634
14635// String returns the string representation
14636func (s DescribeInstancePatchesOutput) String() string {
14637	return awsutil.Prettify(s)
14638}
14639
14640// GoString returns the string representation
14641func (s DescribeInstancePatchesOutput) GoString() string {
14642	return s.String()
14643}
14644
14645// SetNextToken sets the NextToken field's value.
14646func (s *DescribeInstancePatchesOutput) SetNextToken(v string) *DescribeInstancePatchesOutput {
14647	s.NextToken = &v
14648	return s
14649}
14650
14651// SetPatches sets the Patches field's value.
14652func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *DescribeInstancePatchesOutput {
14653	s.Patches = v
14654	return s
14655}
14656
14657// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocationsRequest
14658type DescribeMaintenanceWindowExecutionTaskInvocationsInput struct {
14659	_ struct{} `type:"structure"`
14660
14661	// Optional filters used to scope down the returned task invocations. The supported
14662	// filter key is STATUS with the corresponding values PENDING, IN_PROGRESS,
14663	// SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
14664	Filters []*MaintenanceWindowFilter `type:"list"`
14665
14666	// The maximum number of items to return for this call. The call also returns
14667	// a token that you can specify in a subsequent call to get the next set of
14668	// results.
14669	MaxResults *int64 `min:"10" type:"integer"`
14670
14671	// The token for the next set of items to return. (You received this token from
14672	// a previous call.)
14673	NextToken *string `type:"string"`
14674
14675	// The ID of the specific task in the Maintenance Window task that should be
14676	// retrieved.
14677	//
14678	// TaskId is a required field
14679	TaskId *string `min:"36" type:"string" required:"true"`
14680
14681	// The ID of the Maintenance Window execution the task is part of.
14682	//
14683	// WindowExecutionId is a required field
14684	WindowExecutionId *string `min:"36" type:"string" required:"true"`
14685}
14686
14687// String returns the string representation
14688func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) String() string {
14689	return awsutil.Prettify(s)
14690}
14691
14692// GoString returns the string representation
14693func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) GoString() string {
14694	return s.String()
14695}
14696
14697// Validate inspects the fields of the type to determine if they are valid.
14698func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) Validate() error {
14699	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTaskInvocationsInput"}
14700	if s.MaxResults != nil && *s.MaxResults < 10 {
14701		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14702	}
14703	if s.TaskId == nil {
14704		invalidParams.Add(request.NewErrParamRequired("TaskId"))
14705	}
14706	if s.TaskId != nil && len(*s.TaskId) < 36 {
14707		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
14708	}
14709	if s.WindowExecutionId == nil {
14710		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
14711	}
14712	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
14713		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
14714	}
14715	if s.Filters != nil {
14716		for i, v := range s.Filters {
14717			if v == nil {
14718				continue
14719			}
14720			if err := v.Validate(); err != nil {
14721				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14722			}
14723		}
14724	}
14725
14726	if invalidParams.Len() > 0 {
14727		return invalidParams
14728	}
14729	return nil
14730}
14731
14732// SetFilters sets the Filters field's value.
14733func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
14734	s.Filters = v
14735	return s
14736}
14737
14738// SetMaxResults sets the MaxResults field's value.
14739func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
14740	s.MaxResults = &v
14741	return s
14742}
14743
14744// SetNextToken sets the NextToken field's value.
14745func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
14746	s.NextToken = &v
14747	return s
14748}
14749
14750// SetTaskId sets the TaskId field's value.
14751func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetTaskId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
14752	s.TaskId = &v
14753	return s
14754}
14755
14756// SetWindowExecutionId sets the WindowExecutionId field's value.
14757func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
14758	s.WindowExecutionId = &v
14759	return s
14760}
14761
14762// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocationsResult
14763type DescribeMaintenanceWindowExecutionTaskInvocationsOutput struct {
14764	_ struct{} `type:"structure"`
14765
14766	// The token to use when requesting the next set of items. If there are no additional
14767	// items to return, the string is empty.
14768	NextToken *string `type:"string"`
14769
14770	// Information about the task invocation results per invocation.
14771	WindowExecutionTaskInvocationIdentities []*MaintenanceWindowExecutionTaskInvocationIdentity `type:"list"`
14772}
14773
14774// String returns the string representation
14775func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) String() string {
14776	return awsutil.Prettify(s)
14777}
14778
14779// GoString returns the string representation
14780func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) GoString() string {
14781	return s.String()
14782}
14783
14784// SetNextToken sets the NextToken field's value.
14785func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
14786	s.NextToken = &v
14787	return s
14788}
14789
14790// SetWindowExecutionTaskInvocationIdentities sets the WindowExecutionTaskInvocationIdentities field's value.
14791func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetWindowExecutionTaskInvocationIdentities(v []*MaintenanceWindowExecutionTaskInvocationIdentity) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
14792	s.WindowExecutionTaskInvocationIdentities = v
14793	return s
14794}
14795
14796// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasksRequest
14797type DescribeMaintenanceWindowExecutionTasksInput struct {
14798	_ struct{} `type:"structure"`
14799
14800	// Optional filters used to scope down the returned tasks. The supported filter
14801	// key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS,
14802	// FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
14803	Filters []*MaintenanceWindowFilter `type:"list"`
14804
14805	// The maximum number of items to return for this call. The call also returns
14806	// a token that you can specify in a subsequent call to get the next set of
14807	// results.
14808	MaxResults *int64 `min:"10" type:"integer"`
14809
14810	// The token for the next set of items to return. (You received this token from
14811	// a previous call.)
14812	NextToken *string `type:"string"`
14813
14814	// The ID of the Maintenance Window execution whose task executions should be
14815	// retrieved.
14816	//
14817	// WindowExecutionId is a required field
14818	WindowExecutionId *string `min:"36" type:"string" required:"true"`
14819}
14820
14821// String returns the string representation
14822func (s DescribeMaintenanceWindowExecutionTasksInput) String() string {
14823	return awsutil.Prettify(s)
14824}
14825
14826// GoString returns the string representation
14827func (s DescribeMaintenanceWindowExecutionTasksInput) GoString() string {
14828	return s.String()
14829}
14830
14831// Validate inspects the fields of the type to determine if they are valid.
14832func (s *DescribeMaintenanceWindowExecutionTasksInput) Validate() error {
14833	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTasksInput"}
14834	if s.MaxResults != nil && *s.MaxResults < 10 {
14835		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14836	}
14837	if s.WindowExecutionId == nil {
14838		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
14839	}
14840	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
14841		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
14842	}
14843	if s.Filters != nil {
14844		for i, v := range s.Filters {
14845			if v == nil {
14846				continue
14847			}
14848			if err := v.Validate(); err != nil {
14849				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14850			}
14851		}
14852	}
14853
14854	if invalidParams.Len() > 0 {
14855		return invalidParams
14856	}
14857	return nil
14858}
14859
14860// SetFilters sets the Filters field's value.
14861func (s *DescribeMaintenanceWindowExecutionTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTasksInput {
14862	s.Filters = v
14863	return s
14864}
14865
14866// SetMaxResults sets the MaxResults field's value.
14867func (s *DescribeMaintenanceWindowExecutionTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTasksInput {
14868	s.MaxResults = &v
14869	return s
14870}
14871
14872// SetNextToken sets the NextToken field's value.
14873func (s *DescribeMaintenanceWindowExecutionTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksInput {
14874	s.NextToken = &v
14875	return s
14876}
14877
14878// SetWindowExecutionId sets the WindowExecutionId field's value.
14879func (s *DescribeMaintenanceWindowExecutionTasksInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTasksInput {
14880	s.WindowExecutionId = &v
14881	return s
14882}
14883
14884// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasksResult
14885type DescribeMaintenanceWindowExecutionTasksOutput struct {
14886	_ struct{} `type:"structure"`
14887
14888	// The token to use when requesting the next set of items. If there are no additional
14889	// items to return, the string is empty.
14890	NextToken *string `type:"string"`
14891
14892	// Information about the task executions.
14893	WindowExecutionTaskIdentities []*MaintenanceWindowExecutionTaskIdentity `type:"list"`
14894}
14895
14896// String returns the string representation
14897func (s DescribeMaintenanceWindowExecutionTasksOutput) String() string {
14898	return awsutil.Prettify(s)
14899}
14900
14901// GoString returns the string representation
14902func (s DescribeMaintenanceWindowExecutionTasksOutput) GoString() string {
14903	return s.String()
14904}
14905
14906// SetNextToken sets the NextToken field's value.
14907func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksOutput {
14908	s.NextToken = &v
14909	return s
14910}
14911
14912// SetWindowExecutionTaskIdentities sets the WindowExecutionTaskIdentities field's value.
14913func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetWindowExecutionTaskIdentities(v []*MaintenanceWindowExecutionTaskIdentity) *DescribeMaintenanceWindowExecutionTasksOutput {
14914	s.WindowExecutionTaskIdentities = v
14915	return s
14916}
14917
14918// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionsRequest
14919type DescribeMaintenanceWindowExecutionsInput struct {
14920	_ struct{} `type:"structure"`
14921
14922	// Each entry in the array is a structure containing:
14923	//
14924	// Key (string, between 1 and 128 characters)
14925	//
14926	// Values (array of strings, each string is between 1 and 256 characters)
14927	//
14928	// The supported Keys are ExecutedBefore and ExecutedAfter with the value being
14929	// a date/time string such as 2016-11-04T05:00:00Z.
14930	Filters []*MaintenanceWindowFilter `type:"list"`
14931
14932	// The maximum number of items to return for this call. The call also returns
14933	// a token that you can specify in a subsequent call to get the next set of
14934	// results.
14935	MaxResults *int64 `min:"10" type:"integer"`
14936
14937	// The token for the next set of items to return. (You received this token from
14938	// a previous call.)
14939	NextToken *string `type:"string"`
14940
14941	// The ID of the Maintenance Window whose executions should be retrieved.
14942	//
14943	// WindowId is a required field
14944	WindowId *string `min:"20" type:"string" required:"true"`
14945}
14946
14947// String returns the string representation
14948func (s DescribeMaintenanceWindowExecutionsInput) String() string {
14949	return awsutil.Prettify(s)
14950}
14951
14952// GoString returns the string representation
14953func (s DescribeMaintenanceWindowExecutionsInput) GoString() string {
14954	return s.String()
14955}
14956
14957// Validate inspects the fields of the type to determine if they are valid.
14958func (s *DescribeMaintenanceWindowExecutionsInput) Validate() error {
14959	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionsInput"}
14960	if s.MaxResults != nil && *s.MaxResults < 10 {
14961		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
14962	}
14963	if s.WindowId == nil {
14964		invalidParams.Add(request.NewErrParamRequired("WindowId"))
14965	}
14966	if s.WindowId != nil && len(*s.WindowId) < 20 {
14967		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
14968	}
14969	if s.Filters != nil {
14970		for i, v := range s.Filters {
14971			if v == nil {
14972				continue
14973			}
14974			if err := v.Validate(); err != nil {
14975				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14976			}
14977		}
14978	}
14979
14980	if invalidParams.Len() > 0 {
14981		return invalidParams
14982	}
14983	return nil
14984}
14985
14986// SetFilters sets the Filters field's value.
14987func (s *DescribeMaintenanceWindowExecutionsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionsInput {
14988	s.Filters = v
14989	return s
14990}
14991
14992// SetMaxResults sets the MaxResults field's value.
14993func (s *DescribeMaintenanceWindowExecutionsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionsInput {
14994	s.MaxResults = &v
14995	return s
14996}
14997
14998// SetNextToken sets the NextToken field's value.
14999func (s *DescribeMaintenanceWindowExecutionsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsInput {
15000	s.NextToken = &v
15001	return s
15002}
15003
15004// SetWindowId sets the WindowId field's value.
15005func (s *DescribeMaintenanceWindowExecutionsInput) SetWindowId(v string) *DescribeMaintenanceWindowExecutionsInput {
15006	s.WindowId = &v
15007	return s
15008}
15009
15010// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionsResult
15011type DescribeMaintenanceWindowExecutionsOutput struct {
15012	_ struct{} `type:"structure"`
15013
15014	// The token to use when requesting the next set of items. If there are no additional
15015	// items to return, the string is empty.
15016	NextToken *string `type:"string"`
15017
15018	// Information about the Maintenance Windows execution.
15019	WindowExecutions []*MaintenanceWindowExecution `type:"list"`
15020}
15021
15022// String returns the string representation
15023func (s DescribeMaintenanceWindowExecutionsOutput) String() string {
15024	return awsutil.Prettify(s)
15025}
15026
15027// GoString returns the string representation
15028func (s DescribeMaintenanceWindowExecutionsOutput) GoString() string {
15029	return s.String()
15030}
15031
15032// SetNextToken sets the NextToken field's value.
15033func (s *DescribeMaintenanceWindowExecutionsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsOutput {
15034	s.NextToken = &v
15035	return s
15036}
15037
15038// SetWindowExecutions sets the WindowExecutions field's value.
15039func (s *DescribeMaintenanceWindowExecutionsOutput) SetWindowExecutions(v []*MaintenanceWindowExecution) *DescribeMaintenanceWindowExecutionsOutput {
15040	s.WindowExecutions = v
15041	return s
15042}
15043
15044// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargetsRequest
15045type DescribeMaintenanceWindowTargetsInput struct {
15046	_ struct{} `type:"structure"`
15047
15048	// Optional filters that can be used to narrow down the scope of the returned
15049	// window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.
15050	Filters []*MaintenanceWindowFilter `type:"list"`
15051
15052	// The maximum number of items to return for this call. The call also returns
15053	// a token that you can specify in a subsequent call to get the next set of
15054	// results.
15055	MaxResults *int64 `min:"10" type:"integer"`
15056
15057	// The token for the next set of items to return. (You received this token from
15058	// a previous call.)
15059	NextToken *string `type:"string"`
15060
15061	// The ID of the Maintenance Window whose targets should be retrieved.
15062	//
15063	// WindowId is a required field
15064	WindowId *string `min:"20" type:"string" required:"true"`
15065}
15066
15067// String returns the string representation
15068func (s DescribeMaintenanceWindowTargetsInput) String() string {
15069	return awsutil.Prettify(s)
15070}
15071
15072// GoString returns the string representation
15073func (s DescribeMaintenanceWindowTargetsInput) GoString() string {
15074	return s.String()
15075}
15076
15077// Validate inspects the fields of the type to determine if they are valid.
15078func (s *DescribeMaintenanceWindowTargetsInput) Validate() error {
15079	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTargetsInput"}
15080	if s.MaxResults != nil && *s.MaxResults < 10 {
15081		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
15082	}
15083	if s.WindowId == nil {
15084		invalidParams.Add(request.NewErrParamRequired("WindowId"))
15085	}
15086	if s.WindowId != nil && len(*s.WindowId) < 20 {
15087		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
15088	}
15089	if s.Filters != nil {
15090		for i, v := range s.Filters {
15091			if v == nil {
15092				continue
15093			}
15094			if err := v.Validate(); err != nil {
15095				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15096			}
15097		}
15098	}
15099
15100	if invalidParams.Len() > 0 {
15101		return invalidParams
15102	}
15103	return nil
15104}
15105
15106// SetFilters sets the Filters field's value.
15107func (s *DescribeMaintenanceWindowTargetsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTargetsInput {
15108	s.Filters = v
15109	return s
15110}
15111
15112// SetMaxResults sets the MaxResults field's value.
15113func (s *DescribeMaintenanceWindowTargetsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTargetsInput {
15114	s.MaxResults = &v
15115	return s
15116}
15117
15118// SetNextToken sets the NextToken field's value.
15119func (s *DescribeMaintenanceWindowTargetsInput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsInput {
15120	s.NextToken = &v
15121	return s
15122}
15123
15124// SetWindowId sets the WindowId field's value.
15125func (s *DescribeMaintenanceWindowTargetsInput) SetWindowId(v string) *DescribeMaintenanceWindowTargetsInput {
15126	s.WindowId = &v
15127	return s
15128}
15129
15130// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargetsResult
15131type DescribeMaintenanceWindowTargetsOutput struct {
15132	_ struct{} `type:"structure"`
15133
15134	// The token to use when requesting the next set of items. If there are no additional
15135	// items to return, the string is empty.
15136	NextToken *string `type:"string"`
15137
15138	// Information about the targets in the Maintenance Window.
15139	Targets []*MaintenanceWindowTarget `type:"list"`
15140}
15141
15142// String returns the string representation
15143func (s DescribeMaintenanceWindowTargetsOutput) String() string {
15144	return awsutil.Prettify(s)
15145}
15146
15147// GoString returns the string representation
15148func (s DescribeMaintenanceWindowTargetsOutput) GoString() string {
15149	return s.String()
15150}
15151
15152// SetNextToken sets the NextToken field's value.
15153func (s *DescribeMaintenanceWindowTargetsOutput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsOutput {
15154	s.NextToken = &v
15155	return s
15156}
15157
15158// SetTargets sets the Targets field's value.
15159func (s *DescribeMaintenanceWindowTargetsOutput) SetTargets(v []*MaintenanceWindowTarget) *DescribeMaintenanceWindowTargetsOutput {
15160	s.Targets = v
15161	return s
15162}
15163
15164// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasksRequest
15165type DescribeMaintenanceWindowTasksInput struct {
15166	_ struct{} `type:"structure"`
15167
15168	// Optional filters used to narrow down the scope of the returned tasks. The
15169	// supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.
15170	Filters []*MaintenanceWindowFilter `type:"list"`
15171
15172	// The maximum number of items to return for this call. The call also returns
15173	// a token that you can specify in a subsequent call to get the next set of
15174	// results.
15175	MaxResults *int64 `min:"10" type:"integer"`
15176
15177	// The token for the next set of items to return. (You received this token from
15178	// a previous call.)
15179	NextToken *string `type:"string"`
15180
15181	// The ID of the Maintenance Window whose tasks should be retrieved.
15182	//
15183	// WindowId is a required field
15184	WindowId *string `min:"20" type:"string" required:"true"`
15185}
15186
15187// String returns the string representation
15188func (s DescribeMaintenanceWindowTasksInput) String() string {
15189	return awsutil.Prettify(s)
15190}
15191
15192// GoString returns the string representation
15193func (s DescribeMaintenanceWindowTasksInput) GoString() string {
15194	return s.String()
15195}
15196
15197// Validate inspects the fields of the type to determine if they are valid.
15198func (s *DescribeMaintenanceWindowTasksInput) Validate() error {
15199	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTasksInput"}
15200	if s.MaxResults != nil && *s.MaxResults < 10 {
15201		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
15202	}
15203	if s.WindowId == nil {
15204		invalidParams.Add(request.NewErrParamRequired("WindowId"))
15205	}
15206	if s.WindowId != nil && len(*s.WindowId) < 20 {
15207		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
15208	}
15209	if s.Filters != nil {
15210		for i, v := range s.Filters {
15211			if v == nil {
15212				continue
15213			}
15214			if err := v.Validate(); err != nil {
15215				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15216			}
15217		}
15218	}
15219
15220	if invalidParams.Len() > 0 {
15221		return invalidParams
15222	}
15223	return nil
15224}
15225
15226// SetFilters sets the Filters field's value.
15227func (s *DescribeMaintenanceWindowTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTasksInput {
15228	s.Filters = v
15229	return s
15230}
15231
15232// SetMaxResults sets the MaxResults field's value.
15233func (s *DescribeMaintenanceWindowTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTasksInput {
15234	s.MaxResults = &v
15235	return s
15236}
15237
15238// SetNextToken sets the NextToken field's value.
15239func (s *DescribeMaintenanceWindowTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowTasksInput {
15240	s.NextToken = &v
15241	return s
15242}
15243
15244// SetWindowId sets the WindowId field's value.
15245func (s *DescribeMaintenanceWindowTasksInput) SetWindowId(v string) *DescribeMaintenanceWindowTasksInput {
15246	s.WindowId = &v
15247	return s
15248}
15249
15250// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasksResult
15251type DescribeMaintenanceWindowTasksOutput struct {
15252	_ struct{} `type:"structure"`
15253
15254	// The token to use when requesting the next set of items. If there are no additional
15255	// items to return, the string is empty.
15256	NextToken *string `type:"string"`
15257
15258	// Information about the tasks in the Maintenance Window.
15259	Tasks []*MaintenanceWindowTask `type:"list"`
15260}
15261
15262// String returns the string representation
15263func (s DescribeMaintenanceWindowTasksOutput) String() string {
15264	return awsutil.Prettify(s)
15265}
15266
15267// GoString returns the string representation
15268func (s DescribeMaintenanceWindowTasksOutput) GoString() string {
15269	return s.String()
15270}
15271
15272// SetNextToken sets the NextToken field's value.
15273func (s *DescribeMaintenanceWindowTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowTasksOutput {
15274	s.NextToken = &v
15275	return s
15276}
15277
15278// SetTasks sets the Tasks field's value.
15279func (s *DescribeMaintenanceWindowTasksOutput) SetTasks(v []*MaintenanceWindowTask) *DescribeMaintenanceWindowTasksOutput {
15280	s.Tasks = v
15281	return s
15282}
15283
15284// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsRequest
15285type DescribeMaintenanceWindowsInput struct {
15286	_ struct{} `type:"structure"`
15287
15288	// Optional filters used to narrow down the scope of the returned Maintenance
15289	// Windows. Supported filter keys are Name and Enabled.
15290	Filters []*MaintenanceWindowFilter `type:"list"`
15291
15292	// The maximum number of items to return for this call. The call also returns
15293	// a token that you can specify in a subsequent call to get the next set of
15294	// results.
15295	MaxResults *int64 `min:"10" type:"integer"`
15296
15297	// The token for the next set of items to return. (You received this token from
15298	// a previous call.)
15299	NextToken *string `type:"string"`
15300}
15301
15302// String returns the string representation
15303func (s DescribeMaintenanceWindowsInput) String() string {
15304	return awsutil.Prettify(s)
15305}
15306
15307// GoString returns the string representation
15308func (s DescribeMaintenanceWindowsInput) GoString() string {
15309	return s.String()
15310}
15311
15312// Validate inspects the fields of the type to determine if they are valid.
15313func (s *DescribeMaintenanceWindowsInput) Validate() error {
15314	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsInput"}
15315	if s.MaxResults != nil && *s.MaxResults < 10 {
15316		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
15317	}
15318	if s.Filters != nil {
15319		for i, v := range s.Filters {
15320			if v == nil {
15321				continue
15322			}
15323			if err := v.Validate(); err != nil {
15324				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15325			}
15326		}
15327	}
15328
15329	if invalidParams.Len() > 0 {
15330		return invalidParams
15331	}
15332	return nil
15333}
15334
15335// SetFilters sets the Filters field's value.
15336func (s *DescribeMaintenanceWindowsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowsInput {
15337	s.Filters = v
15338	return s
15339}
15340
15341// SetMaxResults sets the MaxResults field's value.
15342func (s *DescribeMaintenanceWindowsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsInput {
15343	s.MaxResults = &v
15344	return s
15345}
15346
15347// SetNextToken sets the NextToken field's value.
15348func (s *DescribeMaintenanceWindowsInput) SetNextToken(v string) *DescribeMaintenanceWindowsInput {
15349	s.NextToken = &v
15350	return s
15351}
15352
15353// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsResult
15354type DescribeMaintenanceWindowsOutput struct {
15355	_ struct{} `type:"structure"`
15356
15357	// The token to use when requesting the next set of items. If there are no additional
15358	// items to return, the string is empty.
15359	NextToken *string `type:"string"`
15360
15361	// Information about the Maintenance Windows.
15362	WindowIdentities []*MaintenanceWindowIdentity `type:"list"`
15363}
15364
15365// String returns the string representation
15366func (s DescribeMaintenanceWindowsOutput) String() string {
15367	return awsutil.Prettify(s)
15368}
15369
15370// GoString returns the string representation
15371func (s DescribeMaintenanceWindowsOutput) GoString() string {
15372	return s.String()
15373}
15374
15375// SetNextToken sets the NextToken field's value.
15376func (s *DescribeMaintenanceWindowsOutput) SetNextToken(v string) *DescribeMaintenanceWindowsOutput {
15377	s.NextToken = &v
15378	return s
15379}
15380
15381// SetWindowIdentities sets the WindowIdentities field's value.
15382func (s *DescribeMaintenanceWindowsOutput) SetWindowIdentities(v []*MaintenanceWindowIdentity) *DescribeMaintenanceWindowsOutput {
15383	s.WindowIdentities = v
15384	return s
15385}
15386
15387// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParametersRequest
15388type DescribeParametersInput struct {
15389	_ struct{} `type:"structure"`
15390
15391	// One or more filters. Use a filter to return a more specific list of results.
15392	Filters []*ParametersFilter `type:"list"`
15393
15394	// The maximum number of items to return for this call. The call also returns
15395	// a token that you can specify in a subsequent call to get the next set of
15396	// results.
15397	MaxResults *int64 `min:"1" type:"integer"`
15398
15399	// The token for the next set of items to return. (You received this token from
15400	// a previous call.)
15401	NextToken *string `type:"string"`
15402
15403	// Filters to limit the request results.
15404	ParameterFilters []*ParameterStringFilter `type:"list"`
15405}
15406
15407// String returns the string representation
15408func (s DescribeParametersInput) String() string {
15409	return awsutil.Prettify(s)
15410}
15411
15412// GoString returns the string representation
15413func (s DescribeParametersInput) GoString() string {
15414	return s.String()
15415}
15416
15417// Validate inspects the fields of the type to determine if they are valid.
15418func (s *DescribeParametersInput) Validate() error {
15419	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
15420	if s.MaxResults != nil && *s.MaxResults < 1 {
15421		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15422	}
15423	if s.Filters != nil {
15424		for i, v := range s.Filters {
15425			if v == nil {
15426				continue
15427			}
15428			if err := v.Validate(); err != nil {
15429				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15430			}
15431		}
15432	}
15433	if s.ParameterFilters != nil {
15434		for i, v := range s.ParameterFilters {
15435			if v == nil {
15436				continue
15437			}
15438			if err := v.Validate(); err != nil {
15439				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
15440			}
15441		}
15442	}
15443
15444	if invalidParams.Len() > 0 {
15445		return invalidParams
15446	}
15447	return nil
15448}
15449
15450// SetFilters sets the Filters field's value.
15451func (s *DescribeParametersInput) SetFilters(v []*ParametersFilter) *DescribeParametersInput {
15452	s.Filters = v
15453	return s
15454}
15455
15456// SetMaxResults sets the MaxResults field's value.
15457func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
15458	s.MaxResults = &v
15459	return s
15460}
15461
15462// SetNextToken sets the NextToken field's value.
15463func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
15464	s.NextToken = &v
15465	return s
15466}
15467
15468// SetParameterFilters sets the ParameterFilters field's value.
15469func (s *DescribeParametersInput) SetParameterFilters(v []*ParameterStringFilter) *DescribeParametersInput {
15470	s.ParameterFilters = v
15471	return s
15472}
15473
15474// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParametersResult
15475type DescribeParametersOutput struct {
15476	_ struct{} `type:"structure"`
15477
15478	// The token to use when requesting the next set of items. If there are no additional
15479	// items to return, the string is empty.
15480	NextToken *string `type:"string"`
15481
15482	// Parameters returned by the request.
15483	Parameters []*ParameterMetadata `type:"list"`
15484}
15485
15486// String returns the string representation
15487func (s DescribeParametersOutput) String() string {
15488	return awsutil.Prettify(s)
15489}
15490
15491// GoString returns the string representation
15492func (s DescribeParametersOutput) GoString() string {
15493	return s.String()
15494}
15495
15496// SetNextToken sets the NextToken field's value.
15497func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
15498	s.NextToken = &v
15499	return s
15500}
15501
15502// SetParameters sets the Parameters field's value.
15503func (s *DescribeParametersOutput) SetParameters(v []*ParameterMetadata) *DescribeParametersOutput {
15504	s.Parameters = v
15505	return s
15506}
15507
15508// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselinesRequest
15509type DescribePatchBaselinesInput struct {
15510	_ struct{} `type:"structure"`
15511
15512	// Each element in the array is a structure containing:
15513	//
15514	// Key: (string, "NAME_PREFIX" or "OWNER")
15515	//
15516	// Value: (array of strings, exactly 1 entry, between 1 and 255 characters)
15517	Filters []*PatchOrchestratorFilter `type:"list"`
15518
15519	// The maximum number of patch baselines to return (per page).
15520	MaxResults *int64 `min:"1" type:"integer"`
15521
15522	// The token for the next set of items to return. (You received this token from
15523	// a previous call.)
15524	NextToken *string `type:"string"`
15525}
15526
15527// String returns the string representation
15528func (s DescribePatchBaselinesInput) String() string {
15529	return awsutil.Prettify(s)
15530}
15531
15532// GoString returns the string representation
15533func (s DescribePatchBaselinesInput) GoString() string {
15534	return s.String()
15535}
15536
15537// Validate inspects the fields of the type to determine if they are valid.
15538func (s *DescribePatchBaselinesInput) Validate() error {
15539	invalidParams := request.ErrInvalidParams{Context: "DescribePatchBaselinesInput"}
15540	if s.MaxResults != nil && *s.MaxResults < 1 {
15541		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15542	}
15543	if s.Filters != nil {
15544		for i, v := range s.Filters {
15545			if v == nil {
15546				continue
15547			}
15548			if err := v.Validate(); err != nil {
15549				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15550			}
15551		}
15552	}
15553
15554	if invalidParams.Len() > 0 {
15555		return invalidParams
15556	}
15557	return nil
15558}
15559
15560// SetFilters sets the Filters field's value.
15561func (s *DescribePatchBaselinesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchBaselinesInput {
15562	s.Filters = v
15563	return s
15564}
15565
15566// SetMaxResults sets the MaxResults field's value.
15567func (s *DescribePatchBaselinesInput) SetMaxResults(v int64) *DescribePatchBaselinesInput {
15568	s.MaxResults = &v
15569	return s
15570}
15571
15572// SetNextToken sets the NextToken field's value.
15573func (s *DescribePatchBaselinesInput) SetNextToken(v string) *DescribePatchBaselinesInput {
15574	s.NextToken = &v
15575	return s
15576}
15577
15578// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselinesResult
15579type DescribePatchBaselinesOutput struct {
15580	_ struct{} `type:"structure"`
15581
15582	// An array of PatchBaselineIdentity elements.
15583	BaselineIdentities []*PatchBaselineIdentity `type:"list"`
15584
15585	// The token to use when requesting the next set of items. If there are no additional
15586	// items to return, the string is empty.
15587	NextToken *string `type:"string"`
15588}
15589
15590// String returns the string representation
15591func (s DescribePatchBaselinesOutput) String() string {
15592	return awsutil.Prettify(s)
15593}
15594
15595// GoString returns the string representation
15596func (s DescribePatchBaselinesOutput) GoString() string {
15597	return s.String()
15598}
15599
15600// SetBaselineIdentities sets the BaselineIdentities field's value.
15601func (s *DescribePatchBaselinesOutput) SetBaselineIdentities(v []*PatchBaselineIdentity) *DescribePatchBaselinesOutput {
15602	s.BaselineIdentities = v
15603	return s
15604}
15605
15606// SetNextToken sets the NextToken field's value.
15607func (s *DescribePatchBaselinesOutput) SetNextToken(v string) *DescribePatchBaselinesOutput {
15608	s.NextToken = &v
15609	return s
15610}
15611
15612// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupStateRequest
15613type DescribePatchGroupStateInput struct {
15614	_ struct{} `type:"structure"`
15615
15616	// The name of the patch group whose patch snapshot should be retrieved.
15617	//
15618	// PatchGroup is a required field
15619	PatchGroup *string `min:"1" type:"string" required:"true"`
15620}
15621
15622// String returns the string representation
15623func (s DescribePatchGroupStateInput) String() string {
15624	return awsutil.Prettify(s)
15625}
15626
15627// GoString returns the string representation
15628func (s DescribePatchGroupStateInput) GoString() string {
15629	return s.String()
15630}
15631
15632// Validate inspects the fields of the type to determine if they are valid.
15633func (s *DescribePatchGroupStateInput) Validate() error {
15634	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupStateInput"}
15635	if s.PatchGroup == nil {
15636		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
15637	}
15638	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
15639		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
15640	}
15641
15642	if invalidParams.Len() > 0 {
15643		return invalidParams
15644	}
15645	return nil
15646}
15647
15648// SetPatchGroup sets the PatchGroup field's value.
15649func (s *DescribePatchGroupStateInput) SetPatchGroup(v string) *DescribePatchGroupStateInput {
15650	s.PatchGroup = &v
15651	return s
15652}
15653
15654// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupStateResult
15655type DescribePatchGroupStateOutput struct {
15656	_ struct{} `type:"structure"`
15657
15658	// The number of instances in the patch group.
15659	Instances *int64 `type:"integer"`
15660
15661	// The number of instances with patches from the patch baseline that failed
15662	// to install.
15663	InstancesWithFailedPatches *int64 `type:"integer"`
15664
15665	// The number of instances with patches installed that aren't defined in the
15666	// patch baseline.
15667	InstancesWithInstalledOtherPatches *int64 `type:"integer"`
15668
15669	// The number of instances with installed patches.
15670	InstancesWithInstalledPatches *int64 `type:"integer"`
15671
15672	// The number of instances with missing patches from the patch baseline.
15673	InstancesWithMissingPatches *int64 `type:"integer"`
15674
15675	// The number of instances with patches that aren't applicable.
15676	InstancesWithNotApplicablePatches *int64 `type:"integer"`
15677}
15678
15679// String returns the string representation
15680func (s DescribePatchGroupStateOutput) String() string {
15681	return awsutil.Prettify(s)
15682}
15683
15684// GoString returns the string representation
15685func (s DescribePatchGroupStateOutput) GoString() string {
15686	return s.String()
15687}
15688
15689// SetInstances sets the Instances field's value.
15690func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGroupStateOutput {
15691	s.Instances = &v
15692	return s
15693}
15694
15695// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value.
15696func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput {
15697	s.InstancesWithFailedPatches = &v
15698	return s
15699}
15700
15701// SetInstancesWithInstalledOtherPatches sets the InstancesWithInstalledOtherPatches field's value.
15702func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledOtherPatches(v int64) *DescribePatchGroupStateOutput {
15703	s.InstancesWithInstalledOtherPatches = &v
15704	return s
15705}
15706
15707// SetInstancesWithInstalledPatches sets the InstancesWithInstalledPatches field's value.
15708func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64) *DescribePatchGroupStateOutput {
15709	s.InstancesWithInstalledPatches = &v
15710	return s
15711}
15712
15713// SetInstancesWithMissingPatches sets the InstancesWithMissingPatches field's value.
15714func (s *DescribePatchGroupStateOutput) SetInstancesWithMissingPatches(v int64) *DescribePatchGroupStateOutput {
15715	s.InstancesWithMissingPatches = &v
15716	return s
15717}
15718
15719// SetInstancesWithNotApplicablePatches sets the InstancesWithNotApplicablePatches field's value.
15720func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
15721	s.InstancesWithNotApplicablePatches = &v
15722	return s
15723}
15724
15725// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupsRequest
15726type DescribePatchGroupsInput struct {
15727	_ struct{} `type:"structure"`
15728
15729	// One or more filters. Use a filter to return a more specific list of results.
15730	Filters []*PatchOrchestratorFilter `type:"list"`
15731
15732	// The maximum number of patch groups to return (per page).
15733	MaxResults *int64 `min:"1" type:"integer"`
15734
15735	// The token for the next set of items to return. (You received this token from
15736	// a previous call.)
15737	NextToken *string `type:"string"`
15738}
15739
15740// String returns the string representation
15741func (s DescribePatchGroupsInput) String() string {
15742	return awsutil.Prettify(s)
15743}
15744
15745// GoString returns the string representation
15746func (s DescribePatchGroupsInput) GoString() string {
15747	return s.String()
15748}
15749
15750// Validate inspects the fields of the type to determine if they are valid.
15751func (s *DescribePatchGroupsInput) Validate() error {
15752	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupsInput"}
15753	if s.MaxResults != nil && *s.MaxResults < 1 {
15754		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15755	}
15756	if s.Filters != nil {
15757		for i, v := range s.Filters {
15758			if v == nil {
15759				continue
15760			}
15761			if err := v.Validate(); err != nil {
15762				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15763			}
15764		}
15765	}
15766
15767	if invalidParams.Len() > 0 {
15768		return invalidParams
15769	}
15770	return nil
15771}
15772
15773// SetFilters sets the Filters field's value.
15774func (s *DescribePatchGroupsInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchGroupsInput {
15775	s.Filters = v
15776	return s
15777}
15778
15779// SetMaxResults sets the MaxResults field's value.
15780func (s *DescribePatchGroupsInput) SetMaxResults(v int64) *DescribePatchGroupsInput {
15781	s.MaxResults = &v
15782	return s
15783}
15784
15785// SetNextToken sets the NextToken field's value.
15786func (s *DescribePatchGroupsInput) SetNextToken(v string) *DescribePatchGroupsInput {
15787	s.NextToken = &v
15788	return s
15789}
15790
15791// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupsResult
15792type DescribePatchGroupsOutput struct {
15793	_ struct{} `type:"structure"`
15794
15795	// Each entry in the array contains:
15796	//
15797	// PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$)
15798	//
15799	// PatchBaselineIdentity: A PatchBaselineIdentity element.
15800	Mappings []*PatchGroupPatchBaselineMapping `type:"list"`
15801
15802	// The token to use when requesting the next set of items. If there are no additional
15803	// items to return, the string is empty.
15804	NextToken *string `type:"string"`
15805}
15806
15807// String returns the string representation
15808func (s DescribePatchGroupsOutput) String() string {
15809	return awsutil.Prettify(s)
15810}
15811
15812// GoString returns the string representation
15813func (s DescribePatchGroupsOutput) GoString() string {
15814	return s.String()
15815}
15816
15817// SetMappings sets the Mappings field's value.
15818func (s *DescribePatchGroupsOutput) SetMappings(v []*PatchGroupPatchBaselineMapping) *DescribePatchGroupsOutput {
15819	s.Mappings = v
15820	return s
15821}
15822
15823// SetNextToken sets the NextToken field's value.
15824func (s *DescribePatchGroupsOutput) SetNextToken(v string) *DescribePatchGroupsOutput {
15825	s.NextToken = &v
15826	return s
15827}
15828
15829// A default version of a document.
15830// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentDefaultVersionDescription
15831type DocumentDefaultVersionDescription struct {
15832	_ struct{} `type:"structure"`
15833
15834	// The default version of the document.
15835	DefaultVersion *string `type:"string"`
15836
15837	// The name of the document.
15838	Name *string `type:"string"`
15839}
15840
15841// String returns the string representation
15842func (s DocumentDefaultVersionDescription) String() string {
15843	return awsutil.Prettify(s)
15844}
15845
15846// GoString returns the string representation
15847func (s DocumentDefaultVersionDescription) GoString() string {
15848	return s.String()
15849}
15850
15851// SetDefaultVersion sets the DefaultVersion field's value.
15852func (s *DocumentDefaultVersionDescription) SetDefaultVersion(v string) *DocumentDefaultVersionDescription {
15853	s.DefaultVersion = &v
15854	return s
15855}
15856
15857// SetName sets the Name field's value.
15858func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription {
15859	s.Name = &v
15860	return s
15861}
15862
15863// Describes a Systems Manager document.
15864// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentDescription
15865type DocumentDescription struct {
15866	_ struct{} `type:"structure"`
15867
15868	// The date when the document was created.
15869	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
15870
15871	// The default version.
15872	DefaultVersion *string `type:"string"`
15873
15874	// A description of the document.
15875	Description *string `type:"string"`
15876
15877	// The type of document.
15878	DocumentType *string `type:"string" enum:"DocumentType"`
15879
15880	// The document version.
15881	DocumentVersion *string `type:"string"`
15882
15883	// The Sha256 or Sha1 hash created by the system when the document was created.
15884	//
15885	// Sha1 hashes have been deprecated.
15886	Hash *string `type:"string"`
15887
15888	// Sha256 or Sha1.
15889	//
15890	// Sha1 hashes have been deprecated.
15891	HashType *string `type:"string" enum:"DocumentHashType"`
15892
15893	// The latest version of the document.
15894	LatestVersion *string `type:"string"`
15895
15896	// The name of the Systems Manager document.
15897	Name *string `type:"string"`
15898
15899	// The AWS user account that created the document.
15900	Owner *string `type:"string"`
15901
15902	// A description of the parameters for a document.
15903	Parameters []*DocumentParameter `locationNameList:"DocumentParameter" type:"list"`
15904
15905	// The list of OS platforms compatible with this Systems Manager document.
15906	PlatformTypes []*string `locationNameList:"PlatformType" type:"list"`
15907
15908	// The schema version.
15909	SchemaVersion *string `type:"string"`
15910
15911	// The SHA1 hash of the document, which you can use for verification.
15912	Sha1 *string `type:"string"`
15913
15914	// The status of the Systems Manager document.
15915	Status *string `type:"string" enum:"DocumentStatus"`
15916
15917	// The tags, or metadata, that have been applied to the document.
15918	Tags []*Tag `type:"list"`
15919}
15920
15921// String returns the string representation
15922func (s DocumentDescription) String() string {
15923	return awsutil.Prettify(s)
15924}
15925
15926// GoString returns the string representation
15927func (s DocumentDescription) GoString() string {
15928	return s.String()
15929}
15930
15931// SetCreatedDate sets the CreatedDate field's value.
15932func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription {
15933	s.CreatedDate = &v
15934	return s
15935}
15936
15937// SetDefaultVersion sets the DefaultVersion field's value.
15938func (s *DocumentDescription) SetDefaultVersion(v string) *DocumentDescription {
15939	s.DefaultVersion = &v
15940	return s
15941}
15942
15943// SetDescription sets the Description field's value.
15944func (s *DocumentDescription) SetDescription(v string) *DocumentDescription {
15945	s.Description = &v
15946	return s
15947}
15948
15949// SetDocumentType sets the DocumentType field's value.
15950func (s *DocumentDescription) SetDocumentType(v string) *DocumentDescription {
15951	s.DocumentType = &v
15952	return s
15953}
15954
15955// SetDocumentVersion sets the DocumentVersion field's value.
15956func (s *DocumentDescription) SetDocumentVersion(v string) *DocumentDescription {
15957	s.DocumentVersion = &v
15958	return s
15959}
15960
15961// SetHash sets the Hash field's value.
15962func (s *DocumentDescription) SetHash(v string) *DocumentDescription {
15963	s.Hash = &v
15964	return s
15965}
15966
15967// SetHashType sets the HashType field's value.
15968func (s *DocumentDescription) SetHashType(v string) *DocumentDescription {
15969	s.HashType = &v
15970	return s
15971}
15972
15973// SetLatestVersion sets the LatestVersion field's value.
15974func (s *DocumentDescription) SetLatestVersion(v string) *DocumentDescription {
15975	s.LatestVersion = &v
15976	return s
15977}
15978
15979// SetName sets the Name field's value.
15980func (s *DocumentDescription) SetName(v string) *DocumentDescription {
15981	s.Name = &v
15982	return s
15983}
15984
15985// SetOwner sets the Owner field's value.
15986func (s *DocumentDescription) SetOwner(v string) *DocumentDescription {
15987	s.Owner = &v
15988	return s
15989}
15990
15991// SetParameters sets the Parameters field's value.
15992func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDescription {
15993	s.Parameters = v
15994	return s
15995}
15996
15997// SetPlatformTypes sets the PlatformTypes field's value.
15998func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription {
15999	s.PlatformTypes = v
16000	return s
16001}
16002
16003// SetSchemaVersion sets the SchemaVersion field's value.
16004func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription {
16005	s.SchemaVersion = &v
16006	return s
16007}
16008
16009// SetSha1 sets the Sha1 field's value.
16010func (s *DocumentDescription) SetSha1(v string) *DocumentDescription {
16011	s.Sha1 = &v
16012	return s
16013}
16014
16015// SetStatus sets the Status field's value.
16016func (s *DocumentDescription) SetStatus(v string) *DocumentDescription {
16017	s.Status = &v
16018	return s
16019}
16020
16021// SetTags sets the Tags field's value.
16022func (s *DocumentDescription) SetTags(v []*Tag) *DocumentDescription {
16023	s.Tags = v
16024	return s
16025}
16026
16027// Describes a filter.
16028// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentFilter
16029type DocumentFilter struct {
16030	_ struct{} `type:"structure"`
16031
16032	// The name of the filter.
16033	//
16034	// Key is a required field
16035	Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"`
16036
16037	// The value of the filter.
16038	//
16039	// Value is a required field
16040	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
16041}
16042
16043// String returns the string representation
16044func (s DocumentFilter) String() string {
16045	return awsutil.Prettify(s)
16046}
16047
16048// GoString returns the string representation
16049func (s DocumentFilter) GoString() string {
16050	return s.String()
16051}
16052
16053// Validate inspects the fields of the type to determine if they are valid.
16054func (s *DocumentFilter) Validate() error {
16055	invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"}
16056	if s.Key == nil {
16057		invalidParams.Add(request.NewErrParamRequired("Key"))
16058	}
16059	if s.Value == nil {
16060		invalidParams.Add(request.NewErrParamRequired("Value"))
16061	}
16062	if s.Value != nil && len(*s.Value) < 1 {
16063		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16064	}
16065
16066	if invalidParams.Len() > 0 {
16067		return invalidParams
16068	}
16069	return nil
16070}
16071
16072// SetKey sets the Key field's value.
16073func (s *DocumentFilter) SetKey(v string) *DocumentFilter {
16074	s.Key = &v
16075	return s
16076}
16077
16078// SetValue sets the Value field's value.
16079func (s *DocumentFilter) SetValue(v string) *DocumentFilter {
16080	s.Value = &v
16081	return s
16082}
16083
16084// Describes the name of a Systems Manager document.
16085// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentIdentifier
16086type DocumentIdentifier struct {
16087	_ struct{} `type:"structure"`
16088
16089	// The document type.
16090	DocumentType *string `type:"string" enum:"DocumentType"`
16091
16092	// The document version.
16093	DocumentVersion *string `type:"string"`
16094
16095	// The name of the Systems Manager document.
16096	Name *string `type:"string"`
16097
16098	// The AWS user account that created the document.
16099	Owner *string `type:"string"`
16100
16101	// The operating system platform.
16102	PlatformTypes []*string `locationNameList:"PlatformType" type:"list"`
16103
16104	// The schema version.
16105	SchemaVersion *string `type:"string"`
16106
16107	// The tags, or metadata, that have been applied to the document.
16108	Tags []*Tag `type:"list"`
16109}
16110
16111// String returns the string representation
16112func (s DocumentIdentifier) String() string {
16113	return awsutil.Prettify(s)
16114}
16115
16116// GoString returns the string representation
16117func (s DocumentIdentifier) GoString() string {
16118	return s.String()
16119}
16120
16121// SetDocumentType sets the DocumentType field's value.
16122func (s *DocumentIdentifier) SetDocumentType(v string) *DocumentIdentifier {
16123	s.DocumentType = &v
16124	return s
16125}
16126
16127// SetDocumentVersion sets the DocumentVersion field's value.
16128func (s *DocumentIdentifier) SetDocumentVersion(v string) *DocumentIdentifier {
16129	s.DocumentVersion = &v
16130	return s
16131}
16132
16133// SetName sets the Name field's value.
16134func (s *DocumentIdentifier) SetName(v string) *DocumentIdentifier {
16135	s.Name = &v
16136	return s
16137}
16138
16139// SetOwner sets the Owner field's value.
16140func (s *DocumentIdentifier) SetOwner(v string) *DocumentIdentifier {
16141	s.Owner = &v
16142	return s
16143}
16144
16145// SetPlatformTypes sets the PlatformTypes field's value.
16146func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier {
16147	s.PlatformTypes = v
16148	return s
16149}
16150
16151// SetSchemaVersion sets the SchemaVersion field's value.
16152func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier {
16153	s.SchemaVersion = &v
16154	return s
16155}
16156
16157// SetTags sets the Tags field's value.
16158func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier {
16159	s.Tags = v
16160	return s
16161}
16162
16163// One or more filters. Use a filter to return a more specific list of documents.
16164//
16165// For keys, you can specify one or more tags that have been applied to a document.
16166//
16167// Other valid values include Owner, Name, PlatformTypes, and DocumentType.
16168//
16169// Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.
16170//
16171// If you use Name as a key, you can use a name prefix to return a list of documents.
16172// For example, in the AWS CLI, to return a list of all documents that begin
16173// with Te, run the following command:
16174//
16175// aws ssm list-documents --filters Key=Name,Values=Te
16176//
16177// If you specify more than two keys, only documents that are identified by
16178// all the tags are returned in the results. If you specify more than two values
16179// for a key, documents that are identified by any of the values are returned
16180// in the results.
16181//
16182// To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName].
16183//
16184// For example, if you created a Key called region and are using the AWS CLI
16185// to call the list-documents command:
16186//
16187// aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
16188// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentKeyValuesFilter
16189type DocumentKeyValuesFilter struct {
16190	_ struct{} `type:"structure"`
16191
16192	// The name of the filter key.
16193	Key *string `min:"1" type:"string"`
16194
16195	// The value for the filter key.
16196	Values []*string `type:"list"`
16197}
16198
16199// String returns the string representation
16200func (s DocumentKeyValuesFilter) String() string {
16201	return awsutil.Prettify(s)
16202}
16203
16204// GoString returns the string representation
16205func (s DocumentKeyValuesFilter) GoString() string {
16206	return s.String()
16207}
16208
16209// Validate inspects the fields of the type to determine if they are valid.
16210func (s *DocumentKeyValuesFilter) Validate() error {
16211	invalidParams := request.ErrInvalidParams{Context: "DocumentKeyValuesFilter"}
16212	if s.Key != nil && len(*s.Key) < 1 {
16213		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16214	}
16215
16216	if invalidParams.Len() > 0 {
16217		return invalidParams
16218	}
16219	return nil
16220}
16221
16222// SetKey sets the Key field's value.
16223func (s *DocumentKeyValuesFilter) SetKey(v string) *DocumentKeyValuesFilter {
16224	s.Key = &v
16225	return s
16226}
16227
16228// SetValues sets the Values field's value.
16229func (s *DocumentKeyValuesFilter) SetValues(v []*string) *DocumentKeyValuesFilter {
16230	s.Values = v
16231	return s
16232}
16233
16234// Parameters specified in a System Manager document that execute on the server
16235// when the command is run.
16236// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentParameter
16237type DocumentParameter struct {
16238	_ struct{} `type:"structure"`
16239
16240	// If specified, the default values for the parameters. Parameters without a
16241	// default value are required. Parameters with a default value are optional.
16242	DefaultValue *string `type:"string"`
16243
16244	// A description of what the parameter does, how to use it, the default value,
16245	// and whether or not the parameter is optional.
16246	Description *string `type:"string"`
16247
16248	// The name of the parameter.
16249	Name *string `type:"string"`
16250
16251	// The type of parameter. The type can be either String or StringList.
16252	Type *string `type:"string" enum:"DocumentParameterType"`
16253}
16254
16255// String returns the string representation
16256func (s DocumentParameter) String() string {
16257	return awsutil.Prettify(s)
16258}
16259
16260// GoString returns the string representation
16261func (s DocumentParameter) GoString() string {
16262	return s.String()
16263}
16264
16265// SetDefaultValue sets the DefaultValue field's value.
16266func (s *DocumentParameter) SetDefaultValue(v string) *DocumentParameter {
16267	s.DefaultValue = &v
16268	return s
16269}
16270
16271// SetDescription sets the Description field's value.
16272func (s *DocumentParameter) SetDescription(v string) *DocumentParameter {
16273	s.Description = &v
16274	return s
16275}
16276
16277// SetName sets the Name field's value.
16278func (s *DocumentParameter) SetName(v string) *DocumentParameter {
16279	s.Name = &v
16280	return s
16281}
16282
16283// SetType sets the Type field's value.
16284func (s *DocumentParameter) SetType(v string) *DocumentParameter {
16285	s.Type = &v
16286	return s
16287}
16288
16289// Version information about the document.
16290// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentVersionInfo
16291type DocumentVersionInfo struct {
16292	_ struct{} `type:"structure"`
16293
16294	// The date the document was created.
16295	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
16296
16297	// The document version.
16298	DocumentVersion *string `type:"string"`
16299
16300	// An identifier for the default version of the document.
16301	IsDefaultVersion *bool `type:"boolean"`
16302
16303	// The document name.
16304	Name *string `type:"string"`
16305}
16306
16307// String returns the string representation
16308func (s DocumentVersionInfo) String() string {
16309	return awsutil.Prettify(s)
16310}
16311
16312// GoString returns the string representation
16313func (s DocumentVersionInfo) GoString() string {
16314	return s.String()
16315}
16316
16317// SetCreatedDate sets the CreatedDate field's value.
16318func (s *DocumentVersionInfo) SetCreatedDate(v time.Time) *DocumentVersionInfo {
16319	s.CreatedDate = &v
16320	return s
16321}
16322
16323// SetDocumentVersion sets the DocumentVersion field's value.
16324func (s *DocumentVersionInfo) SetDocumentVersion(v string) *DocumentVersionInfo {
16325	s.DocumentVersion = &v
16326	return s
16327}
16328
16329// SetIsDefaultVersion sets the IsDefaultVersion field's value.
16330func (s *DocumentVersionInfo) SetIsDefaultVersion(v bool) *DocumentVersionInfo {
16331	s.IsDefaultVersion = &v
16332	return s
16333}
16334
16335// SetName sets the Name field's value.
16336func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo {
16337	s.Name = &v
16338	return s
16339}
16340
16341// The EffectivePatch structure defines metadata about a patch along with the
16342// approval state of the patch in a particular patch baseline. The approval
16343// state includes information about whether the patch is currently approved,
16344// due to be approved by a rule, explicitly approved, or explicitly rejected
16345// and the date the patch was or will be approved.
16346// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/EffectivePatch
16347type EffectivePatch struct {
16348	_ struct{} `type:"structure"`
16349
16350	// Provides metadata for a patch, including information such as the KB ID, severity,
16351	// classification and a URL for where more information can be obtained about
16352	// the patch.
16353	Patch *Patch `type:"structure"`
16354
16355	// The status of the patch in a patch baseline. This includes information about
16356	// whether the patch is currently approved, due to be approved by a rule, explicitly
16357	// approved, or explicitly rejected and the date the patch was or will be approved.
16358	PatchStatus *PatchStatus `type:"structure"`
16359}
16360
16361// String returns the string representation
16362func (s EffectivePatch) String() string {
16363	return awsutil.Prettify(s)
16364}
16365
16366// GoString returns the string representation
16367func (s EffectivePatch) GoString() string {
16368	return s.String()
16369}
16370
16371// SetPatch sets the Patch field's value.
16372func (s *EffectivePatch) SetPatch(v *Patch) *EffectivePatch {
16373	s.Patch = v
16374	return s
16375}
16376
16377// SetPatchStatus sets the PatchStatus field's value.
16378func (s *EffectivePatch) SetPatchStatus(v *PatchStatus) *EffectivePatch {
16379	s.PatchStatus = v
16380	return s
16381}
16382
16383// Describes a failed association.
16384// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/FailedCreateAssociation
16385type FailedCreateAssociation struct {
16386	_ struct{} `type:"structure"`
16387
16388	// The association.
16389	Entry *CreateAssociationBatchRequestEntry `type:"structure"`
16390
16391	// The source of the failure.
16392	Fault *string `type:"string" enum:"Fault"`
16393
16394	// A description of the failure.
16395	Message *string `type:"string"`
16396}
16397
16398// String returns the string representation
16399func (s FailedCreateAssociation) String() string {
16400	return awsutil.Prettify(s)
16401}
16402
16403// GoString returns the string representation
16404func (s FailedCreateAssociation) GoString() string {
16405	return s.String()
16406}
16407
16408// SetEntry sets the Entry field's value.
16409func (s *FailedCreateAssociation) SetEntry(v *CreateAssociationBatchRequestEntry) *FailedCreateAssociation {
16410	s.Entry = v
16411	return s
16412}
16413
16414// SetFault sets the Fault field's value.
16415func (s *FailedCreateAssociation) SetFault(v string) *FailedCreateAssociation {
16416	s.Fault = &v
16417	return s
16418}
16419
16420// SetMessage sets the Message field's value.
16421func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation {
16422	s.Message = &v
16423	return s
16424}
16425
16426// Information about an Automation failure.
16427// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/FailureDetails
16428type FailureDetails struct {
16429	_ struct{} `type:"structure"`
16430
16431	// Detailed information about the Automation step failure.
16432	Details map[string][]*string `min:"1" type:"map"`
16433
16434	// The stage of the Automation execution when the failure occurred. The stages
16435	// include the following: InputValidation, PreVerification, Invocation, PostVerification.
16436	FailureStage *string `type:"string"`
16437
16438	// The type of Automation failure. Failure types include the following: Action,
16439	// Permission, Throttling, Verification, Internal.
16440	FailureType *string `type:"string"`
16441}
16442
16443// String returns the string representation
16444func (s FailureDetails) String() string {
16445	return awsutil.Prettify(s)
16446}
16447
16448// GoString returns the string representation
16449func (s FailureDetails) GoString() string {
16450	return s.String()
16451}
16452
16453// SetDetails sets the Details field's value.
16454func (s *FailureDetails) SetDetails(v map[string][]*string) *FailureDetails {
16455	s.Details = v
16456	return s
16457}
16458
16459// SetFailureStage sets the FailureStage field's value.
16460func (s *FailureDetails) SetFailureStage(v string) *FailureDetails {
16461	s.FailureStage = &v
16462	return s
16463}
16464
16465// SetFailureType sets the FailureType field's value.
16466func (s *FailureDetails) SetFailureType(v string) *FailureDetails {
16467	s.FailureType = &v
16468	return s
16469}
16470
16471// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecutionRequest
16472type GetAutomationExecutionInput struct {
16473	_ struct{} `type:"structure"`
16474
16475	// The unique identifier for an existing automation execution to examine. The
16476	// execution ID is returned by StartAutomationExecution when the execution of
16477	// an Automation document is initiated.
16478	//
16479	// AutomationExecutionId is a required field
16480	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
16481}
16482
16483// String returns the string representation
16484func (s GetAutomationExecutionInput) String() string {
16485	return awsutil.Prettify(s)
16486}
16487
16488// GoString returns the string representation
16489func (s GetAutomationExecutionInput) GoString() string {
16490	return s.String()
16491}
16492
16493// Validate inspects the fields of the type to determine if they are valid.
16494func (s *GetAutomationExecutionInput) Validate() error {
16495	invalidParams := request.ErrInvalidParams{Context: "GetAutomationExecutionInput"}
16496	if s.AutomationExecutionId == nil {
16497		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
16498	}
16499	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
16500		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
16501	}
16502
16503	if invalidParams.Len() > 0 {
16504		return invalidParams
16505	}
16506	return nil
16507}
16508
16509// SetAutomationExecutionId sets the AutomationExecutionId field's value.
16510func (s *GetAutomationExecutionInput) SetAutomationExecutionId(v string) *GetAutomationExecutionInput {
16511	s.AutomationExecutionId = &v
16512	return s
16513}
16514
16515// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecutionResult
16516type GetAutomationExecutionOutput struct {
16517	_ struct{} `type:"structure"`
16518
16519	// Detailed information about the current state of an automation execution.
16520	AutomationExecution *AutomationExecution `type:"structure"`
16521}
16522
16523// String returns the string representation
16524func (s GetAutomationExecutionOutput) String() string {
16525	return awsutil.Prettify(s)
16526}
16527
16528// GoString returns the string representation
16529func (s GetAutomationExecutionOutput) GoString() string {
16530	return s.String()
16531}
16532
16533// SetAutomationExecution sets the AutomationExecution field's value.
16534func (s *GetAutomationExecutionOutput) SetAutomationExecution(v *AutomationExecution) *GetAutomationExecutionOutput {
16535	s.AutomationExecution = v
16536	return s
16537}
16538
16539// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocationRequest
16540type GetCommandInvocationInput struct {
16541	_ struct{} `type:"structure"`
16542
16543	// (Required) The parent command ID of the invocation plugin.
16544	//
16545	// CommandId is a required field
16546	CommandId *string `min:"36" type:"string" required:"true"`
16547
16548	// (Required) The ID of the managed instance targeted by the command. A managed
16549	// instance can be an Amazon EC2 instance or an instance in your hybrid environment
16550	// that is configured for Systems Manager.
16551	//
16552	// InstanceId is a required field
16553	InstanceId *string `type:"string" required:"true"`
16554
16555	// (Optional) The name of the plugin for which you want detailed results. If
16556	// the document contains only one plugin, the name can be omitted and the details
16557	// will be returned.
16558	PluginName *string `min:"4" type:"string"`
16559}
16560
16561// String returns the string representation
16562func (s GetCommandInvocationInput) String() string {
16563	return awsutil.Prettify(s)
16564}
16565
16566// GoString returns the string representation
16567func (s GetCommandInvocationInput) GoString() string {
16568	return s.String()
16569}
16570
16571// Validate inspects the fields of the type to determine if they are valid.
16572func (s *GetCommandInvocationInput) Validate() error {
16573	invalidParams := request.ErrInvalidParams{Context: "GetCommandInvocationInput"}
16574	if s.CommandId == nil {
16575		invalidParams.Add(request.NewErrParamRequired("CommandId"))
16576	}
16577	if s.CommandId != nil && len(*s.CommandId) < 36 {
16578		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
16579	}
16580	if s.InstanceId == nil {
16581		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16582	}
16583	if s.PluginName != nil && len(*s.PluginName) < 4 {
16584		invalidParams.Add(request.NewErrParamMinLen("PluginName", 4))
16585	}
16586
16587	if invalidParams.Len() > 0 {
16588		return invalidParams
16589	}
16590	return nil
16591}
16592
16593// SetCommandId sets the CommandId field's value.
16594func (s *GetCommandInvocationInput) SetCommandId(v string) *GetCommandInvocationInput {
16595	s.CommandId = &v
16596	return s
16597}
16598
16599// SetInstanceId sets the InstanceId field's value.
16600func (s *GetCommandInvocationInput) SetInstanceId(v string) *GetCommandInvocationInput {
16601	s.InstanceId = &v
16602	return s
16603}
16604
16605// SetPluginName sets the PluginName field's value.
16606func (s *GetCommandInvocationInput) SetPluginName(v string) *GetCommandInvocationInput {
16607	s.PluginName = &v
16608	return s
16609}
16610
16611// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocationResult
16612type GetCommandInvocationOutput struct {
16613	_ struct{} `type:"structure"`
16614
16615	// The parent command ID of the invocation plugin.
16616	CommandId *string `min:"36" type:"string"`
16617
16618	// The comment text for the command.
16619	Comment *string `type:"string"`
16620
16621	// The name of the document that was executed. For example, AWS-RunShellScript.
16622	DocumentName *string `type:"string"`
16623
16624	// Duration since ExecutionStartDateTime.
16625	ExecutionElapsedTime *string `type:"string"`
16626
16627	// The date and time the plugin was finished executing. Date and time are written
16628	// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
16629	// The following sample AWS CLI command uses the InvokedAfter filter.
16630	//
16631	// aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z
16632	//
16633	// If the plugin has not started to execute, the string is empty.
16634	ExecutionEndDateTime *string `type:"string"`
16635
16636	// The date and time the plugin started executing. Date and time are written
16637	// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
16638	// The following sample AWS CLI command uses the InvokedBefore filter.
16639	//
16640	// aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z
16641	//
16642	// If the plugin has not started to execute, the string is empty.
16643	ExecutionStartDateTime *string `type:"string"`
16644
16645	// The ID of the managed instance targeted by the command. A managed instance
16646	// can be an Amazon EC2 instance or an instance in your hybrid environment that
16647	// is configured for Systems Manager.
16648	InstanceId *string `type:"string"`
16649
16650	// The name of the plugin for which you want detailed results. For example,
16651	// aws:RunShellScript is a plugin.
16652	PluginName *string `min:"4" type:"string"`
16653
16654	// The error level response code for the plugin script. If the response code
16655	// is -1, then the command has not started executing on the instance, or it
16656	// was not received by the instance.
16657	ResponseCode *int64 `type:"integer"`
16658
16659	// The first 8,000 characters written by the plugin to stderr. If the command
16660	// has not finished executing, then this string is empty.
16661	StandardErrorContent *string `type:"string"`
16662
16663	// The URL for the complete text written by the plugin to stderr. If the command
16664	// has not finished executing, then this string is empty.
16665	StandardErrorUrl *string `type:"string"`
16666
16667	// The first 24,000 characters written by the plugin to stdout. If the command
16668	// has not finished executing, if ExecutionStatus is neither Succeeded nor Failed,
16669	// then this string is empty.
16670	StandardOutputContent *string `type:"string"`
16671
16672	// The URL for the complete text written by the plugin to stdout in Amazon S3.
16673	// If an Amazon S3 bucket was not specified, then this string is empty.
16674	StandardOutputUrl *string `type:"string"`
16675
16676	// The status of the parent command for this invocation. This status can be
16677	// different than StatusDetails.
16678	Status *string `type:"string" enum:"CommandInvocationStatus"`
16679
16680	// A detailed status of the command execution for an invocation. StatusDetails
16681	// includes more information than Status because it includes states resulting
16682	// from error and concurrency control parameters. StatusDetails can show different
16683	// results than Status. For more information about these statuses, see Run Command
16684	// Status (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-about-status.html).
16685	// StatusDetails can be one of the following values:
16686	//
16687	//    * Pending: The command has not been sent to the instance.
16688	//
16689	//    * In Progress: The command has been sent to the instance but has not reached
16690	//    a terminal state.
16691	//
16692	//    * Delayed: The system attempted to send the command to the target, but
16693	//    the target was not available. The instance might not be available because
16694	//    of network issues, the instance was stopped, etc. The system will try
16695	//    to deliver the command again.
16696	//
16697	//    * Success: The command or plugin was executed successfully. This is a
16698	//    terminal state.
16699	//
16700	//    * Delivery Timed Out: The command was not delivered to the instance before
16701	//    the delivery timeout expired. Delivery timeouts do not count against the
16702	//    parent command's MaxErrors limit, but they do contribute to whether the
16703	//    parent command status is Success or Incomplete. This is a terminal state.
16704	//
16705	//    * Execution Timed Out: The command started to execute on the instance,
16706	//    but the execution was not complete before the timeout expired. Execution
16707	//    timeouts count against the MaxErrors limit of the parent command. This
16708	//    is a terminal state.
16709	//
16710	//    * Failed: The command wasn't executed successfully on the instance. For
16711	//    a plugin, this indicates that the result code was not zero. For a command
16712	//    invocation, this indicates that the result code for one or more plugins
16713	//    was not zero. Invocation failures count against the MaxErrors limit of
16714	//    the parent command. This is a terminal state.
16715	//
16716	//    * Canceled: The command was terminated before it was completed. This is
16717	//    a terminal state.
16718	//
16719	//    * Undeliverable: The command can't be delivered to the instance. The instance
16720	//    might not exist or might not be responding. Undeliverable invocations
16721	//    don't count against the parent command's MaxErrors limit and don't contribute
16722	//    to whether the parent command status is Success or Incomplete. This is
16723	//    a terminal state.
16724	//
16725	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
16726	//    command invocations were canceled by the system. This is a terminal state.
16727	StatusDetails *string `type:"string"`
16728}
16729
16730// String returns the string representation
16731func (s GetCommandInvocationOutput) String() string {
16732	return awsutil.Prettify(s)
16733}
16734
16735// GoString returns the string representation
16736func (s GetCommandInvocationOutput) GoString() string {
16737	return s.String()
16738}
16739
16740// SetCommandId sets the CommandId field's value.
16741func (s *GetCommandInvocationOutput) SetCommandId(v string) *GetCommandInvocationOutput {
16742	s.CommandId = &v
16743	return s
16744}
16745
16746// SetComment sets the Comment field's value.
16747func (s *GetCommandInvocationOutput) SetComment(v string) *GetCommandInvocationOutput {
16748	s.Comment = &v
16749	return s
16750}
16751
16752// SetDocumentName sets the DocumentName field's value.
16753func (s *GetCommandInvocationOutput) SetDocumentName(v string) *GetCommandInvocationOutput {
16754	s.DocumentName = &v
16755	return s
16756}
16757
16758// SetExecutionElapsedTime sets the ExecutionElapsedTime field's value.
16759func (s *GetCommandInvocationOutput) SetExecutionElapsedTime(v string) *GetCommandInvocationOutput {
16760	s.ExecutionElapsedTime = &v
16761	return s
16762}
16763
16764// SetExecutionEndDateTime sets the ExecutionEndDateTime field's value.
16765func (s *GetCommandInvocationOutput) SetExecutionEndDateTime(v string) *GetCommandInvocationOutput {
16766	s.ExecutionEndDateTime = &v
16767	return s
16768}
16769
16770// SetExecutionStartDateTime sets the ExecutionStartDateTime field's value.
16771func (s *GetCommandInvocationOutput) SetExecutionStartDateTime(v string) *GetCommandInvocationOutput {
16772	s.ExecutionStartDateTime = &v
16773	return s
16774}
16775
16776// SetInstanceId sets the InstanceId field's value.
16777func (s *GetCommandInvocationOutput) SetInstanceId(v string) *GetCommandInvocationOutput {
16778	s.InstanceId = &v
16779	return s
16780}
16781
16782// SetPluginName sets the PluginName field's value.
16783func (s *GetCommandInvocationOutput) SetPluginName(v string) *GetCommandInvocationOutput {
16784	s.PluginName = &v
16785	return s
16786}
16787
16788// SetResponseCode sets the ResponseCode field's value.
16789func (s *GetCommandInvocationOutput) SetResponseCode(v int64) *GetCommandInvocationOutput {
16790	s.ResponseCode = &v
16791	return s
16792}
16793
16794// SetStandardErrorContent sets the StandardErrorContent field's value.
16795func (s *GetCommandInvocationOutput) SetStandardErrorContent(v string) *GetCommandInvocationOutput {
16796	s.StandardErrorContent = &v
16797	return s
16798}
16799
16800// SetStandardErrorUrl sets the StandardErrorUrl field's value.
16801func (s *GetCommandInvocationOutput) SetStandardErrorUrl(v string) *GetCommandInvocationOutput {
16802	s.StandardErrorUrl = &v
16803	return s
16804}
16805
16806// SetStandardOutputContent sets the StandardOutputContent field's value.
16807func (s *GetCommandInvocationOutput) SetStandardOutputContent(v string) *GetCommandInvocationOutput {
16808	s.StandardOutputContent = &v
16809	return s
16810}
16811
16812// SetStandardOutputUrl sets the StandardOutputUrl field's value.
16813func (s *GetCommandInvocationOutput) SetStandardOutputUrl(v string) *GetCommandInvocationOutput {
16814	s.StandardOutputUrl = &v
16815	return s
16816}
16817
16818// SetStatus sets the Status field's value.
16819func (s *GetCommandInvocationOutput) SetStatus(v string) *GetCommandInvocationOutput {
16820	s.Status = &v
16821	return s
16822}
16823
16824// SetStatusDetails sets the StatusDetails field's value.
16825func (s *GetCommandInvocationOutput) SetStatusDetails(v string) *GetCommandInvocationOutput {
16826	s.StatusDetails = &v
16827	return s
16828}
16829
16830// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaselineRequest
16831type GetDefaultPatchBaselineInput struct {
16832	_ struct{} `type:"structure"`
16833
16834	// Returns the default patch baseline for the specified operating system.
16835	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
16836}
16837
16838// String returns the string representation
16839func (s GetDefaultPatchBaselineInput) String() string {
16840	return awsutil.Prettify(s)
16841}
16842
16843// GoString returns the string representation
16844func (s GetDefaultPatchBaselineInput) GoString() string {
16845	return s.String()
16846}
16847
16848// SetOperatingSystem sets the OperatingSystem field's value.
16849func (s *GetDefaultPatchBaselineInput) SetOperatingSystem(v string) *GetDefaultPatchBaselineInput {
16850	s.OperatingSystem = &v
16851	return s
16852}
16853
16854// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaselineResult
16855type GetDefaultPatchBaselineOutput struct {
16856	_ struct{} `type:"structure"`
16857
16858	// The ID of the default patch baseline.
16859	BaselineId *string `min:"20" type:"string"`
16860
16861	// The operating system for the returned patch baseline.
16862	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
16863}
16864
16865// String returns the string representation
16866func (s GetDefaultPatchBaselineOutput) String() string {
16867	return awsutil.Prettify(s)
16868}
16869
16870// GoString returns the string representation
16871func (s GetDefaultPatchBaselineOutput) GoString() string {
16872	return s.String()
16873}
16874
16875// SetBaselineId sets the BaselineId field's value.
16876func (s *GetDefaultPatchBaselineOutput) SetBaselineId(v string) *GetDefaultPatchBaselineOutput {
16877	s.BaselineId = &v
16878	return s
16879}
16880
16881// SetOperatingSystem sets the OperatingSystem field's value.
16882func (s *GetDefaultPatchBaselineOutput) SetOperatingSystem(v string) *GetDefaultPatchBaselineOutput {
16883	s.OperatingSystem = &v
16884	return s
16885}
16886
16887// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstanceRequest
16888type GetDeployablePatchSnapshotForInstanceInput struct {
16889	_ struct{} `type:"structure"`
16890
16891	// The ID of the instance for which the appropriate patch snapshot should be
16892	// retrieved.
16893	//
16894	// InstanceId is a required field
16895	InstanceId *string `type:"string" required:"true"`
16896
16897	// The user-defined snapshot ID.
16898	//
16899	// SnapshotId is a required field
16900	SnapshotId *string `min:"36" type:"string" required:"true"`
16901}
16902
16903// String returns the string representation
16904func (s GetDeployablePatchSnapshotForInstanceInput) String() string {
16905	return awsutil.Prettify(s)
16906}
16907
16908// GoString returns the string representation
16909func (s GetDeployablePatchSnapshotForInstanceInput) GoString() string {
16910	return s.String()
16911}
16912
16913// Validate inspects the fields of the type to determine if they are valid.
16914func (s *GetDeployablePatchSnapshotForInstanceInput) Validate() error {
16915	invalidParams := request.ErrInvalidParams{Context: "GetDeployablePatchSnapshotForInstanceInput"}
16916	if s.InstanceId == nil {
16917		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16918	}
16919	if s.SnapshotId == nil {
16920		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
16921	}
16922	if s.SnapshotId != nil && len(*s.SnapshotId) < 36 {
16923		invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 36))
16924	}
16925
16926	if invalidParams.Len() > 0 {
16927		return invalidParams
16928	}
16929	return nil
16930}
16931
16932// SetInstanceId sets the InstanceId field's value.
16933func (s *GetDeployablePatchSnapshotForInstanceInput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceInput {
16934	s.InstanceId = &v
16935	return s
16936}
16937
16938// SetSnapshotId sets the SnapshotId field's value.
16939func (s *GetDeployablePatchSnapshotForInstanceInput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceInput {
16940	s.SnapshotId = &v
16941	return s
16942}
16943
16944// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstanceResult
16945type GetDeployablePatchSnapshotForInstanceOutput struct {
16946	_ struct{} `type:"structure"`
16947
16948	// The ID of the instance.
16949	InstanceId *string `type:"string"`
16950
16951	// Returns the specific operating system (for example Windows Server 2012 or
16952	// Amazon Linux 2015.09) on the instance for the specified patch snapshot.
16953	Product *string `type:"string"`
16954
16955	// A pre-signed Amazon S3 URL that can be used to download the patch snapshot.
16956	SnapshotDownloadUrl *string `type:"string"`
16957
16958	// The user-defined snapshot ID.
16959	SnapshotId *string `min:"36" type:"string"`
16960}
16961
16962// String returns the string representation
16963func (s GetDeployablePatchSnapshotForInstanceOutput) String() string {
16964	return awsutil.Prettify(s)
16965}
16966
16967// GoString returns the string representation
16968func (s GetDeployablePatchSnapshotForInstanceOutput) GoString() string {
16969	return s.String()
16970}
16971
16972// SetInstanceId sets the InstanceId field's value.
16973func (s *GetDeployablePatchSnapshotForInstanceOutput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
16974	s.InstanceId = &v
16975	return s
16976}
16977
16978// SetProduct sets the Product field's value.
16979func (s *GetDeployablePatchSnapshotForInstanceOutput) SetProduct(v string) *GetDeployablePatchSnapshotForInstanceOutput {
16980	s.Product = &v
16981	return s
16982}
16983
16984// SetSnapshotDownloadUrl sets the SnapshotDownloadUrl field's value.
16985func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotDownloadUrl(v string) *GetDeployablePatchSnapshotForInstanceOutput {
16986	s.SnapshotDownloadUrl = &v
16987	return s
16988}
16989
16990// SetSnapshotId sets the SnapshotId field's value.
16991func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
16992	s.SnapshotId = &v
16993	return s
16994}
16995
16996// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocumentRequest
16997type GetDocumentInput struct {
16998	_ struct{} `type:"structure"`
16999
17000	// The document version for which you want information.
17001	DocumentVersion *string `type:"string"`
17002
17003	// The name of the Systems Manager document.
17004	//
17005	// Name is a required field
17006	Name *string `type:"string" required:"true"`
17007}
17008
17009// String returns the string representation
17010func (s GetDocumentInput) String() string {
17011	return awsutil.Prettify(s)
17012}
17013
17014// GoString returns the string representation
17015func (s GetDocumentInput) GoString() string {
17016	return s.String()
17017}
17018
17019// Validate inspects the fields of the type to determine if they are valid.
17020func (s *GetDocumentInput) Validate() error {
17021	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
17022	if s.Name == nil {
17023		invalidParams.Add(request.NewErrParamRequired("Name"))
17024	}
17025
17026	if invalidParams.Len() > 0 {
17027		return invalidParams
17028	}
17029	return nil
17030}
17031
17032// SetDocumentVersion sets the DocumentVersion field's value.
17033func (s *GetDocumentInput) SetDocumentVersion(v string) *GetDocumentInput {
17034	s.DocumentVersion = &v
17035	return s
17036}
17037
17038// SetName sets the Name field's value.
17039func (s *GetDocumentInput) SetName(v string) *GetDocumentInput {
17040	s.Name = &v
17041	return s
17042}
17043
17044// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocumentResult
17045type GetDocumentOutput struct {
17046	_ struct{} `type:"structure"`
17047
17048	// The contents of the Systems Manager document.
17049	Content *string `min:"1" type:"string"`
17050
17051	// The document type.
17052	DocumentType *string `type:"string" enum:"DocumentType"`
17053
17054	// The document version.
17055	DocumentVersion *string `type:"string"`
17056
17057	// The name of the Systems Manager document.
17058	Name *string `type:"string"`
17059}
17060
17061// String returns the string representation
17062func (s GetDocumentOutput) String() string {
17063	return awsutil.Prettify(s)
17064}
17065
17066// GoString returns the string representation
17067func (s GetDocumentOutput) GoString() string {
17068	return s.String()
17069}
17070
17071// SetContent sets the Content field's value.
17072func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput {
17073	s.Content = &v
17074	return s
17075}
17076
17077// SetDocumentType sets the DocumentType field's value.
17078func (s *GetDocumentOutput) SetDocumentType(v string) *GetDocumentOutput {
17079	s.DocumentType = &v
17080	return s
17081}
17082
17083// SetDocumentVersion sets the DocumentVersion field's value.
17084func (s *GetDocumentOutput) SetDocumentVersion(v string) *GetDocumentOutput {
17085	s.DocumentVersion = &v
17086	return s
17087}
17088
17089// SetName sets the Name field's value.
17090func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput {
17091	s.Name = &v
17092	return s
17093}
17094
17095// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventoryRequest
17096type GetInventoryInput struct {
17097	_ struct{} `type:"structure"`
17098
17099	// One or more filters. Use a filter to return a more specific list of results.
17100	Filters []*InventoryFilter `locationNameList:"InventoryFilter" min:"1" type:"list"`
17101
17102	// The maximum number of items to return for this call. The call also returns
17103	// a token that you can specify in a subsequent call to get the next set of
17104	// results.
17105	MaxResults *int64 `min:"1" type:"integer"`
17106
17107	// The token for the next set of items to return. (You received this token from
17108	// a previous call.)
17109	NextToken *string `type:"string"`
17110
17111	// The list of inventory item types to return.
17112	ResultAttributes []*ResultAttribute `locationNameList:"ResultAttribute" min:"1" type:"list"`
17113}
17114
17115// String returns the string representation
17116func (s GetInventoryInput) String() string {
17117	return awsutil.Prettify(s)
17118}
17119
17120// GoString returns the string representation
17121func (s GetInventoryInput) GoString() string {
17122	return s.String()
17123}
17124
17125// Validate inspects the fields of the type to determine if they are valid.
17126func (s *GetInventoryInput) Validate() error {
17127	invalidParams := request.ErrInvalidParams{Context: "GetInventoryInput"}
17128	if s.Filters != nil && len(s.Filters) < 1 {
17129		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
17130	}
17131	if s.MaxResults != nil && *s.MaxResults < 1 {
17132		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17133	}
17134	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
17135		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
17136	}
17137	if s.Filters != nil {
17138		for i, v := range s.Filters {
17139			if v == nil {
17140				continue
17141			}
17142			if err := v.Validate(); err != nil {
17143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17144			}
17145		}
17146	}
17147	if s.ResultAttributes != nil {
17148		for i, v := range s.ResultAttributes {
17149			if v == nil {
17150				continue
17151			}
17152			if err := v.Validate(); err != nil {
17153				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
17154			}
17155		}
17156	}
17157
17158	if invalidParams.Len() > 0 {
17159		return invalidParams
17160	}
17161	return nil
17162}
17163
17164// SetFilters sets the Filters field's value.
17165func (s *GetInventoryInput) SetFilters(v []*InventoryFilter) *GetInventoryInput {
17166	s.Filters = v
17167	return s
17168}
17169
17170// SetMaxResults sets the MaxResults field's value.
17171func (s *GetInventoryInput) SetMaxResults(v int64) *GetInventoryInput {
17172	s.MaxResults = &v
17173	return s
17174}
17175
17176// SetNextToken sets the NextToken field's value.
17177func (s *GetInventoryInput) SetNextToken(v string) *GetInventoryInput {
17178	s.NextToken = &v
17179	return s
17180}
17181
17182// SetResultAttributes sets the ResultAttributes field's value.
17183func (s *GetInventoryInput) SetResultAttributes(v []*ResultAttribute) *GetInventoryInput {
17184	s.ResultAttributes = v
17185	return s
17186}
17187
17188// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventoryResult
17189type GetInventoryOutput struct {
17190	_ struct{} `type:"structure"`
17191
17192	// Collection of inventory entities such as a collection of instance inventory.
17193	Entities []*InventoryResultEntity `locationNameList:"Entity" type:"list"`
17194
17195	// The token to use when requesting the next set of items. If there are no additional
17196	// items to return, the string is empty.
17197	NextToken *string `type:"string"`
17198}
17199
17200// String returns the string representation
17201func (s GetInventoryOutput) String() string {
17202	return awsutil.Prettify(s)
17203}
17204
17205// GoString returns the string representation
17206func (s GetInventoryOutput) GoString() string {
17207	return s.String()
17208}
17209
17210// SetEntities sets the Entities field's value.
17211func (s *GetInventoryOutput) SetEntities(v []*InventoryResultEntity) *GetInventoryOutput {
17212	s.Entities = v
17213	return s
17214}
17215
17216// SetNextToken sets the NextToken field's value.
17217func (s *GetInventoryOutput) SetNextToken(v string) *GetInventoryOutput {
17218	s.NextToken = &v
17219	return s
17220}
17221
17222// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchemaRequest
17223type GetInventorySchemaInput struct {
17224	_ struct{} `type:"structure"`
17225
17226	// The maximum number of items to return for this call. The call also returns
17227	// a token that you can specify in a subsequent call to get the next set of
17228	// results.
17229	MaxResults *int64 `min:"50" type:"integer"`
17230
17231	// The token for the next set of items to return. (You received this token from
17232	// a previous call.)
17233	NextToken *string `type:"string"`
17234
17235	// Returns the sub-type schema for a specified inventory type.
17236	SubType *bool `type:"boolean"`
17237
17238	// The type of inventory item to return.
17239	TypeName *string `type:"string"`
17240}
17241
17242// String returns the string representation
17243func (s GetInventorySchemaInput) String() string {
17244	return awsutil.Prettify(s)
17245}
17246
17247// GoString returns the string representation
17248func (s GetInventorySchemaInput) GoString() string {
17249	return s.String()
17250}
17251
17252// Validate inspects the fields of the type to determine if they are valid.
17253func (s *GetInventorySchemaInput) Validate() error {
17254	invalidParams := request.ErrInvalidParams{Context: "GetInventorySchemaInput"}
17255	if s.MaxResults != nil && *s.MaxResults < 50 {
17256		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
17257	}
17258
17259	if invalidParams.Len() > 0 {
17260		return invalidParams
17261	}
17262	return nil
17263}
17264
17265// SetMaxResults sets the MaxResults field's value.
17266func (s *GetInventorySchemaInput) SetMaxResults(v int64) *GetInventorySchemaInput {
17267	s.MaxResults = &v
17268	return s
17269}
17270
17271// SetNextToken sets the NextToken field's value.
17272func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInput {
17273	s.NextToken = &v
17274	return s
17275}
17276
17277// SetSubType sets the SubType field's value.
17278func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput {
17279	s.SubType = &v
17280	return s
17281}
17282
17283// SetTypeName sets the TypeName field's value.
17284func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput {
17285	s.TypeName = &v
17286	return s
17287}
17288
17289// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchemaResult
17290type GetInventorySchemaOutput struct {
17291	_ struct{} `type:"structure"`
17292
17293	// The token to use when requesting the next set of items. If there are no additional
17294	// items to return, the string is empty.
17295	NextToken *string `type:"string"`
17296
17297	// Inventory schemas returned by the request.
17298	Schemas []*InventoryItemSchema `type:"list"`
17299}
17300
17301// String returns the string representation
17302func (s GetInventorySchemaOutput) String() string {
17303	return awsutil.Prettify(s)
17304}
17305
17306// GoString returns the string representation
17307func (s GetInventorySchemaOutput) GoString() string {
17308	return s.String()
17309}
17310
17311// SetNextToken sets the NextToken field's value.
17312func (s *GetInventorySchemaOutput) SetNextToken(v string) *GetInventorySchemaOutput {
17313	s.NextToken = &v
17314	return s
17315}
17316
17317// SetSchemas sets the Schemas field's value.
17318func (s *GetInventorySchemaOutput) SetSchemas(v []*InventoryItemSchema) *GetInventorySchemaOutput {
17319	s.Schemas = v
17320	return s
17321}
17322
17323// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionRequest
17324type GetMaintenanceWindowExecutionInput struct {
17325	_ struct{} `type:"structure"`
17326
17327	// The ID of the Maintenance Window execution that includes the task.
17328	//
17329	// WindowExecutionId is a required field
17330	WindowExecutionId *string `min:"36" type:"string" required:"true"`
17331}
17332
17333// String returns the string representation
17334func (s GetMaintenanceWindowExecutionInput) String() string {
17335	return awsutil.Prettify(s)
17336}
17337
17338// GoString returns the string representation
17339func (s GetMaintenanceWindowExecutionInput) GoString() string {
17340	return s.String()
17341}
17342
17343// Validate inspects the fields of the type to determine if they are valid.
17344func (s *GetMaintenanceWindowExecutionInput) Validate() error {
17345	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionInput"}
17346	if s.WindowExecutionId == nil {
17347		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
17348	}
17349	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
17350		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
17351	}
17352
17353	if invalidParams.Len() > 0 {
17354		return invalidParams
17355	}
17356	return nil
17357}
17358
17359// SetWindowExecutionId sets the WindowExecutionId field's value.
17360func (s *GetMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionInput {
17361	s.WindowExecutionId = &v
17362	return s
17363}
17364
17365// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionResult
17366type GetMaintenanceWindowExecutionOutput struct {
17367	_ struct{} `type:"structure"`
17368
17369	// The time the Maintenance Window finished executing.
17370	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17371
17372	// The time the Maintenance Window started executing.
17373	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17374
17375	// The status of the Maintenance Window execution.
17376	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
17377
17378	// The details explaining the Status. Only available for certain status values.
17379	StatusDetails *string `type:"string"`
17380
17381	// The ID of the task executions from the Maintenance Window execution.
17382	TaskIds []*string `type:"list"`
17383
17384	// The ID of the Maintenance Window execution.
17385	WindowExecutionId *string `min:"36" type:"string"`
17386}
17387
17388// String returns the string representation
17389func (s GetMaintenanceWindowExecutionOutput) String() string {
17390	return awsutil.Prettify(s)
17391}
17392
17393// GoString returns the string representation
17394func (s GetMaintenanceWindowExecutionOutput) GoString() string {
17395	return s.String()
17396}
17397
17398// SetEndTime sets the EndTime field's value.
17399func (s *GetMaintenanceWindowExecutionOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
17400	s.EndTime = &v
17401	return s
17402}
17403
17404// SetStartTime sets the StartTime field's value.
17405func (s *GetMaintenanceWindowExecutionOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
17406	s.StartTime = &v
17407	return s
17408}
17409
17410// SetStatus sets the Status field's value.
17411func (s *GetMaintenanceWindowExecutionOutput) SetStatus(v string) *GetMaintenanceWindowExecutionOutput {
17412	s.Status = &v
17413	return s
17414}
17415
17416// SetStatusDetails sets the StatusDetails field's value.
17417func (s *GetMaintenanceWindowExecutionOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionOutput {
17418	s.StatusDetails = &v
17419	return s
17420}
17421
17422// SetTaskIds sets the TaskIds field's value.
17423func (s *GetMaintenanceWindowExecutionOutput) SetTaskIds(v []*string) *GetMaintenanceWindowExecutionOutput {
17424	s.TaskIds = v
17425	return s
17426}
17427
17428// SetWindowExecutionId sets the WindowExecutionId field's value.
17429func (s *GetMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionOutput {
17430	s.WindowExecutionId = &v
17431	return s
17432}
17433
17434// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskRequest
17435type GetMaintenanceWindowExecutionTaskInput struct {
17436	_ struct{} `type:"structure"`
17437
17438	// The ID of the specific task execution in the Maintenance Window task that
17439	// should be retrieved.
17440	//
17441	// TaskId is a required field
17442	TaskId *string `min:"36" type:"string" required:"true"`
17443
17444	// The ID of the Maintenance Window execution that includes the task.
17445	//
17446	// WindowExecutionId is a required field
17447	WindowExecutionId *string `min:"36" type:"string" required:"true"`
17448}
17449
17450// String returns the string representation
17451func (s GetMaintenanceWindowExecutionTaskInput) String() string {
17452	return awsutil.Prettify(s)
17453}
17454
17455// GoString returns the string representation
17456func (s GetMaintenanceWindowExecutionTaskInput) GoString() string {
17457	return s.String()
17458}
17459
17460// Validate inspects the fields of the type to determine if they are valid.
17461func (s *GetMaintenanceWindowExecutionTaskInput) Validate() error {
17462	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInput"}
17463	if s.TaskId == nil {
17464		invalidParams.Add(request.NewErrParamRequired("TaskId"))
17465	}
17466	if s.TaskId != nil && len(*s.TaskId) < 36 {
17467		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
17468	}
17469	if s.WindowExecutionId == nil {
17470		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
17471	}
17472	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
17473		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
17474	}
17475
17476	if invalidParams.Len() > 0 {
17477		return invalidParams
17478	}
17479	return nil
17480}
17481
17482// SetTaskId sets the TaskId field's value.
17483func (s *GetMaintenanceWindowExecutionTaskInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInput {
17484	s.TaskId = &v
17485	return s
17486}
17487
17488// SetWindowExecutionId sets the WindowExecutionId field's value.
17489func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInput {
17490	s.WindowExecutionId = &v
17491	return s
17492}
17493
17494// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocationRequest
17495type GetMaintenanceWindowExecutionTaskInvocationInput struct {
17496	_ struct{} `type:"structure"`
17497
17498	// The invocation ID to retrieve.
17499	//
17500	// InvocationId is a required field
17501	InvocationId *string `min:"36" type:"string" required:"true"`
17502
17503	// The ID of the specific task in the Maintenance Window task that should be
17504	// retrieved.
17505	//
17506	// TaskId is a required field
17507	TaskId *string `min:"36" type:"string" required:"true"`
17508
17509	// The ID of the Maintenance Window execution for which the task is a part.
17510	//
17511	// WindowExecutionId is a required field
17512	WindowExecutionId *string `min:"36" type:"string" required:"true"`
17513}
17514
17515// String returns the string representation
17516func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string {
17517	return awsutil.Prettify(s)
17518}
17519
17520// GoString returns the string representation
17521func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string {
17522	return s.String()
17523}
17524
17525// Validate inspects the fields of the type to determine if they are valid.
17526func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error {
17527	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"}
17528	if s.InvocationId == nil {
17529		invalidParams.Add(request.NewErrParamRequired("InvocationId"))
17530	}
17531	if s.InvocationId != nil && len(*s.InvocationId) < 36 {
17532		invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36))
17533	}
17534	if s.TaskId == nil {
17535		invalidParams.Add(request.NewErrParamRequired("TaskId"))
17536	}
17537	if s.TaskId != nil && len(*s.TaskId) < 36 {
17538		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
17539	}
17540	if s.WindowExecutionId == nil {
17541		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
17542	}
17543	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
17544		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
17545	}
17546
17547	if invalidParams.Len() > 0 {
17548		return invalidParams
17549	}
17550	return nil
17551}
17552
17553// SetInvocationId sets the InvocationId field's value.
17554func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
17555	s.InvocationId = &v
17556	return s
17557}
17558
17559// SetTaskId sets the TaskId field's value.
17560func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
17561	s.TaskId = &v
17562	return s
17563}
17564
17565// SetWindowExecutionId sets the WindowExecutionId field's value.
17566func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
17567	s.WindowExecutionId = &v
17568	return s
17569}
17570
17571// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocationResult
17572type GetMaintenanceWindowExecutionTaskInvocationOutput struct {
17573	_ struct{} `type:"structure"`
17574
17575	// The time that the task finished executing on the target.
17576	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17577
17578	// The execution ID.
17579	ExecutionId *string `type:"string"`
17580
17581	// The invocation ID.
17582	InvocationId *string `min:"36" type:"string"`
17583
17584	// User-provided value to be included in any CloudWatch events raised while
17585	// running tasks for these targets in this Maintenance Window.
17586	OwnerInformation *string `min:"1" type:"string"`
17587
17588	// The parameters used at the time that the task executed.
17589	Parameters *string `type:"string"`
17590
17591	// The time that the task started executing on the target.
17592	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17593
17594	// The task status for an invocation.
17595	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
17596
17597	// The details explaining the status. Details are only available for certain
17598	// status values.
17599	StatusDetails *string `type:"string"`
17600
17601	// The task execution ID.
17602	TaskExecutionId *string `min:"36" type:"string"`
17603
17604	// Retrieves the task type for a Maintenance Window. Task types include the
17605	// following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.
17606	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
17607
17608	// The Maintenance Window execution ID.
17609	WindowExecutionId *string `min:"36" type:"string"`
17610
17611	// The Maintenance Window target ID.
17612	WindowTargetId *string `type:"string"`
17613}
17614
17615// String returns the string representation
17616func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string {
17617	return awsutil.Prettify(s)
17618}
17619
17620// GoString returns the string representation
17621func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string {
17622	return s.String()
17623}
17624
17625// SetEndTime sets the EndTime field's value.
17626func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17627	s.EndTime = &v
17628	return s
17629}
17630
17631// SetExecutionId sets the ExecutionId field's value.
17632func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17633	s.ExecutionId = &v
17634	return s
17635}
17636
17637// SetInvocationId sets the InvocationId field's value.
17638func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17639	s.InvocationId = &v
17640	return s
17641}
17642
17643// SetOwnerInformation sets the OwnerInformation field's value.
17644func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17645	s.OwnerInformation = &v
17646	return s
17647}
17648
17649// SetParameters sets the Parameters field's value.
17650func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17651	s.Parameters = &v
17652	return s
17653}
17654
17655// SetStartTime sets the StartTime field's value.
17656func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17657	s.StartTime = &v
17658	return s
17659}
17660
17661// SetStatus sets the Status field's value.
17662func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17663	s.Status = &v
17664	return s
17665}
17666
17667// SetStatusDetails sets the StatusDetails field's value.
17668func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17669	s.StatusDetails = &v
17670	return s
17671}
17672
17673// SetTaskExecutionId sets the TaskExecutionId field's value.
17674func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17675	s.TaskExecutionId = &v
17676	return s
17677}
17678
17679// SetTaskType sets the TaskType field's value.
17680func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17681	s.TaskType = &v
17682	return s
17683}
17684
17685// SetWindowExecutionId sets the WindowExecutionId field's value.
17686func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17687	s.WindowExecutionId = &v
17688	return s
17689}
17690
17691// SetWindowTargetId sets the WindowTargetId field's value.
17692func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
17693	s.WindowTargetId = &v
17694	return s
17695}
17696
17697// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskResult
17698type GetMaintenanceWindowExecutionTaskOutput struct {
17699	_ struct{} `type:"structure"`
17700
17701	// The time the task execution completed.
17702	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17703
17704	// The defined maximum number of task executions that could be run in parallel.
17705	MaxConcurrency *string `min:"1" type:"string"`
17706
17707	// The defined maximum number of task execution errors allowed before scheduling
17708	// of the task execution would have been stopped.
17709	MaxErrors *string `min:"1" type:"string"`
17710
17711	// The priority of the task.
17712	Priority *int64 `type:"integer"`
17713
17714	// The role that was assumed when executing the task.
17715	ServiceRole *string `type:"string"`
17716
17717	// The time the task execution started.
17718	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
17719
17720	// The status of the task.
17721	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
17722
17723	// The details explaining the Status. Only available for certain status values.
17724	StatusDetails *string `type:"string"`
17725
17726	// The ARN of the executed task.
17727	TaskArn *string `min:"1" type:"string"`
17728
17729	// The ID of the specific task execution in the Maintenance Window task that
17730	// was retrieved.
17731	TaskExecutionId *string `min:"36" type:"string"`
17732
17733	// The parameters passed to the task when it was executed. The map has the following
17734	// format:
17735	//
17736	// Key: string, between 1 and 255 characters
17737	//
17738	// Value: an array of strings, each string is between 1 and 255 characters
17739	TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list"`
17740
17741	// The type of task executed.
17742	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
17743
17744	// The ID of the Maintenance Window execution that includes the task.
17745	WindowExecutionId *string `min:"36" type:"string"`
17746}
17747
17748// String returns the string representation
17749func (s GetMaintenanceWindowExecutionTaskOutput) String() string {
17750	return awsutil.Prettify(s)
17751}
17752
17753// GoString returns the string representation
17754func (s GetMaintenanceWindowExecutionTaskOutput) GoString() string {
17755	return s.String()
17756}
17757
17758// SetEndTime sets the EndTime field's value.
17759func (s *GetMaintenanceWindowExecutionTaskOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
17760	s.EndTime = &v
17761	return s
17762}
17763
17764// SetMaxConcurrency sets the MaxConcurrency field's value.
17765func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowExecutionTaskOutput {
17766	s.MaxConcurrency = &v
17767	return s
17768}
17769
17770// SetMaxErrors sets the MaxErrors field's value.
17771func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowExecutionTaskOutput {
17772	s.MaxErrors = &v
17773	return s
17774}
17775
17776// SetPriority sets the Priority field's value.
17777func (s *GetMaintenanceWindowExecutionTaskOutput) SetPriority(v int64) *GetMaintenanceWindowExecutionTaskOutput {
17778	s.Priority = &v
17779	return s
17780}
17781
17782// SetServiceRole sets the ServiceRole field's value.
17783func (s *GetMaintenanceWindowExecutionTaskOutput) SetServiceRole(v string) *GetMaintenanceWindowExecutionTaskOutput {
17784	s.ServiceRole = &v
17785	return s
17786}
17787
17788// SetStartTime sets the StartTime field's value.
17789func (s *GetMaintenanceWindowExecutionTaskOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
17790	s.StartTime = &v
17791	return s
17792}
17793
17794// SetStatus sets the Status field's value.
17795func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskOutput {
17796	s.Status = &v
17797	return s
17798}
17799
17800// SetStatusDetails sets the StatusDetails field's value.
17801func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskOutput {
17802	s.StatusDetails = &v
17803	return s
17804}
17805
17806// SetTaskArn sets the TaskArn field's value.
17807func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowExecutionTaskOutput {
17808	s.TaskArn = &v
17809	return s
17810}
17811
17812// SetTaskExecutionId sets the TaskExecutionId field's value.
17813func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
17814	s.TaskExecutionId = &v
17815	return s
17816}
17817
17818// SetTaskParameters sets the TaskParameters field's value.
17819func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskParameters(v []map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowExecutionTaskOutput {
17820	s.TaskParameters = v
17821	return s
17822}
17823
17824// SetType sets the Type field's value.
17825func (s *GetMaintenanceWindowExecutionTaskOutput) SetType(v string) *GetMaintenanceWindowExecutionTaskOutput {
17826	s.Type = &v
17827	return s
17828}
17829
17830// SetWindowExecutionId sets the WindowExecutionId field's value.
17831func (s *GetMaintenanceWindowExecutionTaskOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
17832	s.WindowExecutionId = &v
17833	return s
17834}
17835
17836// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowRequest
17837type GetMaintenanceWindowInput struct {
17838	_ struct{} `type:"structure"`
17839
17840	// The ID of the desired Maintenance Window.
17841	//
17842	// WindowId is a required field
17843	WindowId *string `min:"20" type:"string" required:"true"`
17844}
17845
17846// String returns the string representation
17847func (s GetMaintenanceWindowInput) String() string {
17848	return awsutil.Prettify(s)
17849}
17850
17851// GoString returns the string representation
17852func (s GetMaintenanceWindowInput) GoString() string {
17853	return s.String()
17854}
17855
17856// Validate inspects the fields of the type to determine if they are valid.
17857func (s *GetMaintenanceWindowInput) Validate() error {
17858	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowInput"}
17859	if s.WindowId == nil {
17860		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17861	}
17862	if s.WindowId != nil && len(*s.WindowId) < 20 {
17863		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17864	}
17865
17866	if invalidParams.Len() > 0 {
17867		return invalidParams
17868	}
17869	return nil
17870}
17871
17872// SetWindowId sets the WindowId field's value.
17873func (s *GetMaintenanceWindowInput) SetWindowId(v string) *GetMaintenanceWindowInput {
17874	s.WindowId = &v
17875	return s
17876}
17877
17878// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowResult
17879type GetMaintenanceWindowOutput struct {
17880	_ struct{} `type:"structure"`
17881
17882	// Whether targets must be registered with the Maintenance Window before tasks
17883	// can be defined for those targets.
17884	AllowUnassociatedTargets *bool `type:"boolean"`
17885
17886	// The date the Maintenance Window was created.
17887	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
17888
17889	// The number of hours before the end of the Maintenance Window that Systems
17890	// Manager stops scheduling new tasks for execution.
17891	Cutoff *int64 `type:"integer"`
17892
17893	// The description of the Maintenance Window.
17894	Description *string `min:"1" type:"string"`
17895
17896	// The duration of the Maintenance Window in hours.
17897	Duration *int64 `min:"1" type:"integer"`
17898
17899	// Whether the Maintenance Windows is enabled.
17900	Enabled *bool `type:"boolean"`
17901
17902	// The date the Maintenance Window was last modified.
17903	ModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
17904
17905	// The name of the Maintenance Window.
17906	Name *string `min:"3" type:"string"`
17907
17908	// The schedule of the Maintenance Window in the form of a cron or rate expression.
17909	Schedule *string `min:"1" type:"string"`
17910
17911	// The ID of the created Maintenance Window.
17912	WindowId *string `min:"20" type:"string"`
17913}
17914
17915// String returns the string representation
17916func (s GetMaintenanceWindowOutput) String() string {
17917	return awsutil.Prettify(s)
17918}
17919
17920// GoString returns the string representation
17921func (s GetMaintenanceWindowOutput) GoString() string {
17922	return s.String()
17923}
17924
17925// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
17926func (s *GetMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *GetMaintenanceWindowOutput {
17927	s.AllowUnassociatedTargets = &v
17928	return s
17929}
17930
17931// SetCreatedDate sets the CreatedDate field's value.
17932func (s *GetMaintenanceWindowOutput) SetCreatedDate(v time.Time) *GetMaintenanceWindowOutput {
17933	s.CreatedDate = &v
17934	return s
17935}
17936
17937// SetCutoff sets the Cutoff field's value.
17938func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOutput {
17939	s.Cutoff = &v
17940	return s
17941}
17942
17943// SetDescription sets the Description field's value.
17944func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput {
17945	s.Description = &v
17946	return s
17947}
17948
17949// SetDuration sets the Duration field's value.
17950func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput {
17951	s.Duration = &v
17952	return s
17953}
17954
17955// SetEnabled sets the Enabled field's value.
17956func (s *GetMaintenanceWindowOutput) SetEnabled(v bool) *GetMaintenanceWindowOutput {
17957	s.Enabled = &v
17958	return s
17959}
17960
17961// SetModifiedDate sets the ModifiedDate field's value.
17962func (s *GetMaintenanceWindowOutput) SetModifiedDate(v time.Time) *GetMaintenanceWindowOutput {
17963	s.ModifiedDate = &v
17964	return s
17965}
17966
17967// SetName sets the Name field's value.
17968func (s *GetMaintenanceWindowOutput) SetName(v string) *GetMaintenanceWindowOutput {
17969	s.Name = &v
17970	return s
17971}
17972
17973// SetSchedule sets the Schedule field's value.
17974func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput {
17975	s.Schedule = &v
17976	return s
17977}
17978
17979// SetWindowId sets the WindowId field's value.
17980func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput {
17981	s.WindowId = &v
17982	return s
17983}
17984
17985// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTaskRequest
17986type GetMaintenanceWindowTaskInput struct {
17987	_ struct{} `type:"structure"`
17988
17989	// The Maintenance Window ID that includes the task to retrieve.
17990	//
17991	// WindowId is a required field
17992	WindowId *string `min:"20" type:"string" required:"true"`
17993
17994	// The Maintenance Window task ID to retrieve.
17995	//
17996	// WindowTaskId is a required field
17997	WindowTaskId *string `min:"36" type:"string" required:"true"`
17998}
17999
18000// String returns the string representation
18001func (s GetMaintenanceWindowTaskInput) String() string {
18002	return awsutil.Prettify(s)
18003}
18004
18005// GoString returns the string representation
18006func (s GetMaintenanceWindowTaskInput) GoString() string {
18007	return s.String()
18008}
18009
18010// Validate inspects the fields of the type to determine if they are valid.
18011func (s *GetMaintenanceWindowTaskInput) Validate() error {
18012	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"}
18013	if s.WindowId == nil {
18014		invalidParams.Add(request.NewErrParamRequired("WindowId"))
18015	}
18016	if s.WindowId != nil && len(*s.WindowId) < 20 {
18017		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
18018	}
18019	if s.WindowTaskId == nil {
18020		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
18021	}
18022	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
18023		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
18024	}
18025
18026	if invalidParams.Len() > 0 {
18027		return invalidParams
18028	}
18029	return nil
18030}
18031
18032// SetWindowId sets the WindowId field's value.
18033func (s *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput {
18034	s.WindowId = &v
18035	return s
18036}
18037
18038// SetWindowTaskId sets the WindowTaskId field's value.
18039func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput {
18040	s.WindowTaskId = &v
18041	return s
18042}
18043
18044// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTaskResult
18045type GetMaintenanceWindowTaskOutput struct {
18046	_ struct{} `type:"structure"`
18047
18048	// The retrieved task description.
18049	Description *string `min:"1" type:"string"`
18050
18051	// The location in Amazon S3 where the task results are logged.
18052	LoggingInfo *LoggingInfo `type:"structure"`
18053
18054	// The maximum number of targets allowed to run this task in parallel.
18055	MaxConcurrency *string `min:"1" type:"string"`
18056
18057	// The maximum number of errors allowed before the task stops being scheduled.
18058	MaxErrors *string `min:"1" type:"string"`
18059
18060	// The retrieved task name.
18061	Name *string `min:"3" type:"string"`
18062
18063	// The priority of the task when it executes. The lower the number, the higher
18064	// the priority. Tasks that have the same priority are scheduled in parallel.
18065	Priority *int64 `type:"integer"`
18066
18067	// The IAM service role to assume during task execution.
18068	ServiceRoleArn *string `type:"string"`
18069
18070	// The targets where the task should execute.
18071	Targets []*Target `type:"list"`
18072
18073	// The resource that the task used during execution. For RUN_COMMAND and AUTOMATION
18074	// task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA
18075	// tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value
18076	// is the state machine ARN.
18077	TaskArn *string `min:"1" type:"string"`
18078
18079	// The parameters to pass to the task when it executes.
18080	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
18081
18082	// The parameters to pass to the task when it executes.
18083	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"`
18084
18085	// The type of task to execute.
18086	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
18087
18088	// The retrieved Maintenance Window ID.
18089	WindowId *string `min:"20" type:"string"`
18090
18091	// The retrieved Maintenance Window task ID.
18092	WindowTaskId *string `min:"36" type:"string"`
18093}
18094
18095// String returns the string representation
18096func (s GetMaintenanceWindowTaskOutput) String() string {
18097	return awsutil.Prettify(s)
18098}
18099
18100// GoString returns the string representation
18101func (s GetMaintenanceWindowTaskOutput) GoString() string {
18102	return s.String()
18103}
18104
18105// SetDescription sets the Description field's value.
18106func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput {
18107	s.Description = &v
18108	return s
18109}
18110
18111// SetLoggingInfo sets the LoggingInfo field's value.
18112func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput {
18113	s.LoggingInfo = v
18114	return s
18115}
18116
18117// SetMaxConcurrency sets the MaxConcurrency field's value.
18118func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput {
18119	s.MaxConcurrency = &v
18120	return s
18121}
18122
18123// SetMaxErrors sets the MaxErrors field's value.
18124func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput {
18125	s.MaxErrors = &v
18126	return s
18127}
18128
18129// SetName sets the Name field's value.
18130func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput {
18131	s.Name = &v
18132	return s
18133}
18134
18135// SetPriority sets the Priority field's value.
18136func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput {
18137	s.Priority = &v
18138	return s
18139}
18140
18141// SetServiceRoleArn sets the ServiceRoleArn field's value.
18142func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput {
18143	s.ServiceRoleArn = &v
18144	return s
18145}
18146
18147// SetTargets sets the Targets field's value.
18148func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput {
18149	s.Targets = v
18150	return s
18151}
18152
18153// SetTaskArn sets the TaskArn field's value.
18154func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput {
18155	s.TaskArn = &v
18156	return s
18157}
18158
18159// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
18160func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput {
18161	s.TaskInvocationParameters = v
18162	return s
18163}
18164
18165// SetTaskParameters sets the TaskParameters field's value.
18166func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput {
18167	s.TaskParameters = v
18168	return s
18169}
18170
18171// SetTaskType sets the TaskType field's value.
18172func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput {
18173	s.TaskType = &v
18174	return s
18175}
18176
18177// SetWindowId sets the WindowId field's value.
18178func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput {
18179	s.WindowId = &v
18180	return s
18181}
18182
18183// SetWindowTaskId sets the WindowTaskId field's value.
18184func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput {
18185	s.WindowTaskId = &v
18186	return s
18187}
18188
18189// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistoryRequest
18190type GetParameterHistoryInput struct {
18191	_ struct{} `type:"structure"`
18192
18193	// The maximum number of items to return for this call. The call also returns
18194	// a token that you can specify in a subsequent call to get the next set of
18195	// results.
18196	MaxResults *int64 `min:"1" type:"integer"`
18197
18198	// The name of a parameter you want to query.
18199	//
18200	// Name is a required field
18201	Name *string `min:"1" type:"string" required:"true"`
18202
18203	// The token for the next set of items to return. (You received this token from
18204	// a previous call.)
18205	NextToken *string `type:"string"`
18206
18207	// Return decrypted values for secure string parameters. This flag is ignored
18208	// for String and StringList parameter types.
18209	WithDecryption *bool `type:"boolean"`
18210}
18211
18212// String returns the string representation
18213func (s GetParameterHistoryInput) String() string {
18214	return awsutil.Prettify(s)
18215}
18216
18217// GoString returns the string representation
18218func (s GetParameterHistoryInput) GoString() string {
18219	return s.String()
18220}
18221
18222// Validate inspects the fields of the type to determine if they are valid.
18223func (s *GetParameterHistoryInput) Validate() error {
18224	invalidParams := request.ErrInvalidParams{Context: "GetParameterHistoryInput"}
18225	if s.MaxResults != nil && *s.MaxResults < 1 {
18226		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18227	}
18228	if s.Name == nil {
18229		invalidParams.Add(request.NewErrParamRequired("Name"))
18230	}
18231	if s.Name != nil && len(*s.Name) < 1 {
18232		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18233	}
18234
18235	if invalidParams.Len() > 0 {
18236		return invalidParams
18237	}
18238	return nil
18239}
18240
18241// SetMaxResults sets the MaxResults field's value.
18242func (s *GetParameterHistoryInput) SetMaxResults(v int64) *GetParameterHistoryInput {
18243	s.MaxResults = &v
18244	return s
18245}
18246
18247// SetName sets the Name field's value.
18248func (s *GetParameterHistoryInput) SetName(v string) *GetParameterHistoryInput {
18249	s.Name = &v
18250	return s
18251}
18252
18253// SetNextToken sets the NextToken field's value.
18254func (s *GetParameterHistoryInput) SetNextToken(v string) *GetParameterHistoryInput {
18255	s.NextToken = &v
18256	return s
18257}
18258
18259// SetWithDecryption sets the WithDecryption field's value.
18260func (s *GetParameterHistoryInput) SetWithDecryption(v bool) *GetParameterHistoryInput {
18261	s.WithDecryption = &v
18262	return s
18263}
18264
18265// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistoryResult
18266type GetParameterHistoryOutput struct {
18267	_ struct{} `type:"structure"`
18268
18269	// The token to use when requesting the next set of items. If there are no additional
18270	// items to return, the string is empty.
18271	NextToken *string `type:"string"`
18272
18273	// A list of parameters returned by the request.
18274	Parameters []*ParameterHistory `type:"list"`
18275}
18276
18277// String returns the string representation
18278func (s GetParameterHistoryOutput) String() string {
18279	return awsutil.Prettify(s)
18280}
18281
18282// GoString returns the string representation
18283func (s GetParameterHistoryOutput) GoString() string {
18284	return s.String()
18285}
18286
18287// SetNextToken sets the NextToken field's value.
18288func (s *GetParameterHistoryOutput) SetNextToken(v string) *GetParameterHistoryOutput {
18289	s.NextToken = &v
18290	return s
18291}
18292
18293// SetParameters sets the Parameters field's value.
18294func (s *GetParameterHistoryOutput) SetParameters(v []*ParameterHistory) *GetParameterHistoryOutput {
18295	s.Parameters = v
18296	return s
18297}
18298
18299// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterRequest
18300type GetParameterInput struct {
18301	_ struct{} `type:"structure"`
18302
18303	// The name of the parameter you want to query.
18304	//
18305	// Name is a required field
18306	Name *string `min:"1" type:"string" required:"true"`
18307
18308	// Return decrypted values for secure string parameters. This flag is ignored
18309	// for String and StringList parameter types.
18310	WithDecryption *bool `type:"boolean"`
18311}
18312
18313// String returns the string representation
18314func (s GetParameterInput) String() string {
18315	return awsutil.Prettify(s)
18316}
18317
18318// GoString returns the string representation
18319func (s GetParameterInput) GoString() string {
18320	return s.String()
18321}
18322
18323// Validate inspects the fields of the type to determine if they are valid.
18324func (s *GetParameterInput) Validate() error {
18325	invalidParams := request.ErrInvalidParams{Context: "GetParameterInput"}
18326	if s.Name == nil {
18327		invalidParams.Add(request.NewErrParamRequired("Name"))
18328	}
18329	if s.Name != nil && len(*s.Name) < 1 {
18330		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18331	}
18332
18333	if invalidParams.Len() > 0 {
18334		return invalidParams
18335	}
18336	return nil
18337}
18338
18339// SetName sets the Name field's value.
18340func (s *GetParameterInput) SetName(v string) *GetParameterInput {
18341	s.Name = &v
18342	return s
18343}
18344
18345// SetWithDecryption sets the WithDecryption field's value.
18346func (s *GetParameterInput) SetWithDecryption(v bool) *GetParameterInput {
18347	s.WithDecryption = &v
18348	return s
18349}
18350
18351// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterResult
18352type GetParameterOutput struct {
18353	_ struct{} `type:"structure"`
18354
18355	// Information about a parameter.
18356	Parameter *Parameter `type:"structure"`
18357}
18358
18359// String returns the string representation
18360func (s GetParameterOutput) String() string {
18361	return awsutil.Prettify(s)
18362}
18363
18364// GoString returns the string representation
18365func (s GetParameterOutput) GoString() string {
18366	return s.String()
18367}
18368
18369// SetParameter sets the Parameter field's value.
18370func (s *GetParameterOutput) SetParameter(v *Parameter) *GetParameterOutput {
18371	s.Parameter = v
18372	return s
18373}
18374
18375// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPathRequest
18376type GetParametersByPathInput struct {
18377	_ struct{} `type:"structure"`
18378
18379	// The maximum number of items to return for this call. The call also returns
18380	// a token that you can specify in a subsequent call to get the next set of
18381	// results.
18382	MaxResults *int64 `min:"1" type:"integer"`
18383
18384	// A token to start the list. Use this token to get the next set of results.
18385	NextToken *string `type:"string"`
18386
18387	// Filters to limit the request results.
18388	ParameterFilters []*ParameterStringFilter `type:"list"`
18389
18390	// The hierarchy for the parameter. Hierarchies start with a forward slash (/)
18391	// and end with the parameter name. A hierarchy can have a maximum of five levels.
18392	// Examples: /Environment/Test/DBString003
18393	//
18394	// /Finance/Prod/IAD/OS/WinServ2016/license15
18395	//
18396	// Path is a required field
18397	Path *string `min:"1" type:"string" required:"true"`
18398
18399	// Retrieve all parameters within a hierarchy.
18400	Recursive *bool `type:"boolean"`
18401
18402	// Retrieve all parameters in a hierarchy with their value decrypted.
18403	WithDecryption *bool `type:"boolean"`
18404}
18405
18406// String returns the string representation
18407func (s GetParametersByPathInput) String() string {
18408	return awsutil.Prettify(s)
18409}
18410
18411// GoString returns the string representation
18412func (s GetParametersByPathInput) GoString() string {
18413	return s.String()
18414}
18415
18416// Validate inspects the fields of the type to determine if they are valid.
18417func (s *GetParametersByPathInput) Validate() error {
18418	invalidParams := request.ErrInvalidParams{Context: "GetParametersByPathInput"}
18419	if s.MaxResults != nil && *s.MaxResults < 1 {
18420		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18421	}
18422	if s.Path == nil {
18423		invalidParams.Add(request.NewErrParamRequired("Path"))
18424	}
18425	if s.Path != nil && len(*s.Path) < 1 {
18426		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
18427	}
18428	if s.ParameterFilters != nil {
18429		for i, v := range s.ParameterFilters {
18430			if v == nil {
18431				continue
18432			}
18433			if err := v.Validate(); err != nil {
18434				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
18435			}
18436		}
18437	}
18438
18439	if invalidParams.Len() > 0 {
18440		return invalidParams
18441	}
18442	return nil
18443}
18444
18445// SetMaxResults sets the MaxResults field's value.
18446func (s *GetParametersByPathInput) SetMaxResults(v int64) *GetParametersByPathInput {
18447	s.MaxResults = &v
18448	return s
18449}
18450
18451// SetNextToken sets the NextToken field's value.
18452func (s *GetParametersByPathInput) SetNextToken(v string) *GetParametersByPathInput {
18453	s.NextToken = &v
18454	return s
18455}
18456
18457// SetParameterFilters sets the ParameterFilters field's value.
18458func (s *GetParametersByPathInput) SetParameterFilters(v []*ParameterStringFilter) *GetParametersByPathInput {
18459	s.ParameterFilters = v
18460	return s
18461}
18462
18463// SetPath sets the Path field's value.
18464func (s *GetParametersByPathInput) SetPath(v string) *GetParametersByPathInput {
18465	s.Path = &v
18466	return s
18467}
18468
18469// SetRecursive sets the Recursive field's value.
18470func (s *GetParametersByPathInput) SetRecursive(v bool) *GetParametersByPathInput {
18471	s.Recursive = &v
18472	return s
18473}
18474
18475// SetWithDecryption sets the WithDecryption field's value.
18476func (s *GetParametersByPathInput) SetWithDecryption(v bool) *GetParametersByPathInput {
18477	s.WithDecryption = &v
18478	return s
18479}
18480
18481// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPathResult
18482type GetParametersByPathOutput struct {
18483	_ struct{} `type:"structure"`
18484
18485	// The token for the next set of items to return. Use this token to get the
18486	// next set of results.
18487	NextToken *string `type:"string"`
18488
18489	// A list of parameters found in the specified hierarchy.
18490	Parameters []*Parameter `type:"list"`
18491}
18492
18493// String returns the string representation
18494func (s GetParametersByPathOutput) String() string {
18495	return awsutil.Prettify(s)
18496}
18497
18498// GoString returns the string representation
18499func (s GetParametersByPathOutput) GoString() string {
18500	return s.String()
18501}
18502
18503// SetNextToken sets the NextToken field's value.
18504func (s *GetParametersByPathOutput) SetNextToken(v string) *GetParametersByPathOutput {
18505	s.NextToken = &v
18506	return s
18507}
18508
18509// SetParameters sets the Parameters field's value.
18510func (s *GetParametersByPathOutput) SetParameters(v []*Parameter) *GetParametersByPathOutput {
18511	s.Parameters = v
18512	return s
18513}
18514
18515// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersRequest
18516type GetParametersInput struct {
18517	_ struct{} `type:"structure"`
18518
18519	// Names of the parameters for which you want to query information.
18520	//
18521	// Names is a required field
18522	Names []*string `min:"1" type:"list" required:"true"`
18523
18524	// Return decrypted secure string value. Return decrypted values for secure
18525	// string parameters. This flag is ignored for String and StringList parameter
18526	// types.
18527	WithDecryption *bool `type:"boolean"`
18528}
18529
18530// String returns the string representation
18531func (s GetParametersInput) String() string {
18532	return awsutil.Prettify(s)
18533}
18534
18535// GoString returns the string representation
18536func (s GetParametersInput) GoString() string {
18537	return s.String()
18538}
18539
18540// Validate inspects the fields of the type to determine if they are valid.
18541func (s *GetParametersInput) Validate() error {
18542	invalidParams := request.ErrInvalidParams{Context: "GetParametersInput"}
18543	if s.Names == nil {
18544		invalidParams.Add(request.NewErrParamRequired("Names"))
18545	}
18546	if s.Names != nil && len(s.Names) < 1 {
18547		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
18548	}
18549
18550	if invalidParams.Len() > 0 {
18551		return invalidParams
18552	}
18553	return nil
18554}
18555
18556// SetNames sets the Names field's value.
18557func (s *GetParametersInput) SetNames(v []*string) *GetParametersInput {
18558	s.Names = v
18559	return s
18560}
18561
18562// SetWithDecryption sets the WithDecryption field's value.
18563func (s *GetParametersInput) SetWithDecryption(v bool) *GetParametersInput {
18564	s.WithDecryption = &v
18565	return s
18566}
18567
18568// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersResult
18569type GetParametersOutput struct {
18570	_ struct{} `type:"structure"`
18571
18572	// A list of parameters that are not formatted correctly or do not run when
18573	// executed.
18574	InvalidParameters []*string `min:"1" type:"list"`
18575
18576	// A list of details for a parameter.
18577	Parameters []*Parameter `type:"list"`
18578}
18579
18580// String returns the string representation
18581func (s GetParametersOutput) String() string {
18582	return awsutil.Prettify(s)
18583}
18584
18585// GoString returns the string representation
18586func (s GetParametersOutput) GoString() string {
18587	return s.String()
18588}
18589
18590// SetInvalidParameters sets the InvalidParameters field's value.
18591func (s *GetParametersOutput) SetInvalidParameters(v []*string) *GetParametersOutput {
18592	s.InvalidParameters = v
18593	return s
18594}
18595
18596// SetParameters sets the Parameters field's value.
18597func (s *GetParametersOutput) SetParameters(v []*Parameter) *GetParametersOutput {
18598	s.Parameters = v
18599	return s
18600}
18601
18602// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroupRequest
18603type GetPatchBaselineForPatchGroupInput struct {
18604	_ struct{} `type:"structure"`
18605
18606	// Returns he operating system rule specified for patch groups using the patch
18607	// baseline.
18608	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
18609
18610	// The name of the patch group whose patch baseline should be retrieved.
18611	//
18612	// PatchGroup is a required field
18613	PatchGroup *string `min:"1" type:"string" required:"true"`
18614}
18615
18616// String returns the string representation
18617func (s GetPatchBaselineForPatchGroupInput) String() string {
18618	return awsutil.Prettify(s)
18619}
18620
18621// GoString returns the string representation
18622func (s GetPatchBaselineForPatchGroupInput) GoString() string {
18623	return s.String()
18624}
18625
18626// Validate inspects the fields of the type to determine if they are valid.
18627func (s *GetPatchBaselineForPatchGroupInput) Validate() error {
18628	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineForPatchGroupInput"}
18629	if s.PatchGroup == nil {
18630		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
18631	}
18632	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
18633		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
18634	}
18635
18636	if invalidParams.Len() > 0 {
18637		return invalidParams
18638	}
18639	return nil
18640}
18641
18642// SetOperatingSystem sets the OperatingSystem field's value.
18643func (s *GetPatchBaselineForPatchGroupInput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupInput {
18644	s.OperatingSystem = &v
18645	return s
18646}
18647
18648// SetPatchGroup sets the PatchGroup field's value.
18649func (s *GetPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupInput {
18650	s.PatchGroup = &v
18651	return s
18652}
18653
18654// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroupResult
18655type GetPatchBaselineForPatchGroupOutput struct {
18656	_ struct{} `type:"structure"`
18657
18658	// The ID of the patch baseline that should be used for the patch group.
18659	BaselineId *string `min:"20" type:"string"`
18660
18661	// The operating system rule specified for patch groups using the patch baseline.
18662	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
18663
18664	// The name of the patch group.
18665	PatchGroup *string `min:"1" type:"string"`
18666}
18667
18668// String returns the string representation
18669func (s GetPatchBaselineForPatchGroupOutput) String() string {
18670	return awsutil.Prettify(s)
18671}
18672
18673// GoString returns the string representation
18674func (s GetPatchBaselineForPatchGroupOutput) GoString() string {
18675	return s.String()
18676}
18677
18678// SetBaselineId sets the BaselineId field's value.
18679func (s *GetPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *GetPatchBaselineForPatchGroupOutput {
18680	s.BaselineId = &v
18681	return s
18682}
18683
18684// SetOperatingSystem sets the OperatingSystem field's value.
18685func (s *GetPatchBaselineForPatchGroupOutput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupOutput {
18686	s.OperatingSystem = &v
18687	return s
18688}
18689
18690// SetPatchGroup sets the PatchGroup field's value.
18691func (s *GetPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupOutput {
18692	s.PatchGroup = &v
18693	return s
18694}
18695
18696// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineRequest
18697type GetPatchBaselineInput struct {
18698	_ struct{} `type:"structure"`
18699
18700	// The ID of the patch baseline to retrieve.
18701	//
18702	// BaselineId is a required field
18703	BaselineId *string `min:"20" type:"string" required:"true"`
18704}
18705
18706// String returns the string representation
18707func (s GetPatchBaselineInput) String() string {
18708	return awsutil.Prettify(s)
18709}
18710
18711// GoString returns the string representation
18712func (s GetPatchBaselineInput) GoString() string {
18713	return s.String()
18714}
18715
18716// Validate inspects the fields of the type to determine if they are valid.
18717func (s *GetPatchBaselineInput) Validate() error {
18718	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineInput"}
18719	if s.BaselineId == nil {
18720		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
18721	}
18722	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
18723		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
18724	}
18725
18726	if invalidParams.Len() > 0 {
18727		return invalidParams
18728	}
18729	return nil
18730}
18731
18732// SetBaselineId sets the BaselineId field's value.
18733func (s *GetPatchBaselineInput) SetBaselineId(v string) *GetPatchBaselineInput {
18734	s.BaselineId = &v
18735	return s
18736}
18737
18738// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineResult
18739type GetPatchBaselineOutput struct {
18740	_ struct{} `type:"structure"`
18741
18742	// A set of rules used to include patches in the baseline.
18743	ApprovalRules *PatchRuleGroup `type:"structure"`
18744
18745	// A list of explicitly approved patches for the baseline.
18746	ApprovedPatches []*string `type:"list"`
18747
18748	// Returns the specified compliance severity level for approved patches in the
18749	// patch baseline.
18750	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
18751
18752	// The ID of the retrieved patch baseline.
18753	BaselineId *string `min:"20" type:"string"`
18754
18755	// The date the patch baseline was created.
18756	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
18757
18758	// A description of the patch baseline.
18759	Description *string `min:"1" type:"string"`
18760
18761	// A set of global filters used to exclude patches from the baseline.
18762	GlobalFilters *PatchFilterGroup `type:"structure"`
18763
18764	// The date the patch baseline was last modified.
18765	ModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
18766
18767	// The name of the patch baseline.
18768	Name *string `min:"3" type:"string"`
18769
18770	// Returns the operating system specified for the patch baseline.
18771	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
18772
18773	// Patch groups included in the patch baseline.
18774	PatchGroups []*string `type:"list"`
18775
18776	// A list of explicitly rejected patches for the baseline.
18777	RejectedPatches []*string `type:"list"`
18778}
18779
18780// String returns the string representation
18781func (s GetPatchBaselineOutput) String() string {
18782	return awsutil.Prettify(s)
18783}
18784
18785// GoString returns the string representation
18786func (s GetPatchBaselineOutput) GoString() string {
18787	return s.String()
18788}
18789
18790// SetApprovalRules sets the ApprovalRules field's value.
18791func (s *GetPatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *GetPatchBaselineOutput {
18792	s.ApprovalRules = v
18793	return s
18794}
18795
18796// SetApprovedPatches sets the ApprovedPatches field's value.
18797func (s *GetPatchBaselineOutput) SetApprovedPatches(v []*string) *GetPatchBaselineOutput {
18798	s.ApprovedPatches = v
18799	return s
18800}
18801
18802// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
18803func (s *GetPatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *GetPatchBaselineOutput {
18804	s.ApprovedPatchesComplianceLevel = &v
18805	return s
18806}
18807
18808// SetBaselineId sets the BaselineId field's value.
18809func (s *GetPatchBaselineOutput) SetBaselineId(v string) *GetPatchBaselineOutput {
18810	s.BaselineId = &v
18811	return s
18812}
18813
18814// SetCreatedDate sets the CreatedDate field's value.
18815func (s *GetPatchBaselineOutput) SetCreatedDate(v time.Time) *GetPatchBaselineOutput {
18816	s.CreatedDate = &v
18817	return s
18818}
18819
18820// SetDescription sets the Description field's value.
18821func (s *GetPatchBaselineOutput) SetDescription(v string) *GetPatchBaselineOutput {
18822	s.Description = &v
18823	return s
18824}
18825
18826// SetGlobalFilters sets the GlobalFilters field's value.
18827func (s *GetPatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *GetPatchBaselineOutput {
18828	s.GlobalFilters = v
18829	return s
18830}
18831
18832// SetModifiedDate sets the ModifiedDate field's value.
18833func (s *GetPatchBaselineOutput) SetModifiedDate(v time.Time) *GetPatchBaselineOutput {
18834	s.ModifiedDate = &v
18835	return s
18836}
18837
18838// SetName sets the Name field's value.
18839func (s *GetPatchBaselineOutput) SetName(v string) *GetPatchBaselineOutput {
18840	s.Name = &v
18841	return s
18842}
18843
18844// SetOperatingSystem sets the OperatingSystem field's value.
18845func (s *GetPatchBaselineOutput) SetOperatingSystem(v string) *GetPatchBaselineOutput {
18846	s.OperatingSystem = &v
18847	return s
18848}
18849
18850// SetPatchGroups sets the PatchGroups field's value.
18851func (s *GetPatchBaselineOutput) SetPatchGroups(v []*string) *GetPatchBaselineOutput {
18852	s.PatchGroups = v
18853	return s
18854}
18855
18856// SetRejectedPatches sets the RejectedPatches field's value.
18857func (s *GetPatchBaselineOutput) SetRejectedPatches(v []*string) *GetPatchBaselineOutput {
18858	s.RejectedPatches = v
18859	return s
18860}
18861
18862// Status information about the aggregated associations.
18863// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceAggregatedAssociationOverview
18864type InstanceAggregatedAssociationOverview struct {
18865	_ struct{} `type:"structure"`
18866
18867	// Detailed status information about the aggregated associations.
18868	DetailedStatus *string `type:"string"`
18869
18870	// The number of associations for the instance(s).
18871	InstanceAssociationStatusAggregatedCount map[string]*int64 `type:"map"`
18872}
18873
18874// String returns the string representation
18875func (s InstanceAggregatedAssociationOverview) String() string {
18876	return awsutil.Prettify(s)
18877}
18878
18879// GoString returns the string representation
18880func (s InstanceAggregatedAssociationOverview) GoString() string {
18881	return s.String()
18882}
18883
18884// SetDetailedStatus sets the DetailedStatus field's value.
18885func (s *InstanceAggregatedAssociationOverview) SetDetailedStatus(v string) *InstanceAggregatedAssociationOverview {
18886	s.DetailedStatus = &v
18887	return s
18888}
18889
18890// SetInstanceAssociationStatusAggregatedCount sets the InstanceAssociationStatusAggregatedCount field's value.
18891func (s *InstanceAggregatedAssociationOverview) SetInstanceAssociationStatusAggregatedCount(v map[string]*int64) *InstanceAggregatedAssociationOverview {
18892	s.InstanceAssociationStatusAggregatedCount = v
18893	return s
18894}
18895
18896// One or more association documents on the instance.
18897// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceAssociation
18898type InstanceAssociation struct {
18899	_ struct{} `type:"structure"`
18900
18901	// The association ID.
18902	AssociationId *string `type:"string"`
18903
18904	// Version information for the association on the instance.
18905	AssociationVersion *string `type:"string"`
18906
18907	// The content of the association document for the instance(s).
18908	Content *string `min:"1" type:"string"`
18909
18910	// The instance ID.
18911	InstanceId *string `type:"string"`
18912}
18913
18914// String returns the string representation
18915func (s InstanceAssociation) String() string {
18916	return awsutil.Prettify(s)
18917}
18918
18919// GoString returns the string representation
18920func (s InstanceAssociation) GoString() string {
18921	return s.String()
18922}
18923
18924// SetAssociationId sets the AssociationId field's value.
18925func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation {
18926	s.AssociationId = &v
18927	return s
18928}
18929
18930// SetAssociationVersion sets the AssociationVersion field's value.
18931func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation {
18932	s.AssociationVersion = &v
18933	return s
18934}
18935
18936// SetContent sets the Content field's value.
18937func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation {
18938	s.Content = &v
18939	return s
18940}
18941
18942// SetInstanceId sets the InstanceId field's value.
18943func (s *InstanceAssociation) SetInstanceId(v string) *InstanceAssociation {
18944	s.InstanceId = &v
18945	return s
18946}
18947
18948// An Amazon S3 bucket where you want to store the results of this request.
18949// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceAssociationOutputLocation
18950type InstanceAssociationOutputLocation struct {
18951	_ struct{} `type:"structure"`
18952
18953	// An Amazon S3 bucket where you want to store the results of this request.
18954	S3Location *S3OutputLocation `type:"structure"`
18955}
18956
18957// String returns the string representation
18958func (s InstanceAssociationOutputLocation) String() string {
18959	return awsutil.Prettify(s)
18960}
18961
18962// GoString returns the string representation
18963func (s InstanceAssociationOutputLocation) GoString() string {
18964	return s.String()
18965}
18966
18967// Validate inspects the fields of the type to determine if they are valid.
18968func (s *InstanceAssociationOutputLocation) Validate() error {
18969	invalidParams := request.ErrInvalidParams{Context: "InstanceAssociationOutputLocation"}
18970	if s.S3Location != nil {
18971		if err := s.S3Location.Validate(); err != nil {
18972			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
18973		}
18974	}
18975
18976	if invalidParams.Len() > 0 {
18977		return invalidParams
18978	}
18979	return nil
18980}
18981
18982// SetS3Location sets the S3Location field's value.
18983func (s *InstanceAssociationOutputLocation) SetS3Location(v *S3OutputLocation) *InstanceAssociationOutputLocation {
18984	s.S3Location = v
18985	return s
18986}
18987
18988// The URL of Amazon S3 bucket where you want to store the results of this request.
18989// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceAssociationOutputUrl
18990type InstanceAssociationOutputUrl struct {
18991	_ struct{} `type:"structure"`
18992
18993	// The URL of Amazon S3 bucket where you want to store the results of this request.
18994	S3OutputUrl *S3OutputUrl `type:"structure"`
18995}
18996
18997// String returns the string representation
18998func (s InstanceAssociationOutputUrl) String() string {
18999	return awsutil.Prettify(s)
19000}
19001
19002// GoString returns the string representation
19003func (s InstanceAssociationOutputUrl) GoString() string {
19004	return s.String()
19005}
19006
19007// SetS3OutputUrl sets the S3OutputUrl field's value.
19008func (s *InstanceAssociationOutputUrl) SetS3OutputUrl(v *S3OutputUrl) *InstanceAssociationOutputUrl {
19009	s.S3OutputUrl = v
19010	return s
19011}
19012
19013// Status information about the instance association.
19014// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceAssociationStatusInfo
19015type InstanceAssociationStatusInfo struct {
19016	_ struct{} `type:"structure"`
19017
19018	// The association ID.
19019	AssociationId *string `type:"string"`
19020
19021	// The name of the association applied to the instance.
19022	AssociationName *string `type:"string"`
19023
19024	// The version of the association applied to the instance.
19025	AssociationVersion *string `type:"string"`
19026
19027	// Detailed status information about the instance association.
19028	DetailedStatus *string `type:"string"`
19029
19030	// The association document verions.
19031	DocumentVersion *string `type:"string"`
19032
19033	// An error code returned by the request to create the association.
19034	ErrorCode *string `type:"string"`
19035
19036	// The date the instance association executed.
19037	ExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
19038
19039	// Summary information about association execution.
19040	ExecutionSummary *string `min:"1" type:"string"`
19041
19042	// The instance ID where the association was created.
19043	InstanceId *string `type:"string"`
19044
19045	// The name of the association.
19046	Name *string `type:"string"`
19047
19048	// A URL for an Amazon S3 bucket where you want to store the results of this
19049	// request.
19050	OutputUrl *InstanceAssociationOutputUrl `type:"structure"`
19051
19052	// Status information about the instance association.
19053	Status *string `type:"string"`
19054}
19055
19056// String returns the string representation
19057func (s InstanceAssociationStatusInfo) String() string {
19058	return awsutil.Prettify(s)
19059}
19060
19061// GoString returns the string representation
19062func (s InstanceAssociationStatusInfo) GoString() string {
19063	return s.String()
19064}
19065
19066// SetAssociationId sets the AssociationId field's value.
19067func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAssociationStatusInfo {
19068	s.AssociationId = &v
19069	return s
19070}
19071
19072// SetAssociationName sets the AssociationName field's value.
19073func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo {
19074	s.AssociationName = &v
19075	return s
19076}
19077
19078// SetAssociationVersion sets the AssociationVersion field's value.
19079func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo {
19080	s.AssociationVersion = &v
19081	return s
19082}
19083
19084// SetDetailedStatus sets the DetailedStatus field's value.
19085func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo {
19086	s.DetailedStatus = &v
19087	return s
19088}
19089
19090// SetDocumentVersion sets the DocumentVersion field's value.
19091func (s *InstanceAssociationStatusInfo) SetDocumentVersion(v string) *InstanceAssociationStatusInfo {
19092	s.DocumentVersion = &v
19093	return s
19094}
19095
19096// SetErrorCode sets the ErrorCode field's value.
19097func (s *InstanceAssociationStatusInfo) SetErrorCode(v string) *InstanceAssociationStatusInfo {
19098	s.ErrorCode = &v
19099	return s
19100}
19101
19102// SetExecutionDate sets the ExecutionDate field's value.
19103func (s *InstanceAssociationStatusInfo) SetExecutionDate(v time.Time) *InstanceAssociationStatusInfo {
19104	s.ExecutionDate = &v
19105	return s
19106}
19107
19108// SetExecutionSummary sets the ExecutionSummary field's value.
19109func (s *InstanceAssociationStatusInfo) SetExecutionSummary(v string) *InstanceAssociationStatusInfo {
19110	s.ExecutionSummary = &v
19111	return s
19112}
19113
19114// SetInstanceId sets the InstanceId field's value.
19115func (s *InstanceAssociationStatusInfo) SetInstanceId(v string) *InstanceAssociationStatusInfo {
19116	s.InstanceId = &v
19117	return s
19118}
19119
19120// SetName sets the Name field's value.
19121func (s *InstanceAssociationStatusInfo) SetName(v string) *InstanceAssociationStatusInfo {
19122	s.Name = &v
19123	return s
19124}
19125
19126// SetOutputUrl sets the OutputUrl field's value.
19127func (s *InstanceAssociationStatusInfo) SetOutputUrl(v *InstanceAssociationOutputUrl) *InstanceAssociationStatusInfo {
19128	s.OutputUrl = v
19129	return s
19130}
19131
19132// SetStatus sets the Status field's value.
19133func (s *InstanceAssociationStatusInfo) SetStatus(v string) *InstanceAssociationStatusInfo {
19134	s.Status = &v
19135	return s
19136}
19137
19138// Describes a filter for a specific list of instances.
19139// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceInformation
19140type InstanceInformation struct {
19141	_ struct{} `type:"structure"`
19142
19143	// The activation ID created by Systems Manager when the server or VM was registered.
19144	ActivationId *string `type:"string"`
19145
19146	// The version of the SSM Agent running on your Linux instance.
19147	AgentVersion *string `type:"string"`
19148
19149	// Information about the association.
19150	AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"`
19151
19152	// The status of the association.
19153	AssociationStatus *string `type:"string"`
19154
19155	// The fully qualified host name of the managed instance.
19156	ComputerName *string `min:"1" type:"string"`
19157
19158	// The IP address of the managed instance.
19159	IPAddress *string `min:"1" type:"string"`
19160
19161	// The Amazon Identity and Access Management (IAM) role assigned to EC2 instances
19162	// or managed instances.
19163	IamRole *string `type:"string"`
19164
19165	// The instance ID.
19166	InstanceId *string `type:"string"`
19167
19168	// Indicates whether latest version of the SSM Agent is running on your instance.
19169	IsLatestVersion *bool `type:"boolean"`
19170
19171	// The date the association was last executed.
19172	LastAssociationExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
19173
19174	// The date and time when agent last pinged Systems Manager service.
19175	LastPingDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
19176
19177	// The last date the association was successfully run.
19178	LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
19179
19180	// The name of the managed instance.
19181	Name *string `type:"string"`
19182
19183	// Connection status of the SSM Agent.
19184	PingStatus *string `type:"string" enum:"PingStatus"`
19185
19186	// The name of the operating system platform running on your instance.
19187	PlatformName *string `type:"string"`
19188
19189	// The operating system platform type.
19190	PlatformType *string `type:"string" enum:"PlatformType"`
19191
19192	// The version of the OS platform running on your instance.
19193	PlatformVersion *string `type:"string"`
19194
19195	// The date the server or VM was registered with AWS as a managed instance.
19196	RegistrationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
19197
19198	// The type of instance. Instances are either EC2 instances or managed instances.
19199	ResourceType *string `type:"string" enum:"ResourceType"`
19200}
19201
19202// String returns the string representation
19203func (s InstanceInformation) String() string {
19204	return awsutil.Prettify(s)
19205}
19206
19207// GoString returns the string representation
19208func (s InstanceInformation) GoString() string {
19209	return s.String()
19210}
19211
19212// SetActivationId sets the ActivationId field's value.
19213func (s *InstanceInformation) SetActivationId(v string) *InstanceInformation {
19214	s.ActivationId = &v
19215	return s
19216}
19217
19218// SetAgentVersion sets the AgentVersion field's value.
19219func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation {
19220	s.AgentVersion = &v
19221	return s
19222}
19223
19224// SetAssociationOverview sets the AssociationOverview field's value.
19225func (s *InstanceInformation) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceInformation {
19226	s.AssociationOverview = v
19227	return s
19228}
19229
19230// SetAssociationStatus sets the AssociationStatus field's value.
19231func (s *InstanceInformation) SetAssociationStatus(v string) *InstanceInformation {
19232	s.AssociationStatus = &v
19233	return s
19234}
19235
19236// SetComputerName sets the ComputerName field's value.
19237func (s *InstanceInformation) SetComputerName(v string) *InstanceInformation {
19238	s.ComputerName = &v
19239	return s
19240}
19241
19242// SetIPAddress sets the IPAddress field's value.
19243func (s *InstanceInformation) SetIPAddress(v string) *InstanceInformation {
19244	s.IPAddress = &v
19245	return s
19246}
19247
19248// SetIamRole sets the IamRole field's value.
19249func (s *InstanceInformation) SetIamRole(v string) *InstanceInformation {
19250	s.IamRole = &v
19251	return s
19252}
19253
19254// SetInstanceId sets the InstanceId field's value.
19255func (s *InstanceInformation) SetInstanceId(v string) *InstanceInformation {
19256	s.InstanceId = &v
19257	return s
19258}
19259
19260// SetIsLatestVersion sets the IsLatestVersion field's value.
19261func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation {
19262	s.IsLatestVersion = &v
19263	return s
19264}
19265
19266// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value.
19267func (s *InstanceInformation) SetLastAssociationExecutionDate(v time.Time) *InstanceInformation {
19268	s.LastAssociationExecutionDate = &v
19269	return s
19270}
19271
19272// SetLastPingDateTime sets the LastPingDateTime field's value.
19273func (s *InstanceInformation) SetLastPingDateTime(v time.Time) *InstanceInformation {
19274	s.LastPingDateTime = &v
19275	return s
19276}
19277
19278// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value.
19279func (s *InstanceInformation) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceInformation {
19280	s.LastSuccessfulAssociationExecutionDate = &v
19281	return s
19282}
19283
19284// SetName sets the Name field's value.
19285func (s *InstanceInformation) SetName(v string) *InstanceInformation {
19286	s.Name = &v
19287	return s
19288}
19289
19290// SetPingStatus sets the PingStatus field's value.
19291func (s *InstanceInformation) SetPingStatus(v string) *InstanceInformation {
19292	s.PingStatus = &v
19293	return s
19294}
19295
19296// SetPlatformName sets the PlatformName field's value.
19297func (s *InstanceInformation) SetPlatformName(v string) *InstanceInformation {
19298	s.PlatformName = &v
19299	return s
19300}
19301
19302// SetPlatformType sets the PlatformType field's value.
19303func (s *InstanceInformation) SetPlatformType(v string) *InstanceInformation {
19304	s.PlatformType = &v
19305	return s
19306}
19307
19308// SetPlatformVersion sets the PlatformVersion field's value.
19309func (s *InstanceInformation) SetPlatformVersion(v string) *InstanceInformation {
19310	s.PlatformVersion = &v
19311	return s
19312}
19313
19314// SetRegistrationDate sets the RegistrationDate field's value.
19315func (s *InstanceInformation) SetRegistrationDate(v time.Time) *InstanceInformation {
19316	s.RegistrationDate = &v
19317	return s
19318}
19319
19320// SetResourceType sets the ResourceType field's value.
19321func (s *InstanceInformation) SetResourceType(v string) *InstanceInformation {
19322	s.ResourceType = &v
19323	return s
19324}
19325
19326// Describes a filter for a specific list of instances.
19327// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceInformationFilter
19328type InstanceInformationFilter struct {
19329	_ struct{} `type:"structure"`
19330
19331	// The name of the filter.
19332	//
19333	// Key is a required field
19334	Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"`
19335
19336	// The filter values.
19337	//
19338	// ValueSet is a required field
19339	ValueSet []*string `locationName:"valueSet" locationNameList:"InstanceInformationFilterValue" min:"1" type:"list" required:"true"`
19340}
19341
19342// String returns the string representation
19343func (s InstanceInformationFilter) String() string {
19344	return awsutil.Prettify(s)
19345}
19346
19347// GoString returns the string representation
19348func (s InstanceInformationFilter) GoString() string {
19349	return s.String()
19350}
19351
19352// Validate inspects the fields of the type to determine if they are valid.
19353func (s *InstanceInformationFilter) Validate() error {
19354	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"}
19355	if s.Key == nil {
19356		invalidParams.Add(request.NewErrParamRequired("Key"))
19357	}
19358	if s.ValueSet == nil {
19359		invalidParams.Add(request.NewErrParamRequired("ValueSet"))
19360	}
19361	if s.ValueSet != nil && len(s.ValueSet) < 1 {
19362		invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1))
19363	}
19364
19365	if invalidParams.Len() > 0 {
19366		return invalidParams
19367	}
19368	return nil
19369}
19370
19371// SetKey sets the Key field's value.
19372func (s *InstanceInformationFilter) SetKey(v string) *InstanceInformationFilter {
19373	s.Key = &v
19374	return s
19375}
19376
19377// SetValueSet sets the ValueSet field's value.
19378func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformationFilter {
19379	s.ValueSet = v
19380	return s
19381}
19382
19383// The filters to describe or get information about your managed instances.
19384// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceInformationStringFilter
19385type InstanceInformationStringFilter struct {
19386	_ struct{} `type:"structure"`
19387
19388	// The filter key name to describe your instances. For example:
19389	//
19390	// "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag
19391	// Key"
19392	//
19393	// Key is a required field
19394	Key *string `min:"1" type:"string" required:"true"`
19395
19396	// The filter values.
19397	//
19398	// Values is a required field
19399	Values []*string `locationNameList:"InstanceInformationFilterValue" min:"1" type:"list" required:"true"`
19400}
19401
19402// String returns the string representation
19403func (s InstanceInformationStringFilter) String() string {
19404	return awsutil.Prettify(s)
19405}
19406
19407// GoString returns the string representation
19408func (s InstanceInformationStringFilter) GoString() string {
19409	return s.String()
19410}
19411
19412// Validate inspects the fields of the type to determine if they are valid.
19413func (s *InstanceInformationStringFilter) Validate() error {
19414	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationStringFilter"}
19415	if s.Key == nil {
19416		invalidParams.Add(request.NewErrParamRequired("Key"))
19417	}
19418	if s.Key != nil && len(*s.Key) < 1 {
19419		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19420	}
19421	if s.Values == nil {
19422		invalidParams.Add(request.NewErrParamRequired("Values"))
19423	}
19424	if s.Values != nil && len(s.Values) < 1 {
19425		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
19426	}
19427
19428	if invalidParams.Len() > 0 {
19429		return invalidParams
19430	}
19431	return nil
19432}
19433
19434// SetKey sets the Key field's value.
19435func (s *InstanceInformationStringFilter) SetKey(v string) *InstanceInformationStringFilter {
19436	s.Key = &v
19437	return s
19438}
19439
19440// SetValues sets the Values field's value.
19441func (s *InstanceInformationStringFilter) SetValues(v []*string) *InstanceInformationStringFilter {
19442	s.Values = v
19443	return s
19444}
19445
19446// Defines the high-level patch compliance state for a managed instance, providing
19447// information about the number of installed, missing, not applicable, and failed
19448// patches along with metadata about the operation when this information was
19449// gathered for the instance.
19450// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstancePatchState
19451type InstancePatchState struct {
19452	_ struct{} `type:"structure"`
19453
19454	// The ID of the patch baseline used to patch the instance.
19455	//
19456	// BaselineId is a required field
19457	BaselineId *string `min:"20" type:"string" required:"true"`
19458
19459	// The number of patches from the patch baseline that were attempted to be installed
19460	// during the last patching operation, but failed to install.
19461	FailedCount *int64 `type:"integer"`
19462
19463	// The number of patches from the patch baseline that are installed on the instance.
19464	InstalledCount *int64 `type:"integer"`
19465
19466	// The number of patches not specified in the patch baseline that are installed
19467	// on the instance.
19468	InstalledOtherCount *int64 `type:"integer"`
19469
19470	// The ID of the managed instance the high-level patch compliance information
19471	// was collected for.
19472	//
19473	// InstanceId is a required field
19474	InstanceId *string `type:"string" required:"true"`
19475
19476	// The number of patches from the patch baseline that are applicable for the
19477	// instance but aren't currently installed.
19478	MissingCount *int64 `type:"integer"`
19479
19480	// The number of patches from the patch baseline that aren't applicable for
19481	// the instance and hence aren't installed on the instance.
19482	NotApplicableCount *int64 `type:"integer"`
19483
19484	// The type of patching operation that was performed: SCAN (assess patch compliance
19485	// state) or INSTALL (install missing patches).
19486	//
19487	// Operation is a required field
19488	Operation *string `type:"string" required:"true" enum:"PatchOperationType"`
19489
19490	// The time the most recent patching operation completed on the instance.
19491	//
19492	// OperationEndTime is a required field
19493	OperationEndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
19494
19495	// The time the most recent patching operation was started on the instance.
19496	//
19497	// OperationStartTime is a required field
19498	OperationStartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
19499
19500	// Placeholder information, this field will always be empty in the current release
19501	// of the service.
19502	OwnerInformation *string `min:"1" type:"string"`
19503
19504	// The name of the patch group the managed instance belongs to.
19505	//
19506	// PatchGroup is a required field
19507	PatchGroup *string `min:"1" type:"string" required:"true"`
19508
19509	// The ID of the patch baseline snapshot used during the patching operation
19510	// when this compliance data was collected.
19511	SnapshotId *string `min:"36" type:"string"`
19512}
19513
19514// String returns the string representation
19515func (s InstancePatchState) String() string {
19516	return awsutil.Prettify(s)
19517}
19518
19519// GoString returns the string representation
19520func (s InstancePatchState) GoString() string {
19521	return s.String()
19522}
19523
19524// SetBaselineId sets the BaselineId field's value.
19525func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState {
19526	s.BaselineId = &v
19527	return s
19528}
19529
19530// SetFailedCount sets the FailedCount field's value.
19531func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState {
19532	s.FailedCount = &v
19533	return s
19534}
19535
19536// SetInstalledCount sets the InstalledCount field's value.
19537func (s *InstancePatchState) SetInstalledCount(v int64) *InstancePatchState {
19538	s.InstalledCount = &v
19539	return s
19540}
19541
19542// SetInstalledOtherCount sets the InstalledOtherCount field's value.
19543func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState {
19544	s.InstalledOtherCount = &v
19545	return s
19546}
19547
19548// SetInstanceId sets the InstanceId field's value.
19549func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState {
19550	s.InstanceId = &v
19551	return s
19552}
19553
19554// SetMissingCount sets the MissingCount field's value.
19555func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState {
19556	s.MissingCount = &v
19557	return s
19558}
19559
19560// SetNotApplicableCount sets the NotApplicableCount field's value.
19561func (s *InstancePatchState) SetNotApplicableCount(v int64) *InstancePatchState {
19562	s.NotApplicableCount = &v
19563	return s
19564}
19565
19566// SetOperation sets the Operation field's value.
19567func (s *InstancePatchState) SetOperation(v string) *InstancePatchState {
19568	s.Operation = &v
19569	return s
19570}
19571
19572// SetOperationEndTime sets the OperationEndTime field's value.
19573func (s *InstancePatchState) SetOperationEndTime(v time.Time) *InstancePatchState {
19574	s.OperationEndTime = &v
19575	return s
19576}
19577
19578// SetOperationStartTime sets the OperationStartTime field's value.
19579func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchState {
19580	s.OperationStartTime = &v
19581	return s
19582}
19583
19584// SetOwnerInformation sets the OwnerInformation field's value.
19585func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState {
19586	s.OwnerInformation = &v
19587	return s
19588}
19589
19590// SetPatchGroup sets the PatchGroup field's value.
19591func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState {
19592	s.PatchGroup = &v
19593	return s
19594}
19595
19596// SetSnapshotId sets the SnapshotId field's value.
19597func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState {
19598	s.SnapshotId = &v
19599	return s
19600}
19601
19602// Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to
19603// scope down the information returned by the API.
19604// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstancePatchStateFilter
19605type InstancePatchStateFilter struct {
19606	_ struct{} `type:"structure"`
19607
19608	// The key for the filter. Supported values are FailedCount, InstalledCount,
19609	// InstalledOtherCount, MissingCount and NotApplicableCount.
19610	//
19611	// Key is a required field
19612	Key *string `min:"1" type:"string" required:"true"`
19613
19614	// The type of comparison that should be performed for the value: Equal, NotEqual,
19615	// LessThan or GreaterThan.
19616	//
19617	// Type is a required field
19618	Type *string `type:"string" required:"true" enum:"InstancePatchStateOperatorType"`
19619
19620	// The value for the filter, must be an integer greater than or equal to 0.
19621	//
19622	// Values is a required field
19623	Values []*string `min:"1" type:"list" required:"true"`
19624}
19625
19626// String returns the string representation
19627func (s InstancePatchStateFilter) String() string {
19628	return awsutil.Prettify(s)
19629}
19630
19631// GoString returns the string representation
19632func (s InstancePatchStateFilter) GoString() string {
19633	return s.String()
19634}
19635
19636// Validate inspects the fields of the type to determine if they are valid.
19637func (s *InstancePatchStateFilter) Validate() error {
19638	invalidParams := request.ErrInvalidParams{Context: "InstancePatchStateFilter"}
19639	if s.Key == nil {
19640		invalidParams.Add(request.NewErrParamRequired("Key"))
19641	}
19642	if s.Key != nil && len(*s.Key) < 1 {
19643		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19644	}
19645	if s.Type == nil {
19646		invalidParams.Add(request.NewErrParamRequired("Type"))
19647	}
19648	if s.Values == nil {
19649		invalidParams.Add(request.NewErrParamRequired("Values"))
19650	}
19651	if s.Values != nil && len(s.Values) < 1 {
19652		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
19653	}
19654
19655	if invalidParams.Len() > 0 {
19656		return invalidParams
19657	}
19658	return nil
19659}
19660
19661// SetKey sets the Key field's value.
19662func (s *InstancePatchStateFilter) SetKey(v string) *InstancePatchStateFilter {
19663	s.Key = &v
19664	return s
19665}
19666
19667// SetType sets the Type field's value.
19668func (s *InstancePatchStateFilter) SetType(v string) *InstancePatchStateFilter {
19669	s.Type = &v
19670	return s
19671}
19672
19673// SetValues sets the Values field's value.
19674func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFilter {
19675	s.Values = v
19676	return s
19677}
19678
19679// One or more filters. Use a filter to return a more specific list of results.
19680// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryFilter
19681type InventoryFilter struct {
19682	_ struct{} `type:"structure"`
19683
19684	// The name of the filter key.
19685	//
19686	// Key is a required field
19687	Key *string `min:"1" type:"string" required:"true"`
19688
19689	// The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"
19690	Type *string `type:"string" enum:"InventoryQueryOperatorType"`
19691
19692	// Inventory filter values. Example: inventory filter where instance IDs are
19693	// specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
19694	// i-1a2b3c4d5e6,Type=Equal
19695	//
19696	// Values is a required field
19697	Values []*string `locationNameList:"FilterValue" min:"1" type:"list" required:"true"`
19698}
19699
19700// String returns the string representation
19701func (s InventoryFilter) String() string {
19702	return awsutil.Prettify(s)
19703}
19704
19705// GoString returns the string representation
19706func (s InventoryFilter) GoString() string {
19707	return s.String()
19708}
19709
19710// Validate inspects the fields of the type to determine if they are valid.
19711func (s *InventoryFilter) Validate() error {
19712	invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
19713	if s.Key == nil {
19714		invalidParams.Add(request.NewErrParamRequired("Key"))
19715	}
19716	if s.Key != nil && len(*s.Key) < 1 {
19717		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19718	}
19719	if s.Values == nil {
19720		invalidParams.Add(request.NewErrParamRequired("Values"))
19721	}
19722	if s.Values != nil && len(s.Values) < 1 {
19723		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
19724	}
19725
19726	if invalidParams.Len() > 0 {
19727		return invalidParams
19728	}
19729	return nil
19730}
19731
19732// SetKey sets the Key field's value.
19733func (s *InventoryFilter) SetKey(v string) *InventoryFilter {
19734	s.Key = &v
19735	return s
19736}
19737
19738// SetType sets the Type field's value.
19739func (s *InventoryFilter) SetType(v string) *InventoryFilter {
19740	s.Type = &v
19741	return s
19742}
19743
19744// SetValues sets the Values field's value.
19745func (s *InventoryFilter) SetValues(v []*string) *InventoryFilter {
19746	s.Values = v
19747	return s
19748}
19749
19750// Information collected from managed instances based on your inventory policy
19751// document
19752// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryItem
19753type InventoryItem struct {
19754	_ struct{} `type:"structure"`
19755
19756	// The time the inventory information was collected.
19757	//
19758	// CaptureTime is a required field
19759	CaptureTime *string `type:"string" required:"true"`
19760
19761	// The inventory data of the inventory type.
19762	Content []map[string]*string `type:"list"`
19763
19764	// MD5 hash of the inventory item type contents. The content hash is used to
19765	// determine whether to update inventory information. The PutInventory API does
19766	// not update the inventory item type contents if the MD5 hash has not changed
19767	// since last update.
19768	ContentHash *string `type:"string"`
19769
19770	// A map of associated properties for a specified inventory type. For example,
19771	// with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType
19772	// properties of the AWS:ComplianceItem type.
19773	Context map[string]*string `type:"map"`
19774
19775	// The schema version for the inventory item.
19776	//
19777	// SchemaVersion is a required field
19778	SchemaVersion *string `type:"string" required:"true"`
19779
19780	// The name of the inventory type. Default inventory item type names start with
19781	// AWS. Custom inventory type names will start with Custom. Default inventory
19782	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
19783	// AWS:Network, and AWS:WindowsUpdate.
19784	//
19785	// TypeName is a required field
19786	TypeName *string `min:"1" type:"string" required:"true"`
19787}
19788
19789// String returns the string representation
19790func (s InventoryItem) String() string {
19791	return awsutil.Prettify(s)
19792}
19793
19794// GoString returns the string representation
19795func (s InventoryItem) GoString() string {
19796	return s.String()
19797}
19798
19799// Validate inspects the fields of the type to determine if they are valid.
19800func (s *InventoryItem) Validate() error {
19801	invalidParams := request.ErrInvalidParams{Context: "InventoryItem"}
19802	if s.CaptureTime == nil {
19803		invalidParams.Add(request.NewErrParamRequired("CaptureTime"))
19804	}
19805	if s.SchemaVersion == nil {
19806		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
19807	}
19808	if s.TypeName == nil {
19809		invalidParams.Add(request.NewErrParamRequired("TypeName"))
19810	}
19811	if s.TypeName != nil && len(*s.TypeName) < 1 {
19812		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
19813	}
19814
19815	if invalidParams.Len() > 0 {
19816		return invalidParams
19817	}
19818	return nil
19819}
19820
19821// SetCaptureTime sets the CaptureTime field's value.
19822func (s *InventoryItem) SetCaptureTime(v string) *InventoryItem {
19823	s.CaptureTime = &v
19824	return s
19825}
19826
19827// SetContent sets the Content field's value.
19828func (s *InventoryItem) SetContent(v []map[string]*string) *InventoryItem {
19829	s.Content = v
19830	return s
19831}
19832
19833// SetContentHash sets the ContentHash field's value.
19834func (s *InventoryItem) SetContentHash(v string) *InventoryItem {
19835	s.ContentHash = &v
19836	return s
19837}
19838
19839// SetContext sets the Context field's value.
19840func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem {
19841	s.Context = v
19842	return s
19843}
19844
19845// SetSchemaVersion sets the SchemaVersion field's value.
19846func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem {
19847	s.SchemaVersion = &v
19848	return s
19849}
19850
19851// SetTypeName sets the TypeName field's value.
19852func (s *InventoryItem) SetTypeName(v string) *InventoryItem {
19853	s.TypeName = &v
19854	return s
19855}
19856
19857// Attributes are the entries within the inventory item content. It contains
19858// name and value.
19859// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryItemAttribute
19860type InventoryItemAttribute struct {
19861	_ struct{} `type:"structure"`
19862
19863	// The data type of the inventory item attribute.
19864	//
19865	// DataType is a required field
19866	DataType *string `type:"string" required:"true" enum:"InventoryAttributeDataType"`
19867
19868	// Name of the inventory item attribute.
19869	//
19870	// Name is a required field
19871	Name *string `type:"string" required:"true"`
19872}
19873
19874// String returns the string representation
19875func (s InventoryItemAttribute) String() string {
19876	return awsutil.Prettify(s)
19877}
19878
19879// GoString returns the string representation
19880func (s InventoryItemAttribute) GoString() string {
19881	return s.String()
19882}
19883
19884// SetDataType sets the DataType field's value.
19885func (s *InventoryItemAttribute) SetDataType(v string) *InventoryItemAttribute {
19886	s.DataType = &v
19887	return s
19888}
19889
19890// SetName sets the Name field's value.
19891func (s *InventoryItemAttribute) SetName(v string) *InventoryItemAttribute {
19892	s.Name = &v
19893	return s
19894}
19895
19896// The inventory item schema definition. Users can use this to compose inventory
19897// query filters.
19898// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryItemSchema
19899type InventoryItemSchema struct {
19900	_ struct{} `type:"structure"`
19901
19902	// The schema attributes for inventory. This contains data type and attribute
19903	// name.
19904	//
19905	// Attributes is a required field
19906	Attributes []*InventoryItemAttribute `locationNameList:"Attribute" min:"1" type:"list" required:"true"`
19907
19908	// The name of the inventory type. Default inventory item type names start with
19909	// AWS. Custom inventory type names will start with Custom. Default inventory
19910	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
19911	// AWS:Network, and AWS:WindowsUpdate.
19912	//
19913	// TypeName is a required field
19914	TypeName *string `min:"1" type:"string" required:"true"`
19915
19916	// The schema version for the inventory item.
19917	Version *string `type:"string"`
19918}
19919
19920// String returns the string representation
19921func (s InventoryItemSchema) String() string {
19922	return awsutil.Prettify(s)
19923}
19924
19925// GoString returns the string representation
19926func (s InventoryItemSchema) GoString() string {
19927	return s.String()
19928}
19929
19930// SetAttributes sets the Attributes field's value.
19931func (s *InventoryItemSchema) SetAttributes(v []*InventoryItemAttribute) *InventoryItemSchema {
19932	s.Attributes = v
19933	return s
19934}
19935
19936// SetTypeName sets the TypeName field's value.
19937func (s *InventoryItemSchema) SetTypeName(v string) *InventoryItemSchema {
19938	s.TypeName = &v
19939	return s
19940}
19941
19942// SetVersion sets the Version field's value.
19943func (s *InventoryItemSchema) SetVersion(v string) *InventoryItemSchema {
19944	s.Version = &v
19945	return s
19946}
19947
19948// Inventory query results.
19949// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryResultEntity
19950type InventoryResultEntity struct {
19951	_ struct{} `type:"structure"`
19952
19953	// The data section in the inventory result entity json.
19954	Data map[string]*InventoryResultItem `type:"map"`
19955
19956	// ID of the inventory result entity. For example, for managed instance inventory
19957	// the result will be the managed instance ID. For EC2 instance inventory, the
19958	// result will be the instance ID.
19959	Id *string `type:"string"`
19960}
19961
19962// String returns the string representation
19963func (s InventoryResultEntity) String() string {
19964	return awsutil.Prettify(s)
19965}
19966
19967// GoString returns the string representation
19968func (s InventoryResultEntity) GoString() string {
19969	return s.String()
19970}
19971
19972// SetData sets the Data field's value.
19973func (s *InventoryResultEntity) SetData(v map[string]*InventoryResultItem) *InventoryResultEntity {
19974	s.Data = v
19975	return s
19976}
19977
19978// SetId sets the Id field's value.
19979func (s *InventoryResultEntity) SetId(v string) *InventoryResultEntity {
19980	s.Id = &v
19981	return s
19982}
19983
19984// The inventory result item.
19985// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InventoryResultItem
19986type InventoryResultItem struct {
19987	_ struct{} `type:"structure"`
19988
19989	// The time inventory item data was captured.
19990	CaptureTime *string `type:"string"`
19991
19992	// Contains all the inventory data of the item type. Results include attribute
19993	// names and values.
19994	//
19995	// Content is a required field
19996	Content []map[string]*string `type:"list" required:"true"`
19997
19998	// MD5 hash of the inventory item type contents. The content hash is used to
19999	// determine whether to update inventory information. The PutInventory API does
20000	// not update the inventory item type contents if the MD5 hash has not changed
20001	// since last update.
20002	ContentHash *string `type:"string"`
20003
20004	// The schema version for the inventory result item/
20005	//
20006	// SchemaVersion is a required field
20007	SchemaVersion *string `type:"string" required:"true"`
20008
20009	// The name of the inventory result item type.
20010	//
20011	// TypeName is a required field
20012	TypeName *string `min:"1" type:"string" required:"true"`
20013}
20014
20015// String returns the string representation
20016func (s InventoryResultItem) String() string {
20017	return awsutil.Prettify(s)
20018}
20019
20020// GoString returns the string representation
20021func (s InventoryResultItem) GoString() string {
20022	return s.String()
20023}
20024
20025// SetCaptureTime sets the CaptureTime field's value.
20026func (s *InventoryResultItem) SetCaptureTime(v string) *InventoryResultItem {
20027	s.CaptureTime = &v
20028	return s
20029}
20030
20031// SetContent sets the Content field's value.
20032func (s *InventoryResultItem) SetContent(v []map[string]*string) *InventoryResultItem {
20033	s.Content = v
20034	return s
20035}
20036
20037// SetContentHash sets the ContentHash field's value.
20038func (s *InventoryResultItem) SetContentHash(v string) *InventoryResultItem {
20039	s.ContentHash = &v
20040	return s
20041}
20042
20043// SetSchemaVersion sets the SchemaVersion field's value.
20044func (s *InventoryResultItem) SetSchemaVersion(v string) *InventoryResultItem {
20045	s.SchemaVersion = &v
20046	return s
20047}
20048
20049// SetTypeName sets the TypeName field's value.
20050func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem {
20051	s.TypeName = &v
20052	return s
20053}
20054
20055// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersionsRequest
20056type ListAssociationVersionsInput struct {
20057	_ struct{} `type:"structure"`
20058
20059	// The association ID for which you want to view all versions.
20060	//
20061	// AssociationId is a required field
20062	AssociationId *string `type:"string" required:"true"`
20063
20064	// The maximum number of items to return for this call. The call also returns
20065	// a token that you can specify in a subsequent call to get the next set of
20066	// results.
20067	MaxResults *int64 `min:"1" type:"integer"`
20068
20069	// A token to start the list. Use this token to get the next set of results.
20070	NextToken *string `type:"string"`
20071}
20072
20073// String returns the string representation
20074func (s ListAssociationVersionsInput) String() string {
20075	return awsutil.Prettify(s)
20076}
20077
20078// GoString returns the string representation
20079func (s ListAssociationVersionsInput) GoString() string {
20080	return s.String()
20081}
20082
20083// Validate inspects the fields of the type to determine if they are valid.
20084func (s *ListAssociationVersionsInput) Validate() error {
20085	invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"}
20086	if s.AssociationId == nil {
20087		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
20088	}
20089	if s.MaxResults != nil && *s.MaxResults < 1 {
20090		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20091	}
20092
20093	if invalidParams.Len() > 0 {
20094		return invalidParams
20095	}
20096	return nil
20097}
20098
20099// SetAssociationId sets the AssociationId field's value.
20100func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput {
20101	s.AssociationId = &v
20102	return s
20103}
20104
20105// SetMaxResults sets the MaxResults field's value.
20106func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput {
20107	s.MaxResults = &v
20108	return s
20109}
20110
20111// SetNextToken sets the NextToken field's value.
20112func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput {
20113	s.NextToken = &v
20114	return s
20115}
20116
20117// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersionsResult
20118type ListAssociationVersionsOutput struct {
20119	_ struct{} `type:"structure"`
20120
20121	// Information about all versions of the association for the specified association
20122	// ID.
20123	AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"`
20124
20125	// The token for the next set of items to return. Use this token to get the
20126	// next set of results.
20127	NextToken *string `type:"string"`
20128}
20129
20130// String returns the string representation
20131func (s ListAssociationVersionsOutput) String() string {
20132	return awsutil.Prettify(s)
20133}
20134
20135// GoString returns the string representation
20136func (s ListAssociationVersionsOutput) GoString() string {
20137	return s.String()
20138}
20139
20140// SetAssociationVersions sets the AssociationVersions field's value.
20141func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput {
20142	s.AssociationVersions = v
20143	return s
20144}
20145
20146// SetNextToken sets the NextToken field's value.
20147func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput {
20148	s.NextToken = &v
20149	return s
20150}
20151
20152// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationsRequest
20153type ListAssociationsInput struct {
20154	_ struct{} `type:"structure"`
20155
20156	// One or more filters. Use a filter to return a more specific list of results.
20157	AssociationFilterList []*AssociationFilter `locationNameList:"AssociationFilter" min:"1" type:"list"`
20158
20159	// The maximum number of items to return for this call. The call also returns
20160	// a token that you can specify in a subsequent call to get the next set of
20161	// results.
20162	MaxResults *int64 `min:"1" type:"integer"`
20163
20164	// The token for the next set of items to return. (You received this token from
20165	// a previous call.)
20166	NextToken *string `type:"string"`
20167}
20168
20169// String returns the string representation
20170func (s ListAssociationsInput) String() string {
20171	return awsutil.Prettify(s)
20172}
20173
20174// GoString returns the string representation
20175func (s ListAssociationsInput) GoString() string {
20176	return s.String()
20177}
20178
20179// Validate inspects the fields of the type to determine if they are valid.
20180func (s *ListAssociationsInput) Validate() error {
20181	invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"}
20182	if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 {
20183		invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1))
20184	}
20185	if s.MaxResults != nil && *s.MaxResults < 1 {
20186		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20187	}
20188	if s.AssociationFilterList != nil {
20189		for i, v := range s.AssociationFilterList {
20190			if v == nil {
20191				continue
20192			}
20193			if err := v.Validate(); err != nil {
20194				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams))
20195			}
20196		}
20197	}
20198
20199	if invalidParams.Len() > 0 {
20200		return invalidParams
20201	}
20202	return nil
20203}
20204
20205// SetAssociationFilterList sets the AssociationFilterList field's value.
20206func (s *ListAssociationsInput) SetAssociationFilterList(v []*AssociationFilter) *ListAssociationsInput {
20207	s.AssociationFilterList = v
20208	return s
20209}
20210
20211// SetMaxResults sets the MaxResults field's value.
20212func (s *ListAssociationsInput) SetMaxResults(v int64) *ListAssociationsInput {
20213	s.MaxResults = &v
20214	return s
20215}
20216
20217// SetNextToken sets the NextToken field's value.
20218func (s *ListAssociationsInput) SetNextToken(v string) *ListAssociationsInput {
20219	s.NextToken = &v
20220	return s
20221}
20222
20223// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationsResult
20224type ListAssociationsOutput struct {
20225	_ struct{} `type:"structure"`
20226
20227	// The associations.
20228	Associations []*Association `locationNameList:"Association" type:"list"`
20229
20230	// The token to use when requesting the next set of items. If there are no additional
20231	// items to return, the string is empty.
20232	NextToken *string `type:"string"`
20233}
20234
20235// String returns the string representation
20236func (s ListAssociationsOutput) String() string {
20237	return awsutil.Prettify(s)
20238}
20239
20240// GoString returns the string representation
20241func (s ListAssociationsOutput) GoString() string {
20242	return s.String()
20243}
20244
20245// SetAssociations sets the Associations field's value.
20246func (s *ListAssociationsOutput) SetAssociations(v []*Association) *ListAssociationsOutput {
20247	s.Associations = v
20248	return s
20249}
20250
20251// SetNextToken sets the NextToken field's value.
20252func (s *ListAssociationsOutput) SetNextToken(v string) *ListAssociationsOutput {
20253	s.NextToken = &v
20254	return s
20255}
20256
20257// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocationsRequest
20258type ListCommandInvocationsInput struct {
20259	_ struct{} `type:"structure"`
20260
20261	// (Optional) The invocations for a specific command ID.
20262	CommandId *string `min:"36" type:"string"`
20263
20264	// (Optional) If set this returns the response of the command executions and
20265	// any command output. By default this is set to False.
20266	Details *bool `type:"boolean"`
20267
20268	// (Optional) One or more filters. Use a filter to return a more specific list
20269	// of results.
20270	Filters []*CommandFilter `min:"1" type:"list"`
20271
20272	// (Optional) The command execution details for a specific instance ID.
20273	InstanceId *string `type:"string"`
20274
20275	// (Optional) The maximum number of items to return for this call. The call
20276	// also returns a token that you can specify in a subsequent call to get the
20277	// next set of results.
20278	MaxResults *int64 `min:"1" type:"integer"`
20279
20280	// (Optional) The token for the next set of items to return. (You received this
20281	// token from a previous call.)
20282	NextToken *string `type:"string"`
20283}
20284
20285// String returns the string representation
20286func (s ListCommandInvocationsInput) String() string {
20287	return awsutil.Prettify(s)
20288}
20289
20290// GoString returns the string representation
20291func (s ListCommandInvocationsInput) GoString() string {
20292	return s.String()
20293}
20294
20295// Validate inspects the fields of the type to determine if they are valid.
20296func (s *ListCommandInvocationsInput) Validate() error {
20297	invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"}
20298	if s.CommandId != nil && len(*s.CommandId) < 36 {
20299		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
20300	}
20301	if s.Filters != nil && len(s.Filters) < 1 {
20302		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
20303	}
20304	if s.MaxResults != nil && *s.MaxResults < 1 {
20305		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20306	}
20307	if s.Filters != nil {
20308		for i, v := range s.Filters {
20309			if v == nil {
20310				continue
20311			}
20312			if err := v.Validate(); err != nil {
20313				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20314			}
20315		}
20316	}
20317
20318	if invalidParams.Len() > 0 {
20319		return invalidParams
20320	}
20321	return nil
20322}
20323
20324// SetCommandId sets the CommandId field's value.
20325func (s *ListCommandInvocationsInput) SetCommandId(v string) *ListCommandInvocationsInput {
20326	s.CommandId = &v
20327	return s
20328}
20329
20330// SetDetails sets the Details field's value.
20331func (s *ListCommandInvocationsInput) SetDetails(v bool) *ListCommandInvocationsInput {
20332	s.Details = &v
20333	return s
20334}
20335
20336// SetFilters sets the Filters field's value.
20337func (s *ListCommandInvocationsInput) SetFilters(v []*CommandFilter) *ListCommandInvocationsInput {
20338	s.Filters = v
20339	return s
20340}
20341
20342// SetInstanceId sets the InstanceId field's value.
20343func (s *ListCommandInvocationsInput) SetInstanceId(v string) *ListCommandInvocationsInput {
20344	s.InstanceId = &v
20345	return s
20346}
20347
20348// SetMaxResults sets the MaxResults field's value.
20349func (s *ListCommandInvocationsInput) SetMaxResults(v int64) *ListCommandInvocationsInput {
20350	s.MaxResults = &v
20351	return s
20352}
20353
20354// SetNextToken sets the NextToken field's value.
20355func (s *ListCommandInvocationsInput) SetNextToken(v string) *ListCommandInvocationsInput {
20356	s.NextToken = &v
20357	return s
20358}
20359
20360// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocationsResult
20361type ListCommandInvocationsOutput struct {
20362	_ struct{} `type:"structure"`
20363
20364	// (Optional) A list of all invocations.
20365	CommandInvocations []*CommandInvocation `type:"list"`
20366
20367	// (Optional) The token for the next set of items to return. (You received this
20368	// token from a previous call.)
20369	NextToken *string `type:"string"`
20370}
20371
20372// String returns the string representation
20373func (s ListCommandInvocationsOutput) String() string {
20374	return awsutil.Prettify(s)
20375}
20376
20377// GoString returns the string representation
20378func (s ListCommandInvocationsOutput) GoString() string {
20379	return s.String()
20380}
20381
20382// SetCommandInvocations sets the CommandInvocations field's value.
20383func (s *ListCommandInvocationsOutput) SetCommandInvocations(v []*CommandInvocation) *ListCommandInvocationsOutput {
20384	s.CommandInvocations = v
20385	return s
20386}
20387
20388// SetNextToken sets the NextToken field's value.
20389func (s *ListCommandInvocationsOutput) SetNextToken(v string) *ListCommandInvocationsOutput {
20390	s.NextToken = &v
20391	return s
20392}
20393
20394// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandsRequest
20395type ListCommandsInput struct {
20396	_ struct{} `type:"structure"`
20397
20398	// (Optional) If provided, lists only the specified command.
20399	CommandId *string `min:"36" type:"string"`
20400
20401	// (Optional) One or more filters. Use a filter to return a more specific list
20402	// of results.
20403	Filters []*CommandFilter `min:"1" type:"list"`
20404
20405	// (Optional) Lists commands issued against this instance ID.
20406	InstanceId *string `type:"string"`
20407
20408	// (Optional) The maximum number of items to return for this call. The call
20409	// also returns a token that you can specify in a subsequent call to get the
20410	// next set of results.
20411	MaxResults *int64 `min:"1" type:"integer"`
20412
20413	// (Optional) The token for the next set of items to return. (You received this
20414	// token from a previous call.)
20415	NextToken *string `type:"string"`
20416}
20417
20418// String returns the string representation
20419func (s ListCommandsInput) String() string {
20420	return awsutil.Prettify(s)
20421}
20422
20423// GoString returns the string representation
20424func (s ListCommandsInput) GoString() string {
20425	return s.String()
20426}
20427
20428// Validate inspects the fields of the type to determine if they are valid.
20429func (s *ListCommandsInput) Validate() error {
20430	invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"}
20431	if s.CommandId != nil && len(*s.CommandId) < 36 {
20432		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
20433	}
20434	if s.Filters != nil && len(s.Filters) < 1 {
20435		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
20436	}
20437	if s.MaxResults != nil && *s.MaxResults < 1 {
20438		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20439	}
20440	if s.Filters != nil {
20441		for i, v := range s.Filters {
20442			if v == nil {
20443				continue
20444			}
20445			if err := v.Validate(); err != nil {
20446				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20447			}
20448		}
20449	}
20450
20451	if invalidParams.Len() > 0 {
20452		return invalidParams
20453	}
20454	return nil
20455}
20456
20457// SetCommandId sets the CommandId field's value.
20458func (s *ListCommandsInput) SetCommandId(v string) *ListCommandsInput {
20459	s.CommandId = &v
20460	return s
20461}
20462
20463// SetFilters sets the Filters field's value.
20464func (s *ListCommandsInput) SetFilters(v []*CommandFilter) *ListCommandsInput {
20465	s.Filters = v
20466	return s
20467}
20468
20469// SetInstanceId sets the InstanceId field's value.
20470func (s *ListCommandsInput) SetInstanceId(v string) *ListCommandsInput {
20471	s.InstanceId = &v
20472	return s
20473}
20474
20475// SetMaxResults sets the MaxResults field's value.
20476func (s *ListCommandsInput) SetMaxResults(v int64) *ListCommandsInput {
20477	s.MaxResults = &v
20478	return s
20479}
20480
20481// SetNextToken sets the NextToken field's value.
20482func (s *ListCommandsInput) SetNextToken(v string) *ListCommandsInput {
20483	s.NextToken = &v
20484	return s
20485}
20486
20487// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandsResult
20488type ListCommandsOutput struct {
20489	_ struct{} `type:"structure"`
20490
20491	// (Optional) The list of commands requested by the user.
20492	Commands []*Command `type:"list"`
20493
20494	// (Optional) The token for the next set of items to return. (You received this
20495	// token from a previous call.)
20496	NextToken *string `type:"string"`
20497}
20498
20499// String returns the string representation
20500func (s ListCommandsOutput) String() string {
20501	return awsutil.Prettify(s)
20502}
20503
20504// GoString returns the string representation
20505func (s ListCommandsOutput) GoString() string {
20506	return s.String()
20507}
20508
20509// SetCommands sets the Commands field's value.
20510func (s *ListCommandsOutput) SetCommands(v []*Command) *ListCommandsOutput {
20511	s.Commands = v
20512	return s
20513}
20514
20515// SetNextToken sets the NextToken field's value.
20516func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput {
20517	s.NextToken = &v
20518	return s
20519}
20520
20521// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItemsRequest
20522type ListComplianceItemsInput struct {
20523	_ struct{} `type:"structure"`
20524
20525	// One or more compliance filters. Use a filter to return a more specific list
20526	// of results.
20527	Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"`
20528
20529	// The maximum number of items to return for this call. The call also returns
20530	// a token that you can specify in a subsequent call to get the next set of
20531	// results.
20532	MaxResults *int64 `min:"1" type:"integer"`
20533
20534	// A token to start the list. Use this token to get the next set of results.
20535	NextToken *string `type:"string"`
20536
20537	// The ID for the resources from which to get compliance information. Currently,
20538	// you can only specify one resource ID.
20539	ResourceIds []*string `min:"1" type:"list"`
20540
20541	// The type of resource from which to get compliance information. Currently,
20542	// the only supported resource type is ManagedInstance.
20543	ResourceTypes []*string `min:"1" type:"list"`
20544}
20545
20546// String returns the string representation
20547func (s ListComplianceItemsInput) String() string {
20548	return awsutil.Prettify(s)
20549}
20550
20551// GoString returns the string representation
20552func (s ListComplianceItemsInput) GoString() string {
20553	return s.String()
20554}
20555
20556// Validate inspects the fields of the type to determine if they are valid.
20557func (s *ListComplianceItemsInput) Validate() error {
20558	invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"}
20559	if s.MaxResults != nil && *s.MaxResults < 1 {
20560		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20561	}
20562	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
20563		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
20564	}
20565	if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
20566		invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
20567	}
20568	if s.Filters != nil {
20569		for i, v := range s.Filters {
20570			if v == nil {
20571				continue
20572			}
20573			if err := v.Validate(); err != nil {
20574				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20575			}
20576		}
20577	}
20578
20579	if invalidParams.Len() > 0 {
20580		return invalidParams
20581	}
20582	return nil
20583}
20584
20585// SetFilters sets the Filters field's value.
20586func (s *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput {
20587	s.Filters = v
20588	return s
20589}
20590
20591// SetMaxResults sets the MaxResults field's value.
20592func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput {
20593	s.MaxResults = &v
20594	return s
20595}
20596
20597// SetNextToken sets the NextToken field's value.
20598func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput {
20599	s.NextToken = &v
20600	return s
20601}
20602
20603// SetResourceIds sets the ResourceIds field's value.
20604func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput {
20605	s.ResourceIds = v
20606	return s
20607}
20608
20609// SetResourceTypes sets the ResourceTypes field's value.
20610func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput {
20611	s.ResourceTypes = v
20612	return s
20613}
20614
20615// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItemsResult
20616type ListComplianceItemsOutput struct {
20617	_ struct{} `type:"structure"`
20618
20619	// A list of compliance information for the specified resource ID.
20620	ComplianceItems []*ComplianceItem `locationNameList:"Item" type:"list"`
20621
20622	// The token for the next set of items to return. Use this token to get the
20623	// next set of results.
20624	NextToken *string `type:"string"`
20625}
20626
20627// String returns the string representation
20628func (s ListComplianceItemsOutput) String() string {
20629	return awsutil.Prettify(s)
20630}
20631
20632// GoString returns the string representation
20633func (s ListComplianceItemsOutput) GoString() string {
20634	return s.String()
20635}
20636
20637// SetComplianceItems sets the ComplianceItems field's value.
20638func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput {
20639	s.ComplianceItems = v
20640	return s
20641}
20642
20643// SetNextToken sets the NextToken field's value.
20644func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput {
20645	s.NextToken = &v
20646	return s
20647}
20648
20649// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummariesRequest
20650type ListComplianceSummariesInput struct {
20651	_ struct{} `type:"structure"`
20652
20653	// One or more compliance or inventory filters. Use a filter to return a more
20654	// specific list of results.
20655	Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"`
20656
20657	// The maximum number of items to return for this call. Currently, you can specify
20658	// null or 50. The call also returns a token that you can specify in a subsequent
20659	// call to get the next set of results.
20660	MaxResults *int64 `min:"1" type:"integer"`
20661
20662	// A token to start the list. Use this token to get the next set of results.
20663	NextToken *string `type:"string"`
20664}
20665
20666// String returns the string representation
20667func (s ListComplianceSummariesInput) String() string {
20668	return awsutil.Prettify(s)
20669}
20670
20671// GoString returns the string representation
20672func (s ListComplianceSummariesInput) GoString() string {
20673	return s.String()
20674}
20675
20676// Validate inspects the fields of the type to determine if they are valid.
20677func (s *ListComplianceSummariesInput) Validate() error {
20678	invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"}
20679	if s.MaxResults != nil && *s.MaxResults < 1 {
20680		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20681	}
20682	if s.Filters != nil {
20683		for i, v := range s.Filters {
20684			if v == nil {
20685				continue
20686			}
20687			if err := v.Validate(); err != nil {
20688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20689			}
20690		}
20691	}
20692
20693	if invalidParams.Len() > 0 {
20694		return invalidParams
20695	}
20696	return nil
20697}
20698
20699// SetFilters sets the Filters field's value.
20700func (s *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput {
20701	s.Filters = v
20702	return s
20703}
20704
20705// SetMaxResults sets the MaxResults field's value.
20706func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput {
20707	s.MaxResults = &v
20708	return s
20709}
20710
20711// SetNextToken sets the NextToken field's value.
20712func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput {
20713	s.NextToken = &v
20714	return s
20715}
20716
20717// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummariesResult
20718type ListComplianceSummariesOutput struct {
20719	_ struct{} `type:"structure"`
20720
20721	// A list of compliant and non-compliant summary counts based on compliance
20722	// types. For example, this call returns State Manager associations, patches,
20723	// or custom compliance types according to the filter criteria that you specified.
20724	ComplianceSummaryItems []*ComplianceSummaryItem `locationNameList:"Item" type:"list"`
20725
20726	// The token for the next set of items to return. Use this token to get the
20727	// next set of results.
20728	NextToken *string `type:"string"`
20729}
20730
20731// String returns the string representation
20732func (s ListComplianceSummariesOutput) String() string {
20733	return awsutil.Prettify(s)
20734}
20735
20736// GoString returns the string representation
20737func (s ListComplianceSummariesOutput) GoString() string {
20738	return s.String()
20739}
20740
20741// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value.
20742func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput {
20743	s.ComplianceSummaryItems = v
20744	return s
20745}
20746
20747// SetNextToken sets the NextToken field's value.
20748func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput {
20749	s.NextToken = &v
20750	return s
20751}
20752
20753// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersionsRequest
20754type ListDocumentVersionsInput struct {
20755	_ struct{} `type:"structure"`
20756
20757	// The maximum number of items to return for this call. The call also returns
20758	// a token that you can specify in a subsequent call to get the next set of
20759	// results.
20760	MaxResults *int64 `min:"1" type:"integer"`
20761
20762	// The name of the document about which you want version information.
20763	//
20764	// Name is a required field
20765	Name *string `type:"string" required:"true"`
20766
20767	// The token for the next set of items to return. (You received this token from
20768	// a previous call.)
20769	NextToken *string `type:"string"`
20770}
20771
20772// String returns the string representation
20773func (s ListDocumentVersionsInput) String() string {
20774	return awsutil.Prettify(s)
20775}
20776
20777// GoString returns the string representation
20778func (s ListDocumentVersionsInput) GoString() string {
20779	return s.String()
20780}
20781
20782// Validate inspects the fields of the type to determine if they are valid.
20783func (s *ListDocumentVersionsInput) Validate() error {
20784	invalidParams := request.ErrInvalidParams{Context: "ListDocumentVersionsInput"}
20785	if s.MaxResults != nil && *s.MaxResults < 1 {
20786		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20787	}
20788	if s.Name == nil {
20789		invalidParams.Add(request.NewErrParamRequired("Name"))
20790	}
20791
20792	if invalidParams.Len() > 0 {
20793		return invalidParams
20794	}
20795	return nil
20796}
20797
20798// SetMaxResults sets the MaxResults field's value.
20799func (s *ListDocumentVersionsInput) SetMaxResults(v int64) *ListDocumentVersionsInput {
20800	s.MaxResults = &v
20801	return s
20802}
20803
20804// SetName sets the Name field's value.
20805func (s *ListDocumentVersionsInput) SetName(v string) *ListDocumentVersionsInput {
20806	s.Name = &v
20807	return s
20808}
20809
20810// SetNextToken sets the NextToken field's value.
20811func (s *ListDocumentVersionsInput) SetNextToken(v string) *ListDocumentVersionsInput {
20812	s.NextToken = &v
20813	return s
20814}
20815
20816// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersionsResult
20817type ListDocumentVersionsOutput struct {
20818	_ struct{} `type:"structure"`
20819
20820	// The document versions.
20821	DocumentVersions []*DocumentVersionInfo `min:"1" type:"list"`
20822
20823	// The token to use when requesting the next set of items. If there are no additional
20824	// items to return, the string is empty.
20825	NextToken *string `type:"string"`
20826}
20827
20828// String returns the string representation
20829func (s ListDocumentVersionsOutput) String() string {
20830	return awsutil.Prettify(s)
20831}
20832
20833// GoString returns the string representation
20834func (s ListDocumentVersionsOutput) GoString() string {
20835	return s.String()
20836}
20837
20838// SetDocumentVersions sets the DocumentVersions field's value.
20839func (s *ListDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionInfo) *ListDocumentVersionsOutput {
20840	s.DocumentVersions = v
20841	return s
20842}
20843
20844// SetNextToken sets the NextToken field's value.
20845func (s *ListDocumentVersionsOutput) SetNextToken(v string) *ListDocumentVersionsOutput {
20846	s.NextToken = &v
20847	return s
20848}
20849
20850// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentsRequest
20851type ListDocumentsInput struct {
20852	_ struct{} `type:"structure"`
20853
20854	// One or more filters. Use a filter to return a more specific list of results.
20855	DocumentFilterList []*DocumentFilter `locationNameList:"DocumentFilter" min:"1" type:"list"`
20856
20857	// One or more filters. Use a filter to return a more specific list of results.
20858	Filters []*DocumentKeyValuesFilter `type:"list"`
20859
20860	// The maximum number of items to return for this call. The call also returns
20861	// a token that you can specify in a subsequent call to get the next set of
20862	// results.
20863	MaxResults *int64 `min:"1" type:"integer"`
20864
20865	// The token for the next set of items to return. (You received this token from
20866	// a previous call.)
20867	NextToken *string `type:"string"`
20868}
20869
20870// String returns the string representation
20871func (s ListDocumentsInput) String() string {
20872	return awsutil.Prettify(s)
20873}
20874
20875// GoString returns the string representation
20876func (s ListDocumentsInput) GoString() string {
20877	return s.String()
20878}
20879
20880// Validate inspects the fields of the type to determine if they are valid.
20881func (s *ListDocumentsInput) Validate() error {
20882	invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"}
20883	if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 {
20884		invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1))
20885	}
20886	if s.MaxResults != nil && *s.MaxResults < 1 {
20887		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20888	}
20889	if s.DocumentFilterList != nil {
20890		for i, v := range s.DocumentFilterList {
20891			if v == nil {
20892				continue
20893			}
20894			if err := v.Validate(); err != nil {
20895				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams))
20896			}
20897		}
20898	}
20899	if s.Filters != nil {
20900		for i, v := range s.Filters {
20901			if v == nil {
20902				continue
20903			}
20904			if err := v.Validate(); err != nil {
20905				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20906			}
20907		}
20908	}
20909
20910	if invalidParams.Len() > 0 {
20911		return invalidParams
20912	}
20913	return nil
20914}
20915
20916// SetDocumentFilterList sets the DocumentFilterList field's value.
20917func (s *ListDocumentsInput) SetDocumentFilterList(v []*DocumentFilter) *ListDocumentsInput {
20918	s.DocumentFilterList = v
20919	return s
20920}
20921
20922// SetFilters sets the Filters field's value.
20923func (s *ListDocumentsInput) SetFilters(v []*DocumentKeyValuesFilter) *ListDocumentsInput {
20924	s.Filters = v
20925	return s
20926}
20927
20928// SetMaxResults sets the MaxResults field's value.
20929func (s *ListDocumentsInput) SetMaxResults(v int64) *ListDocumentsInput {
20930	s.MaxResults = &v
20931	return s
20932}
20933
20934// SetNextToken sets the NextToken field's value.
20935func (s *ListDocumentsInput) SetNextToken(v string) *ListDocumentsInput {
20936	s.NextToken = &v
20937	return s
20938}
20939
20940// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentsResult
20941type ListDocumentsOutput struct {
20942	_ struct{} `type:"structure"`
20943
20944	// The names of the Systems Manager documents.
20945	DocumentIdentifiers []*DocumentIdentifier `locationNameList:"DocumentIdentifier" type:"list"`
20946
20947	// The token to use when requesting the next set of items. If there are no additional
20948	// items to return, the string is empty.
20949	NextToken *string `type:"string"`
20950}
20951
20952// String returns the string representation
20953func (s ListDocumentsOutput) String() string {
20954	return awsutil.Prettify(s)
20955}
20956
20957// GoString returns the string representation
20958func (s ListDocumentsOutput) GoString() string {
20959	return s.String()
20960}
20961
20962// SetDocumentIdentifiers sets the DocumentIdentifiers field's value.
20963func (s *ListDocumentsOutput) SetDocumentIdentifiers(v []*DocumentIdentifier) *ListDocumentsOutput {
20964	s.DocumentIdentifiers = v
20965	return s
20966}
20967
20968// SetNextToken sets the NextToken field's value.
20969func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput {
20970	s.NextToken = &v
20971	return s
20972}
20973
20974// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntriesRequest
20975type ListInventoryEntriesInput struct {
20976	_ struct{} `type:"structure"`
20977
20978	// One or more filters. Use a filter to return a more specific list of results.
20979	Filters []*InventoryFilter `locationNameList:"InventoryFilter" min:"1" type:"list"`
20980
20981	// The instance ID for which you want inventory information.
20982	//
20983	// InstanceId is a required field
20984	InstanceId *string `type:"string" required:"true"`
20985
20986	// The maximum number of items to return for this call. The call also returns
20987	// a token that you can specify in a subsequent call to get the next set of
20988	// results.
20989	MaxResults *int64 `min:"1" type:"integer"`
20990
20991	// The token for the next set of items to return. (You received this token from
20992	// a previous call.)
20993	NextToken *string `type:"string"`
20994
20995	// The type of inventory item for which you want information.
20996	//
20997	// TypeName is a required field
20998	TypeName *string `min:"1" type:"string" required:"true"`
20999}
21000
21001// String returns the string representation
21002func (s ListInventoryEntriesInput) String() string {
21003	return awsutil.Prettify(s)
21004}
21005
21006// GoString returns the string representation
21007func (s ListInventoryEntriesInput) GoString() string {
21008	return s.String()
21009}
21010
21011// Validate inspects the fields of the type to determine if they are valid.
21012func (s *ListInventoryEntriesInput) Validate() error {
21013	invalidParams := request.ErrInvalidParams{Context: "ListInventoryEntriesInput"}
21014	if s.Filters != nil && len(s.Filters) < 1 {
21015		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
21016	}
21017	if s.InstanceId == nil {
21018		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21019	}
21020	if s.MaxResults != nil && *s.MaxResults < 1 {
21021		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21022	}
21023	if s.TypeName == nil {
21024		invalidParams.Add(request.NewErrParamRequired("TypeName"))
21025	}
21026	if s.TypeName != nil && len(*s.TypeName) < 1 {
21027		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
21028	}
21029	if s.Filters != nil {
21030		for i, v := range s.Filters {
21031			if v == nil {
21032				continue
21033			}
21034			if err := v.Validate(); err != nil {
21035				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21036			}
21037		}
21038	}
21039
21040	if invalidParams.Len() > 0 {
21041		return invalidParams
21042	}
21043	return nil
21044}
21045
21046// SetFilters sets the Filters field's value.
21047func (s *ListInventoryEntriesInput) SetFilters(v []*InventoryFilter) *ListInventoryEntriesInput {
21048	s.Filters = v
21049	return s
21050}
21051
21052// SetInstanceId sets the InstanceId field's value.
21053func (s *ListInventoryEntriesInput) SetInstanceId(v string) *ListInventoryEntriesInput {
21054	s.InstanceId = &v
21055	return s
21056}
21057
21058// SetMaxResults sets the MaxResults field's value.
21059func (s *ListInventoryEntriesInput) SetMaxResults(v int64) *ListInventoryEntriesInput {
21060	s.MaxResults = &v
21061	return s
21062}
21063
21064// SetNextToken sets the NextToken field's value.
21065func (s *ListInventoryEntriesInput) SetNextToken(v string) *ListInventoryEntriesInput {
21066	s.NextToken = &v
21067	return s
21068}
21069
21070// SetTypeName sets the TypeName field's value.
21071func (s *ListInventoryEntriesInput) SetTypeName(v string) *ListInventoryEntriesInput {
21072	s.TypeName = &v
21073	return s
21074}
21075
21076// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntriesResult
21077type ListInventoryEntriesOutput struct {
21078	_ struct{} `type:"structure"`
21079
21080	// The time that inventory information was collected for the instance(s).
21081	CaptureTime *string `type:"string"`
21082
21083	// A list of inventory items on the instance(s).
21084	Entries []map[string]*string `type:"list"`
21085
21086	// The instance ID targeted by the request to query inventory information.
21087	InstanceId *string `type:"string"`
21088
21089	// The token to use when requesting the next set of items. If there are no additional
21090	// items to return, the string is empty.
21091	NextToken *string `type:"string"`
21092
21093	// The inventory schema version used by the instance(s).
21094	SchemaVersion *string `type:"string"`
21095
21096	// The type of inventory item returned by the request.
21097	TypeName *string `min:"1" type:"string"`
21098}
21099
21100// String returns the string representation
21101func (s ListInventoryEntriesOutput) String() string {
21102	return awsutil.Prettify(s)
21103}
21104
21105// GoString returns the string representation
21106func (s ListInventoryEntriesOutput) GoString() string {
21107	return s.String()
21108}
21109
21110// SetCaptureTime sets the CaptureTime field's value.
21111func (s *ListInventoryEntriesOutput) SetCaptureTime(v string) *ListInventoryEntriesOutput {
21112	s.CaptureTime = &v
21113	return s
21114}
21115
21116// SetEntries sets the Entries field's value.
21117func (s *ListInventoryEntriesOutput) SetEntries(v []map[string]*string) *ListInventoryEntriesOutput {
21118	s.Entries = v
21119	return s
21120}
21121
21122// SetInstanceId sets the InstanceId field's value.
21123func (s *ListInventoryEntriesOutput) SetInstanceId(v string) *ListInventoryEntriesOutput {
21124	s.InstanceId = &v
21125	return s
21126}
21127
21128// SetNextToken sets the NextToken field's value.
21129func (s *ListInventoryEntriesOutput) SetNextToken(v string) *ListInventoryEntriesOutput {
21130	s.NextToken = &v
21131	return s
21132}
21133
21134// SetSchemaVersion sets the SchemaVersion field's value.
21135func (s *ListInventoryEntriesOutput) SetSchemaVersion(v string) *ListInventoryEntriesOutput {
21136	s.SchemaVersion = &v
21137	return s
21138}
21139
21140// SetTypeName sets the TypeName field's value.
21141func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntriesOutput {
21142	s.TypeName = &v
21143	return s
21144}
21145
21146// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummariesRequest
21147type ListResourceComplianceSummariesInput struct {
21148	_ struct{} `type:"structure"`
21149
21150	// One or more filters. Use a filter to return a more specific list of results.
21151	Filters []*ComplianceStringFilter `locationNameList:"ComplianceFilter" type:"list"`
21152
21153	// The maximum number of items to return for this call. The call also returns
21154	// a token that you can specify in a subsequent call to get the next set of
21155	// results.
21156	MaxResults *int64 `min:"1" type:"integer"`
21157
21158	// A token to start the list. Use this token to get the next set of results.
21159	NextToken *string `type:"string"`
21160}
21161
21162// String returns the string representation
21163func (s ListResourceComplianceSummariesInput) String() string {
21164	return awsutil.Prettify(s)
21165}
21166
21167// GoString returns the string representation
21168func (s ListResourceComplianceSummariesInput) GoString() string {
21169	return s.String()
21170}
21171
21172// Validate inspects the fields of the type to determine if they are valid.
21173func (s *ListResourceComplianceSummariesInput) Validate() error {
21174	invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"}
21175	if s.MaxResults != nil && *s.MaxResults < 1 {
21176		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21177	}
21178	if s.Filters != nil {
21179		for i, v := range s.Filters {
21180			if v == nil {
21181				continue
21182			}
21183			if err := v.Validate(); err != nil {
21184				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21185			}
21186		}
21187	}
21188
21189	if invalidParams.Len() > 0 {
21190		return invalidParams
21191	}
21192	return nil
21193}
21194
21195// SetFilters sets the Filters field's value.
21196func (s *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput {
21197	s.Filters = v
21198	return s
21199}
21200
21201// SetMaxResults sets the MaxResults field's value.
21202func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput {
21203	s.MaxResults = &v
21204	return s
21205}
21206
21207// SetNextToken sets the NextToken field's value.
21208func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput {
21209	s.NextToken = &v
21210	return s
21211}
21212
21213// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummariesResult
21214type ListResourceComplianceSummariesOutput struct {
21215	_ struct{} `type:"structure"`
21216
21217	// The token for the next set of items to return. Use this token to get the
21218	// next set of results.
21219	NextToken *string `type:"string"`
21220
21221	// A summary count for specified or targeted managed instances. Summary count
21222	// includes information about compliant and non-compliant State Manager associations,
21223	// patch status, or custom items according to the filter criteria that you specify.
21224	ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `locationNameList:"Item" type:"list"`
21225}
21226
21227// String returns the string representation
21228func (s ListResourceComplianceSummariesOutput) String() string {
21229	return awsutil.Prettify(s)
21230}
21231
21232// GoString returns the string representation
21233func (s ListResourceComplianceSummariesOutput) GoString() string {
21234	return s.String()
21235}
21236
21237// SetNextToken sets the NextToken field's value.
21238func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput {
21239	s.NextToken = &v
21240	return s
21241}
21242
21243// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value.
21244func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput {
21245	s.ResourceComplianceSummaryItems = v
21246	return s
21247}
21248
21249// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSyncRequest
21250type ListResourceDataSyncInput struct {
21251	_ struct{} `type:"structure"`
21252
21253	// The maximum number of items to return for this call. The call also returns
21254	// a token that you can specify in a subsequent call to get the next set of
21255	// results.
21256	MaxResults *int64 `min:"1" type:"integer"`
21257
21258	// A token to start the list. Use this token to get the next set of results.
21259	NextToken *string `type:"string"`
21260}
21261
21262// String returns the string representation
21263func (s ListResourceDataSyncInput) String() string {
21264	return awsutil.Prettify(s)
21265}
21266
21267// GoString returns the string representation
21268func (s ListResourceDataSyncInput) GoString() string {
21269	return s.String()
21270}
21271
21272// Validate inspects the fields of the type to determine if they are valid.
21273func (s *ListResourceDataSyncInput) Validate() error {
21274	invalidParams := request.ErrInvalidParams{Context: "ListResourceDataSyncInput"}
21275	if s.MaxResults != nil && *s.MaxResults < 1 {
21276		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21277	}
21278
21279	if invalidParams.Len() > 0 {
21280		return invalidParams
21281	}
21282	return nil
21283}
21284
21285// SetMaxResults sets the MaxResults field's value.
21286func (s *ListResourceDataSyncInput) SetMaxResults(v int64) *ListResourceDataSyncInput {
21287	s.MaxResults = &v
21288	return s
21289}
21290
21291// SetNextToken sets the NextToken field's value.
21292func (s *ListResourceDataSyncInput) SetNextToken(v string) *ListResourceDataSyncInput {
21293	s.NextToken = &v
21294	return s
21295}
21296
21297// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSyncResult
21298type ListResourceDataSyncOutput struct {
21299	_ struct{} `type:"structure"`
21300
21301	// The token for the next set of items to return. Use this token to get the
21302	// next set of results.
21303	NextToken *string `type:"string"`
21304
21305	// A list of your current Resource Data Sync configurations and their statuses.
21306	ResourceDataSyncItems []*ResourceDataSyncItem `type:"list"`
21307}
21308
21309// String returns the string representation
21310func (s ListResourceDataSyncOutput) String() string {
21311	return awsutil.Prettify(s)
21312}
21313
21314// GoString returns the string representation
21315func (s ListResourceDataSyncOutput) GoString() string {
21316	return s.String()
21317}
21318
21319// SetNextToken sets the NextToken field's value.
21320func (s *ListResourceDataSyncOutput) SetNextToken(v string) *ListResourceDataSyncOutput {
21321	s.NextToken = &v
21322	return s
21323}
21324
21325// SetResourceDataSyncItems sets the ResourceDataSyncItems field's value.
21326func (s *ListResourceDataSyncOutput) SetResourceDataSyncItems(v []*ResourceDataSyncItem) *ListResourceDataSyncOutput {
21327	s.ResourceDataSyncItems = v
21328	return s
21329}
21330
21331// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResourceRequest
21332type ListTagsForResourceInput struct {
21333	_ struct{} `type:"structure"`
21334
21335	// The resource ID for which you want to see a list of tags.
21336	//
21337	// ResourceId is a required field
21338	ResourceId *string `type:"string" required:"true"`
21339
21340	// Returns a list of tags for a specific resource type.
21341	//
21342	// ResourceType is a required field
21343	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
21344}
21345
21346// String returns the string representation
21347func (s ListTagsForResourceInput) String() string {
21348	return awsutil.Prettify(s)
21349}
21350
21351// GoString returns the string representation
21352func (s ListTagsForResourceInput) GoString() string {
21353	return s.String()
21354}
21355
21356// Validate inspects the fields of the type to determine if they are valid.
21357func (s *ListTagsForResourceInput) Validate() error {
21358	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
21359	if s.ResourceId == nil {
21360		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21361	}
21362	if s.ResourceType == nil {
21363		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
21364	}
21365
21366	if invalidParams.Len() > 0 {
21367		return invalidParams
21368	}
21369	return nil
21370}
21371
21372// SetResourceId sets the ResourceId field's value.
21373func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
21374	s.ResourceId = &v
21375	return s
21376}
21377
21378// SetResourceType sets the ResourceType field's value.
21379func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
21380	s.ResourceType = &v
21381	return s
21382}
21383
21384// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResourceResult
21385type ListTagsForResourceOutput struct {
21386	_ struct{} `type:"structure"`
21387
21388	// A list of tags.
21389	TagList []*Tag `type:"list"`
21390}
21391
21392// String returns the string representation
21393func (s ListTagsForResourceOutput) String() string {
21394	return awsutil.Prettify(s)
21395}
21396
21397// GoString returns the string representation
21398func (s ListTagsForResourceOutput) GoString() string {
21399	return s.String()
21400}
21401
21402// SetTagList sets the TagList field's value.
21403func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
21404	s.TagList = v
21405	return s
21406}
21407
21408// Information about an Amazon S3 bucket to write instance-level logs to.
21409// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LoggingInfo
21410type LoggingInfo struct {
21411	_ struct{} `type:"structure"`
21412
21413	// The name of an Amazon S3 bucket where execution logs are stored .
21414	//
21415	// S3BucketName is a required field
21416	S3BucketName *string `min:"3" type:"string" required:"true"`
21417
21418	// (Optional) The Amazon S3 bucket subfolder.
21419	S3KeyPrefix *string `type:"string"`
21420
21421	// The region where the Amazon S3 bucket is located.
21422	//
21423	// S3Region is a required field
21424	S3Region *string `min:"3" type:"string" required:"true"`
21425}
21426
21427// String returns the string representation
21428func (s LoggingInfo) String() string {
21429	return awsutil.Prettify(s)
21430}
21431
21432// GoString returns the string representation
21433func (s LoggingInfo) GoString() string {
21434	return s.String()
21435}
21436
21437// Validate inspects the fields of the type to determine if they are valid.
21438func (s *LoggingInfo) Validate() error {
21439	invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"}
21440	if s.S3BucketName == nil {
21441		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
21442	}
21443	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
21444		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
21445	}
21446	if s.S3Region == nil {
21447		invalidParams.Add(request.NewErrParamRequired("S3Region"))
21448	}
21449	if s.S3Region != nil && len(*s.S3Region) < 3 {
21450		invalidParams.Add(request.NewErrParamMinLen("S3Region", 3))
21451	}
21452
21453	if invalidParams.Len() > 0 {
21454		return invalidParams
21455	}
21456	return nil
21457}
21458
21459// SetS3BucketName sets the S3BucketName field's value.
21460func (s *LoggingInfo) SetS3BucketName(v string) *LoggingInfo {
21461	s.S3BucketName = &v
21462	return s
21463}
21464
21465// SetS3KeyPrefix sets the S3KeyPrefix field's value.
21466func (s *LoggingInfo) SetS3KeyPrefix(v string) *LoggingInfo {
21467	s.S3KeyPrefix = &v
21468	return s
21469}
21470
21471// SetS3Region sets the S3Region field's value.
21472func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo {
21473	s.S3Region = &v
21474	return s
21475}
21476
21477// The parameters for an AUTOMATION task type.
21478// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowAutomationParameters
21479type MaintenanceWindowAutomationParameters struct {
21480	_ struct{} `type:"structure"`
21481
21482	// The version of an Automation document to use during task execution.
21483	DocumentVersion *string `type:"string"`
21484
21485	// The parameters for the AUTOMATION task.
21486	Parameters map[string][]*string `min:"1" type:"map"`
21487}
21488
21489// String returns the string representation
21490func (s MaintenanceWindowAutomationParameters) String() string {
21491	return awsutil.Prettify(s)
21492}
21493
21494// GoString returns the string representation
21495func (s MaintenanceWindowAutomationParameters) GoString() string {
21496	return s.String()
21497}
21498
21499// Validate inspects the fields of the type to determine if they are valid.
21500func (s *MaintenanceWindowAutomationParameters) Validate() error {
21501	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"}
21502	if s.Parameters != nil && len(s.Parameters) < 1 {
21503		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
21504	}
21505
21506	if invalidParams.Len() > 0 {
21507		return invalidParams
21508	}
21509	return nil
21510}
21511
21512// SetDocumentVersion sets the DocumentVersion field's value.
21513func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters {
21514	s.DocumentVersion = &v
21515	return s
21516}
21517
21518// SetParameters sets the Parameters field's value.
21519func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters {
21520	s.Parameters = v
21521	return s
21522}
21523
21524// Describes the information about an execution of a Maintenance Window.
21525// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowExecution
21526type MaintenanceWindowExecution struct {
21527	_ struct{} `type:"structure"`
21528
21529	// The time the execution finished.
21530	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21531
21532	// The time the execution started.
21533	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21534
21535	// The status of the execution.
21536	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
21537
21538	// The details explaining the Status. Only available for certain status values.
21539	StatusDetails *string `type:"string"`
21540
21541	// The ID of the Maintenance Window execution.
21542	WindowExecutionId *string `min:"36" type:"string"`
21543
21544	// The ID of the Maintenance Window.
21545	WindowId *string `min:"20" type:"string"`
21546}
21547
21548// String returns the string representation
21549func (s MaintenanceWindowExecution) String() string {
21550	return awsutil.Prettify(s)
21551}
21552
21553// GoString returns the string representation
21554func (s MaintenanceWindowExecution) GoString() string {
21555	return s.String()
21556}
21557
21558// SetEndTime sets the EndTime field's value.
21559func (s *MaintenanceWindowExecution) SetEndTime(v time.Time) *MaintenanceWindowExecution {
21560	s.EndTime = &v
21561	return s
21562}
21563
21564// SetStartTime sets the StartTime field's value.
21565func (s *MaintenanceWindowExecution) SetStartTime(v time.Time) *MaintenanceWindowExecution {
21566	s.StartTime = &v
21567	return s
21568}
21569
21570// SetStatus sets the Status field's value.
21571func (s *MaintenanceWindowExecution) SetStatus(v string) *MaintenanceWindowExecution {
21572	s.Status = &v
21573	return s
21574}
21575
21576// SetStatusDetails sets the StatusDetails field's value.
21577func (s *MaintenanceWindowExecution) SetStatusDetails(v string) *MaintenanceWindowExecution {
21578	s.StatusDetails = &v
21579	return s
21580}
21581
21582// SetWindowExecutionId sets the WindowExecutionId field's value.
21583func (s *MaintenanceWindowExecution) SetWindowExecutionId(v string) *MaintenanceWindowExecution {
21584	s.WindowExecutionId = &v
21585	return s
21586}
21587
21588// SetWindowId sets the WindowId field's value.
21589func (s *MaintenanceWindowExecution) SetWindowId(v string) *MaintenanceWindowExecution {
21590	s.WindowId = &v
21591	return s
21592}
21593
21594// Information about a task execution performed as part of a Maintenance Window
21595// execution.
21596// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowExecutionTaskIdentity
21597type MaintenanceWindowExecutionTaskIdentity struct {
21598	_ struct{} `type:"structure"`
21599
21600	// The time the task execution finished.
21601	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21602
21603	// The time the task execution started.
21604	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21605
21606	// The status of the task execution.
21607	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
21608
21609	// The details explaining the status of the task execution. Only available for
21610	// certain status values.
21611	StatusDetails *string `type:"string"`
21612
21613	// The ARN of the executed task.
21614	TaskArn *string `min:"1" type:"string"`
21615
21616	// The ID of the specific task execution in the Maintenance Window execution.
21617	TaskExecutionId *string `min:"36" type:"string"`
21618
21619	// The type of executed task.
21620	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
21621
21622	// The ID of the Maintenance Window execution that ran the task.
21623	WindowExecutionId *string `min:"36" type:"string"`
21624}
21625
21626// String returns the string representation
21627func (s MaintenanceWindowExecutionTaskIdentity) String() string {
21628	return awsutil.Prettify(s)
21629}
21630
21631// GoString returns the string representation
21632func (s MaintenanceWindowExecutionTaskIdentity) GoString() string {
21633	return s.String()
21634}
21635
21636// SetEndTime sets the EndTime field's value.
21637func (s *MaintenanceWindowExecutionTaskIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
21638	s.EndTime = &v
21639	return s
21640}
21641
21642// SetStartTime sets the StartTime field's value.
21643func (s *MaintenanceWindowExecutionTaskIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
21644	s.StartTime = &v
21645	return s
21646}
21647
21648// SetStatus sets the Status field's value.
21649func (s *MaintenanceWindowExecutionTaskIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskIdentity {
21650	s.Status = &v
21651	return s
21652}
21653
21654// SetStatusDetails sets the StatusDetails field's value.
21655func (s *MaintenanceWindowExecutionTaskIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskIdentity {
21656	s.StatusDetails = &v
21657	return s
21658}
21659
21660// SetTaskArn sets the TaskArn field's value.
21661func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskArn(v string) *MaintenanceWindowExecutionTaskIdentity {
21662	s.TaskArn = &v
21663	return s
21664}
21665
21666// SetTaskExecutionId sets the TaskExecutionId field's value.
21667func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
21668	s.TaskExecutionId = &v
21669	return s
21670}
21671
21672// SetTaskType sets the TaskType field's value.
21673func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskIdentity {
21674	s.TaskType = &v
21675	return s
21676}
21677
21678// SetWindowExecutionId sets the WindowExecutionId field's value.
21679func (s *MaintenanceWindowExecutionTaskIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
21680	s.WindowExecutionId = &v
21681	return s
21682}
21683
21684// Describes the information about a task invocation for a particular target
21685// as part of a task execution performed as part of a Maintenance Window execution.
21686// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowExecutionTaskInvocationIdentity
21687type MaintenanceWindowExecutionTaskInvocationIdentity struct {
21688	_ struct{} `type:"structure"`
21689
21690	// The time the invocation finished.
21691	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21692
21693	// The ID of the action performed in the service that actually handled the task
21694	// invocation. If the task type is RUN_COMMAND, this value is the command ID.
21695	ExecutionId *string `type:"string"`
21696
21697	// The ID of the task invocation.
21698	InvocationId *string `min:"36" type:"string"`
21699
21700	// User-provided value that was specified when the target was registered with
21701	// the Maintenance Window. This was also included in any CloudWatch events raised
21702	// during the task invocation.
21703	OwnerInformation *string `min:"1" type:"string"`
21704
21705	// The parameters that were provided for the invocation when it was executed.
21706	Parameters *string `type:"string"`
21707
21708	// The time the invocation started.
21709	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
21710
21711	// The status of the task invocation.
21712	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
21713
21714	// The details explaining the status of the task invocation. Only available
21715	// for certain Status values.
21716	StatusDetails *string `type:"string"`
21717
21718	// The ID of the specific task execution in the Maintenance Window execution.
21719	TaskExecutionId *string `min:"36" type:"string"`
21720
21721	// The task type.
21722	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
21723
21724	// The ID of the Maintenance Window execution that ran the task.
21725	WindowExecutionId *string `min:"36" type:"string"`
21726
21727	// The ID of the target definition in this Maintenance Window the invocation
21728	// was performed for.
21729	WindowTargetId *string `type:"string"`
21730}
21731
21732// String returns the string representation
21733func (s MaintenanceWindowExecutionTaskInvocationIdentity) String() string {
21734	return awsutil.Prettify(s)
21735}
21736
21737// GoString returns the string representation
21738func (s MaintenanceWindowExecutionTaskInvocationIdentity) GoString() string {
21739	return s.String()
21740}
21741
21742// SetEndTime sets the EndTime field's value.
21743func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
21744	s.EndTime = &v
21745	return s
21746}
21747
21748// SetExecutionId sets the ExecutionId field's value.
21749func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21750	s.ExecutionId = &v
21751	return s
21752}
21753
21754// SetInvocationId sets the InvocationId field's value.
21755func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetInvocationId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21756	s.InvocationId = &v
21757	return s
21758}
21759
21760// SetOwnerInformation sets the OwnerInformation field's value.
21761func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetOwnerInformation(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21762	s.OwnerInformation = &v
21763	return s
21764}
21765
21766// SetParameters sets the Parameters field's value.
21767func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetParameters(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21768	s.Parameters = &v
21769	return s
21770}
21771
21772// SetStartTime sets the StartTime field's value.
21773func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
21774	s.StartTime = &v
21775	return s
21776}
21777
21778// SetStatus sets the Status field's value.
21779func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21780	s.Status = &v
21781	return s
21782}
21783
21784// SetStatusDetails sets the StatusDetails field's value.
21785func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21786	s.StatusDetails = &v
21787	return s
21788}
21789
21790// SetTaskExecutionId sets the TaskExecutionId field's value.
21791func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21792	s.TaskExecutionId = &v
21793	return s
21794}
21795
21796// SetTaskType sets the TaskType field's value.
21797func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21798	s.TaskType = &v
21799	return s
21800}
21801
21802// SetWindowExecutionId sets the WindowExecutionId field's value.
21803func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21804	s.WindowExecutionId = &v
21805	return s
21806}
21807
21808// SetWindowTargetId sets the WindowTargetId field's value.
21809func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowTargetId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
21810	s.WindowTargetId = &v
21811	return s
21812}
21813
21814// Filter used in the request.
21815// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowFilter
21816type MaintenanceWindowFilter struct {
21817	_ struct{} `type:"structure"`
21818
21819	// The name of the filter.
21820	Key *string `min:"1" type:"string"`
21821
21822	// The filter values.
21823	Values []*string `type:"list"`
21824}
21825
21826// String returns the string representation
21827func (s MaintenanceWindowFilter) String() string {
21828	return awsutil.Prettify(s)
21829}
21830
21831// GoString returns the string representation
21832func (s MaintenanceWindowFilter) GoString() string {
21833	return s.String()
21834}
21835
21836// Validate inspects the fields of the type to determine if they are valid.
21837func (s *MaintenanceWindowFilter) Validate() error {
21838	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowFilter"}
21839	if s.Key != nil && len(*s.Key) < 1 {
21840		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21841	}
21842
21843	if invalidParams.Len() > 0 {
21844		return invalidParams
21845	}
21846	return nil
21847}
21848
21849// SetKey sets the Key field's value.
21850func (s *MaintenanceWindowFilter) SetKey(v string) *MaintenanceWindowFilter {
21851	s.Key = &v
21852	return s
21853}
21854
21855// SetValues sets the Values field's value.
21856func (s *MaintenanceWindowFilter) SetValues(v []*string) *MaintenanceWindowFilter {
21857	s.Values = v
21858	return s
21859}
21860
21861// Information about the Maintenance Window.
21862// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowIdentity
21863type MaintenanceWindowIdentity struct {
21864	_ struct{} `type:"structure"`
21865
21866	// The number of hours before the end of the Maintenance Window that Systems
21867	// Manager stops scheduling new tasks for execution.
21868	Cutoff *int64 `type:"integer"`
21869
21870	// A description of the Maintenance Window.
21871	Description *string `min:"1" type:"string"`
21872
21873	// The duration of the Maintenance Window in hours.
21874	Duration *int64 `min:"1" type:"integer"`
21875
21876	// Whether the Maintenance Window is enabled.
21877	Enabled *bool `type:"boolean"`
21878
21879	// The name of the Maintenance Window.
21880	Name *string `min:"3" type:"string"`
21881
21882	// The ID of the Maintenance Window.
21883	WindowId *string `min:"20" type:"string"`
21884}
21885
21886// String returns the string representation
21887func (s MaintenanceWindowIdentity) String() string {
21888	return awsutil.Prettify(s)
21889}
21890
21891// GoString returns the string representation
21892func (s MaintenanceWindowIdentity) GoString() string {
21893	return s.String()
21894}
21895
21896// SetCutoff sets the Cutoff field's value.
21897func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentity {
21898	s.Cutoff = &v
21899	return s
21900}
21901
21902// SetDescription sets the Description field's value.
21903func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity {
21904	s.Description = &v
21905	return s
21906}
21907
21908// SetDuration sets the Duration field's value.
21909func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity {
21910	s.Duration = &v
21911	return s
21912}
21913
21914// SetEnabled sets the Enabled field's value.
21915func (s *MaintenanceWindowIdentity) SetEnabled(v bool) *MaintenanceWindowIdentity {
21916	s.Enabled = &v
21917	return s
21918}
21919
21920// SetName sets the Name field's value.
21921func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity {
21922	s.Name = &v
21923	return s
21924}
21925
21926// SetWindowId sets the WindowId field's value.
21927func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity {
21928	s.WindowId = &v
21929	return s
21930}
21931
21932// The parameters for a LAMBDA task type.
21933// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowLambdaParameters
21934type MaintenanceWindowLambdaParameters struct {
21935	_ struct{} `type:"structure"`
21936
21937	// Pass client-specific information to the Lambda function that you are invoking.
21938	// You can then process the client information in your Lambda function as you
21939	// choose through the context variable.
21940	ClientContext *string `min:"1" type:"string"`
21941
21942	// JSON to provide to your Lambda function as input.
21943	//
21944	// Payload is automatically base64 encoded/decoded by the SDK.
21945	Payload []byte `type:"blob"`
21946
21947	// (Optional) Specify a Lambda function version or alias name. If you specify
21948	// a function version, the action uses the qualified function ARN to invoke
21949	// a specific Lambda function. If you specify an alias name, the action uses
21950	// the alias ARN to invoke the Lambda function version to which the alias points.
21951	Qualifier *string `min:"1" type:"string"`
21952}
21953
21954// String returns the string representation
21955func (s MaintenanceWindowLambdaParameters) String() string {
21956	return awsutil.Prettify(s)
21957}
21958
21959// GoString returns the string representation
21960func (s MaintenanceWindowLambdaParameters) GoString() string {
21961	return s.String()
21962}
21963
21964// Validate inspects the fields of the type to determine if they are valid.
21965func (s *MaintenanceWindowLambdaParameters) Validate() error {
21966	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"}
21967	if s.ClientContext != nil && len(*s.ClientContext) < 1 {
21968		invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1))
21969	}
21970	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
21971		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
21972	}
21973
21974	if invalidParams.Len() > 0 {
21975		return invalidParams
21976	}
21977	return nil
21978}
21979
21980// SetClientContext sets the ClientContext field's value.
21981func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters {
21982	s.ClientContext = &v
21983	return s
21984}
21985
21986// SetPayload sets the Payload field's value.
21987func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters {
21988	s.Payload = v
21989	return s
21990}
21991
21992// SetQualifier sets the Qualifier field's value.
21993func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters {
21994	s.Qualifier = &v
21995	return s
21996}
21997
21998// The parameters for a RUN_COMMAND task type.
21999// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowRunCommandParameters
22000type MaintenanceWindowRunCommandParameters struct {
22001	_ struct{} `type:"structure"`
22002
22003	// Information about the command(s) to execute.
22004	Comment *string `type:"string"`
22005
22006	// The SHA-256 or SHA-1 hash created by the system when the document was created.
22007	// SHA-1 hashes have been deprecated.
22008	DocumentHash *string `type:"string"`
22009
22010	// SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
22011	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
22012
22013	// Configurations for sending notifications about command status changes on
22014	// a per-instance basis.
22015	NotificationConfig *NotificationConfig `type:"structure"`
22016
22017	// The name of the Amazon S3 bucket.
22018	OutputS3BucketName *string `min:"3" type:"string"`
22019
22020	// The Amazon S3 bucket subfolder.
22021	OutputS3KeyPrefix *string `type:"string"`
22022
22023	// The parameters for the RUN_COMMAND task execution.
22024	Parameters map[string][]*string `type:"map"`
22025
22026	// The IAM service role to assume during task execution.
22027	ServiceRoleArn *string `type:"string"`
22028
22029	// If this time is reached and the command has not already started executing,
22030	// it doesn not execute.
22031	TimeoutSeconds *int64 `min:"30" type:"integer"`
22032}
22033
22034// String returns the string representation
22035func (s MaintenanceWindowRunCommandParameters) String() string {
22036	return awsutil.Prettify(s)
22037}
22038
22039// GoString returns the string representation
22040func (s MaintenanceWindowRunCommandParameters) GoString() string {
22041	return s.String()
22042}
22043
22044// Validate inspects the fields of the type to determine if they are valid.
22045func (s *MaintenanceWindowRunCommandParameters) Validate() error {
22046	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"}
22047	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
22048		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
22049	}
22050	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
22051		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
22052	}
22053
22054	if invalidParams.Len() > 0 {
22055		return invalidParams
22056	}
22057	return nil
22058}
22059
22060// SetComment sets the Comment field's value.
22061func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters {
22062	s.Comment = &v
22063	return s
22064}
22065
22066// SetDocumentHash sets the DocumentHash field's value.
22067func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters {
22068	s.DocumentHash = &v
22069	return s
22070}
22071
22072// SetDocumentHashType sets the DocumentHashType field's value.
22073func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters {
22074	s.DocumentHashType = &v
22075	return s
22076}
22077
22078// SetNotificationConfig sets the NotificationConfig field's value.
22079func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters {
22080	s.NotificationConfig = v
22081	return s
22082}
22083
22084// SetOutputS3BucketName sets the OutputS3BucketName field's value.
22085func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters {
22086	s.OutputS3BucketName = &v
22087	return s
22088}
22089
22090// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
22091func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters {
22092	s.OutputS3KeyPrefix = &v
22093	return s
22094}
22095
22096// SetParameters sets the Parameters field's value.
22097func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters {
22098	s.Parameters = v
22099	return s
22100}
22101
22102// SetServiceRoleArn sets the ServiceRoleArn field's value.
22103func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters {
22104	s.ServiceRoleArn = &v
22105	return s
22106}
22107
22108// SetTimeoutSeconds sets the TimeoutSeconds field's value.
22109func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters {
22110	s.TimeoutSeconds = &v
22111	return s
22112}
22113
22114// The parameters for the STEP_FUNCTION execution.
22115// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowStepFunctionsParameters
22116type MaintenanceWindowStepFunctionsParameters struct {
22117	_ struct{} `type:"structure"`
22118
22119	// The inputs for the STEP_FUNCTION task.
22120	Input *string `type:"string"`
22121
22122	// The name of the STEP_FUNCTION task.
22123	Name *string `min:"1" type:"string"`
22124}
22125
22126// String returns the string representation
22127func (s MaintenanceWindowStepFunctionsParameters) String() string {
22128	return awsutil.Prettify(s)
22129}
22130
22131// GoString returns the string representation
22132func (s MaintenanceWindowStepFunctionsParameters) GoString() string {
22133	return s.String()
22134}
22135
22136// Validate inspects the fields of the type to determine if they are valid.
22137func (s *MaintenanceWindowStepFunctionsParameters) Validate() error {
22138	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"}
22139	if s.Name != nil && len(*s.Name) < 1 {
22140		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
22141	}
22142
22143	if invalidParams.Len() > 0 {
22144		return invalidParams
22145	}
22146	return nil
22147}
22148
22149// SetInput sets the Input field's value.
22150func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters {
22151	s.Input = &v
22152	return s
22153}
22154
22155// SetName sets the Name field's value.
22156func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters {
22157	s.Name = &v
22158	return s
22159}
22160
22161// The target registered with the Maintenance Window.
22162// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTarget
22163type MaintenanceWindowTarget struct {
22164	_ struct{} `type:"structure"`
22165
22166	// A description of the target.
22167	Description *string `min:"1" type:"string"`
22168
22169	// The target name.
22170	Name *string `min:"3" type:"string"`
22171
22172	// User-provided value that will be included in any CloudWatch events raised
22173	// while running tasks for these targets in this Maintenance Window.
22174	OwnerInformation *string `min:"1" type:"string"`
22175
22176	// The type of target.
22177	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
22178
22179	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
22180	// Tags are specified using Key=<tag name>,Values=<tag value>.
22181	Targets []*Target `type:"list"`
22182
22183	// The Maintenance Window ID where the target is registered.
22184	WindowId *string `min:"20" type:"string"`
22185
22186	// The ID of the target.
22187	WindowTargetId *string `min:"36" type:"string"`
22188}
22189
22190// String returns the string representation
22191func (s MaintenanceWindowTarget) String() string {
22192	return awsutil.Prettify(s)
22193}
22194
22195// GoString returns the string representation
22196func (s MaintenanceWindowTarget) GoString() string {
22197	return s.String()
22198}
22199
22200// SetDescription sets the Description field's value.
22201func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget {
22202	s.Description = &v
22203	return s
22204}
22205
22206// SetName sets the Name field's value.
22207func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget {
22208	s.Name = &v
22209	return s
22210}
22211
22212// SetOwnerInformation sets the OwnerInformation field's value.
22213func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget {
22214	s.OwnerInformation = &v
22215	return s
22216}
22217
22218// SetResourceType sets the ResourceType field's value.
22219func (s *MaintenanceWindowTarget) SetResourceType(v string) *MaintenanceWindowTarget {
22220	s.ResourceType = &v
22221	return s
22222}
22223
22224// SetTargets sets the Targets field's value.
22225func (s *MaintenanceWindowTarget) SetTargets(v []*Target) *MaintenanceWindowTarget {
22226	s.Targets = v
22227	return s
22228}
22229
22230// SetWindowId sets the WindowId field's value.
22231func (s *MaintenanceWindowTarget) SetWindowId(v string) *MaintenanceWindowTarget {
22232	s.WindowId = &v
22233	return s
22234}
22235
22236// SetWindowTargetId sets the WindowTargetId field's value.
22237func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindowTarget {
22238	s.WindowTargetId = &v
22239	return s
22240}
22241
22242// Information about a task defined for a Maintenance Window.
22243// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTask
22244type MaintenanceWindowTask struct {
22245	_ struct{} `type:"structure"`
22246
22247	// A description of the task.
22248	Description *string `min:"1" type:"string"`
22249
22250	// Information about an Amazon S3 bucket to write task-level logs to.
22251	LoggingInfo *LoggingInfo `type:"structure"`
22252
22253	// The maximum number of targets this task can be run for in parallel.
22254	MaxConcurrency *string `min:"1" type:"string"`
22255
22256	// The maximum number of errors allowed before this task stops being scheduled.
22257	MaxErrors *string `min:"1" type:"string"`
22258
22259	// The task name.
22260	Name *string `min:"3" type:"string"`
22261
22262	// The priority of the task in the Maintenance Window. The lower the number,
22263	// the higher the priority. Tasks that have the same priority are scheduled
22264	// in parallel.
22265	Priority *int64 `type:"integer"`
22266
22267	// The role that should be assumed when executing the task
22268	ServiceRoleArn *string `type:"string"`
22269
22270	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
22271	// Tags are specified using Key=<tag name>,Values=<tag value>.
22272	Targets []*Target `type:"list"`
22273
22274	// The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION
22275	// task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA
22276	// tasks, it's the function name or ARN. For STEP_FUNCTION tasks, it's the state
22277	// machine ARN.
22278	TaskArn *string `min:"1" type:"string"`
22279
22280	// The parameters that should be passed to the task when it is executed.
22281	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"`
22282
22283	// The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION,
22284	// LAMBDA, or STEP_FUNCTION.
22285	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
22286
22287	// The Maintenance Window ID where the task is registered.
22288	WindowId *string `min:"20" type:"string"`
22289
22290	// The task ID.
22291	WindowTaskId *string `min:"36" type:"string"`
22292}
22293
22294// String returns the string representation
22295func (s MaintenanceWindowTask) String() string {
22296	return awsutil.Prettify(s)
22297}
22298
22299// GoString returns the string representation
22300func (s MaintenanceWindowTask) GoString() string {
22301	return s.String()
22302}
22303
22304// SetDescription sets the Description field's value.
22305func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask {
22306	s.Description = &v
22307	return s
22308}
22309
22310// SetLoggingInfo sets the LoggingInfo field's value.
22311func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask {
22312	s.LoggingInfo = v
22313	return s
22314}
22315
22316// SetMaxConcurrency sets the MaxConcurrency field's value.
22317func (s *MaintenanceWindowTask) SetMaxConcurrency(v string) *MaintenanceWindowTask {
22318	s.MaxConcurrency = &v
22319	return s
22320}
22321
22322// SetMaxErrors sets the MaxErrors field's value.
22323func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask {
22324	s.MaxErrors = &v
22325	return s
22326}
22327
22328// SetName sets the Name field's value.
22329func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask {
22330	s.Name = &v
22331	return s
22332}
22333
22334// SetPriority sets the Priority field's value.
22335func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask {
22336	s.Priority = &v
22337	return s
22338}
22339
22340// SetServiceRoleArn sets the ServiceRoleArn field's value.
22341func (s *MaintenanceWindowTask) SetServiceRoleArn(v string) *MaintenanceWindowTask {
22342	s.ServiceRoleArn = &v
22343	return s
22344}
22345
22346// SetTargets sets the Targets field's value.
22347func (s *MaintenanceWindowTask) SetTargets(v []*Target) *MaintenanceWindowTask {
22348	s.Targets = v
22349	return s
22350}
22351
22352// SetTaskArn sets the TaskArn field's value.
22353func (s *MaintenanceWindowTask) SetTaskArn(v string) *MaintenanceWindowTask {
22354	s.TaskArn = &v
22355	return s
22356}
22357
22358// SetTaskParameters sets the TaskParameters field's value.
22359func (s *MaintenanceWindowTask) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *MaintenanceWindowTask {
22360	s.TaskParameters = v
22361	return s
22362}
22363
22364// SetType sets the Type field's value.
22365func (s *MaintenanceWindowTask) SetType(v string) *MaintenanceWindowTask {
22366	s.Type = &v
22367	return s
22368}
22369
22370// SetWindowId sets the WindowId field's value.
22371func (s *MaintenanceWindowTask) SetWindowId(v string) *MaintenanceWindowTask {
22372	s.WindowId = &v
22373	return s
22374}
22375
22376// SetWindowTaskId sets the WindowTaskId field's value.
22377func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask {
22378	s.WindowTaskId = &v
22379	return s
22380}
22381
22382// The parameters for task execution.
22383// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTaskInvocationParameters
22384type MaintenanceWindowTaskInvocationParameters struct {
22385	_ struct{} `type:"structure"`
22386
22387	// The parameters for a AUTOMATION task type.
22388	Automation *MaintenanceWindowAutomationParameters `type:"structure"`
22389
22390	// The parameters for a LAMBDA task type.
22391	Lambda *MaintenanceWindowLambdaParameters `type:"structure"`
22392
22393	// The parameters for a RUN_COMMAND task type.
22394	RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"`
22395
22396	// The parameters for a STEP_FUNCTION task type.
22397	StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"`
22398}
22399
22400// String returns the string representation
22401func (s MaintenanceWindowTaskInvocationParameters) String() string {
22402	return awsutil.Prettify(s)
22403}
22404
22405// GoString returns the string representation
22406func (s MaintenanceWindowTaskInvocationParameters) GoString() string {
22407	return s.String()
22408}
22409
22410// Validate inspects the fields of the type to determine if they are valid.
22411func (s *MaintenanceWindowTaskInvocationParameters) Validate() error {
22412	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"}
22413	if s.Automation != nil {
22414		if err := s.Automation.Validate(); err != nil {
22415			invalidParams.AddNested("Automation", err.(request.ErrInvalidParams))
22416		}
22417	}
22418	if s.Lambda != nil {
22419		if err := s.Lambda.Validate(); err != nil {
22420			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
22421		}
22422	}
22423	if s.RunCommand != nil {
22424		if err := s.RunCommand.Validate(); err != nil {
22425			invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams))
22426		}
22427	}
22428	if s.StepFunctions != nil {
22429		if err := s.StepFunctions.Validate(); err != nil {
22430			invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams))
22431		}
22432	}
22433
22434	if invalidParams.Len() > 0 {
22435		return invalidParams
22436	}
22437	return nil
22438}
22439
22440// SetAutomation sets the Automation field's value.
22441func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters {
22442	s.Automation = v
22443	return s
22444}
22445
22446// SetLambda sets the Lambda field's value.
22447func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters {
22448	s.Lambda = v
22449	return s
22450}
22451
22452// SetRunCommand sets the RunCommand field's value.
22453func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters {
22454	s.RunCommand = v
22455	return s
22456}
22457
22458// SetStepFunctions sets the StepFunctions field's value.
22459func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters {
22460	s.StepFunctions = v
22461	return s
22462}
22463
22464// Defines the values for a task parameter.
22465// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowTaskParameterValueExpression
22466type MaintenanceWindowTaskParameterValueExpression struct {
22467	_ struct{} `type:"structure"`
22468
22469	// This field contains an array of 0 or more strings, each 1 to 255 characters
22470	// in length.
22471	Values []*string `type:"list"`
22472}
22473
22474// String returns the string representation
22475func (s MaintenanceWindowTaskParameterValueExpression) String() string {
22476	return awsutil.Prettify(s)
22477}
22478
22479// GoString returns the string representation
22480func (s MaintenanceWindowTaskParameterValueExpression) GoString() string {
22481	return s.String()
22482}
22483
22484// SetValues sets the Values field's value.
22485func (s *MaintenanceWindowTaskParameterValueExpression) SetValues(v []*string) *MaintenanceWindowTaskParameterValueExpression {
22486	s.Values = v
22487	return s
22488}
22489
22490// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermissionRequest
22491type ModifyDocumentPermissionInput struct {
22492	_ struct{} `type:"structure"`
22493
22494	// The AWS user accounts that should have access to the document. The account
22495	// IDs can either be a group of account IDs or All.
22496	AccountIdsToAdd []*string `locationNameList:"AccountId" type:"list"`
22497
22498	// The AWS user accounts that should no longer have access to the document.
22499	// The AWS user account can either be a group of account IDs or All. This action
22500	// has a higher priority than AccountIdsToAdd. If you specify an account ID
22501	// to add and the same ID to remove, the system removes access to the document.
22502	AccountIdsToRemove []*string `locationNameList:"AccountId" type:"list"`
22503
22504	// The name of the document that you want to share.
22505	//
22506	// Name is a required field
22507	Name *string `type:"string" required:"true"`
22508
22509	// The permission type for the document. The permission type can be Share.
22510	//
22511	// PermissionType is a required field
22512	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
22513}
22514
22515// String returns the string representation
22516func (s ModifyDocumentPermissionInput) String() string {
22517	return awsutil.Prettify(s)
22518}
22519
22520// GoString returns the string representation
22521func (s ModifyDocumentPermissionInput) GoString() string {
22522	return s.String()
22523}
22524
22525// Validate inspects the fields of the type to determine if they are valid.
22526func (s *ModifyDocumentPermissionInput) Validate() error {
22527	invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"}
22528	if s.Name == nil {
22529		invalidParams.Add(request.NewErrParamRequired("Name"))
22530	}
22531	if s.PermissionType == nil {
22532		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
22533	}
22534
22535	if invalidParams.Len() > 0 {
22536		return invalidParams
22537	}
22538	return nil
22539}
22540
22541// SetAccountIdsToAdd sets the AccountIdsToAdd field's value.
22542func (s *ModifyDocumentPermissionInput) SetAccountIdsToAdd(v []*string) *ModifyDocumentPermissionInput {
22543	s.AccountIdsToAdd = v
22544	return s
22545}
22546
22547// SetAccountIdsToRemove sets the AccountIdsToRemove field's value.
22548func (s *ModifyDocumentPermissionInput) SetAccountIdsToRemove(v []*string) *ModifyDocumentPermissionInput {
22549	s.AccountIdsToRemove = v
22550	return s
22551}
22552
22553// SetName sets the Name field's value.
22554func (s *ModifyDocumentPermissionInput) SetName(v string) *ModifyDocumentPermissionInput {
22555	s.Name = &v
22556	return s
22557}
22558
22559// SetPermissionType sets the PermissionType field's value.
22560func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocumentPermissionInput {
22561	s.PermissionType = &v
22562	return s
22563}
22564
22565// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermissionResponse
22566type ModifyDocumentPermissionOutput struct {
22567	_ struct{} `type:"structure"`
22568}
22569
22570// String returns the string representation
22571func (s ModifyDocumentPermissionOutput) String() string {
22572	return awsutil.Prettify(s)
22573}
22574
22575// GoString returns the string representation
22576func (s ModifyDocumentPermissionOutput) GoString() string {
22577	return s.String()
22578}
22579
22580// A summary of resources that are not compliant. The summary is organized according
22581// to resource type.
22582// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/NonCompliantSummary
22583type NonCompliantSummary struct {
22584	_ struct{} `type:"structure"`
22585
22586	// The total number of compliance items that are not compliant.
22587	NonCompliantCount *int64 `type:"integer"`
22588
22589	// A summary of the non-compliance severity by compliance type
22590	SeveritySummary *SeveritySummary `type:"structure"`
22591}
22592
22593// String returns the string representation
22594func (s NonCompliantSummary) String() string {
22595	return awsutil.Prettify(s)
22596}
22597
22598// GoString returns the string representation
22599func (s NonCompliantSummary) GoString() string {
22600	return s.String()
22601}
22602
22603// SetNonCompliantCount sets the NonCompliantCount field's value.
22604func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary {
22605	s.NonCompliantCount = &v
22606	return s
22607}
22608
22609// SetSeveritySummary sets the SeveritySummary field's value.
22610func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary {
22611	s.SeveritySummary = v
22612	return s
22613}
22614
22615// Configurations for sending notifications.
22616// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/NotificationConfig
22617type NotificationConfig struct {
22618	_ struct{} `type:"structure"`
22619
22620	// An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic.
22621	// Run Command pushes notifications about command status changes to this topic.
22622	NotificationArn *string `type:"string"`
22623
22624	// The different events for which you can receive notifications. These events
22625	// include the following: All (events), InProgress, Success, TimedOut, Cancelled,
22626	// Failed. To learn more about these events, see Setting Up Events and Notifications
22627	// (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
22628	// in the Amazon EC2 Systems Manager User Guide.
22629	NotificationEvents []*string `type:"list"`
22630
22631	// Command: Receive notification when the status of a command changes. Invocation:
22632	// For commands sent to multiple instances, receive notification on a per-instance
22633	// basis when the status of a command changes.
22634	NotificationType *string `type:"string" enum:"NotificationType"`
22635}
22636
22637// String returns the string representation
22638func (s NotificationConfig) String() string {
22639	return awsutil.Prettify(s)
22640}
22641
22642// GoString returns the string representation
22643func (s NotificationConfig) GoString() string {
22644	return s.String()
22645}
22646
22647// SetNotificationArn sets the NotificationArn field's value.
22648func (s *NotificationConfig) SetNotificationArn(v string) *NotificationConfig {
22649	s.NotificationArn = &v
22650	return s
22651}
22652
22653// SetNotificationEvents sets the NotificationEvents field's value.
22654func (s *NotificationConfig) SetNotificationEvents(v []*string) *NotificationConfig {
22655	s.NotificationEvents = v
22656	return s
22657}
22658
22659// SetNotificationType sets the NotificationType field's value.
22660func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig {
22661	s.NotificationType = &v
22662	return s
22663}
22664
22665// An Amazon EC2 Systems Manager parameter in Parameter Store.
22666// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Parameter
22667type Parameter struct {
22668	_ struct{} `type:"structure"`
22669
22670	// The name of the parameter.
22671	Name *string `min:"1" type:"string"`
22672
22673	// The type of parameter. Valid values include the following: String, String
22674	// list, Secure string.
22675	Type *string `type:"string" enum:"ParameterType"`
22676
22677	// The parameter value.
22678	Value *string `min:"1" type:"string"`
22679}
22680
22681// String returns the string representation
22682func (s Parameter) String() string {
22683	return awsutil.Prettify(s)
22684}
22685
22686// GoString returns the string representation
22687func (s Parameter) GoString() string {
22688	return s.String()
22689}
22690
22691// SetName sets the Name field's value.
22692func (s *Parameter) SetName(v string) *Parameter {
22693	s.Name = &v
22694	return s
22695}
22696
22697// SetType sets the Type field's value.
22698func (s *Parameter) SetType(v string) *Parameter {
22699	s.Type = &v
22700	return s
22701}
22702
22703// SetValue sets the Value field's value.
22704func (s *Parameter) SetValue(v string) *Parameter {
22705	s.Value = &v
22706	return s
22707}
22708
22709// Information about parameter usage.
22710// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ParameterHistory
22711type ParameterHistory struct {
22712	_ struct{} `type:"structure"`
22713
22714	// Parameter names can include the following letters and symbols.
22715	//
22716	// a-zA-Z0-9_.-
22717	AllowedPattern *string `type:"string"`
22718
22719	// Information about the parameter.
22720	Description *string `min:"1" type:"string"`
22721
22722	// The ID of the query key used for this parameter.
22723	KeyId *string `min:"1" type:"string"`
22724
22725	// Date the parameter was last changed or updated.
22726	LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
22727
22728	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
22729	LastModifiedUser *string `type:"string"`
22730
22731	// The name of the parameter.
22732	Name *string `min:"1" type:"string"`
22733
22734	// The type of parameter used.
22735	Type *string `type:"string" enum:"ParameterType"`
22736
22737	// The parameter value.
22738	Value *string `min:"1" type:"string"`
22739}
22740
22741// String returns the string representation
22742func (s ParameterHistory) String() string {
22743	return awsutil.Prettify(s)
22744}
22745
22746// GoString returns the string representation
22747func (s ParameterHistory) GoString() string {
22748	return s.String()
22749}
22750
22751// SetAllowedPattern sets the AllowedPattern field's value.
22752func (s *ParameterHistory) SetAllowedPattern(v string) *ParameterHistory {
22753	s.AllowedPattern = &v
22754	return s
22755}
22756
22757// SetDescription sets the Description field's value.
22758func (s *ParameterHistory) SetDescription(v string) *ParameterHistory {
22759	s.Description = &v
22760	return s
22761}
22762
22763// SetKeyId sets the KeyId field's value.
22764func (s *ParameterHistory) SetKeyId(v string) *ParameterHistory {
22765	s.KeyId = &v
22766	return s
22767}
22768
22769// SetLastModifiedDate sets the LastModifiedDate field's value.
22770func (s *ParameterHistory) SetLastModifiedDate(v time.Time) *ParameterHistory {
22771	s.LastModifiedDate = &v
22772	return s
22773}
22774
22775// SetLastModifiedUser sets the LastModifiedUser field's value.
22776func (s *ParameterHistory) SetLastModifiedUser(v string) *ParameterHistory {
22777	s.LastModifiedUser = &v
22778	return s
22779}
22780
22781// SetName sets the Name field's value.
22782func (s *ParameterHistory) SetName(v string) *ParameterHistory {
22783	s.Name = &v
22784	return s
22785}
22786
22787// SetType sets the Type field's value.
22788func (s *ParameterHistory) SetType(v string) *ParameterHistory {
22789	s.Type = &v
22790	return s
22791}
22792
22793// SetValue sets the Value field's value.
22794func (s *ParameterHistory) SetValue(v string) *ParameterHistory {
22795	s.Value = &v
22796	return s
22797}
22798
22799// Metada includes information like the ARN of the last user and the date/time
22800// the parameter was last used.
22801// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ParameterMetadata
22802type ParameterMetadata struct {
22803	_ struct{} `type:"structure"`
22804
22805	// A parameter name can include only the following letters and symbols.
22806	//
22807	// a-zA-Z0-9_.-
22808	AllowedPattern *string `type:"string"`
22809
22810	// Description of the parameter actions.
22811	Description *string `min:"1" type:"string"`
22812
22813	// The ID of the query key used for this parameter.
22814	KeyId *string `min:"1" type:"string"`
22815
22816	// Date the parameter was last changed or updated.
22817	LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
22818
22819	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
22820	LastModifiedUser *string `type:"string"`
22821
22822	// The parameter name.
22823	Name *string `min:"1" type:"string"`
22824
22825	// The type of parameter. Valid parameter types include the following: String,
22826	// String list, Secure string.
22827	Type *string `type:"string" enum:"ParameterType"`
22828}
22829
22830// String returns the string representation
22831func (s ParameterMetadata) String() string {
22832	return awsutil.Prettify(s)
22833}
22834
22835// GoString returns the string representation
22836func (s ParameterMetadata) GoString() string {
22837	return s.String()
22838}
22839
22840// SetAllowedPattern sets the AllowedPattern field's value.
22841func (s *ParameterMetadata) SetAllowedPattern(v string) *ParameterMetadata {
22842	s.AllowedPattern = &v
22843	return s
22844}
22845
22846// SetDescription sets the Description field's value.
22847func (s *ParameterMetadata) SetDescription(v string) *ParameterMetadata {
22848	s.Description = &v
22849	return s
22850}
22851
22852// SetKeyId sets the KeyId field's value.
22853func (s *ParameterMetadata) SetKeyId(v string) *ParameterMetadata {
22854	s.KeyId = &v
22855	return s
22856}
22857
22858// SetLastModifiedDate sets the LastModifiedDate field's value.
22859func (s *ParameterMetadata) SetLastModifiedDate(v time.Time) *ParameterMetadata {
22860	s.LastModifiedDate = &v
22861	return s
22862}
22863
22864// SetLastModifiedUser sets the LastModifiedUser field's value.
22865func (s *ParameterMetadata) SetLastModifiedUser(v string) *ParameterMetadata {
22866	s.LastModifiedUser = &v
22867	return s
22868}
22869
22870// SetName sets the Name field's value.
22871func (s *ParameterMetadata) SetName(v string) *ParameterMetadata {
22872	s.Name = &v
22873	return s
22874}
22875
22876// SetType sets the Type field's value.
22877func (s *ParameterMetadata) SetType(v string) *ParameterMetadata {
22878	s.Type = &v
22879	return s
22880}
22881
22882// One or more filters. Use a filter to return a more specific list of results.
22883// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ParameterStringFilter
22884type ParameterStringFilter struct {
22885	_ struct{} `type:"structure"`
22886
22887	// The name of the filter.
22888	//
22889	// Key is a required field
22890	Key *string `min:"1" type:"string" required:"true"`
22891
22892	// Valid options are Equals and BeginsWith. For Path filter, valid options are
22893	// Recursive and OneLevel.
22894	Option *string `min:"1" type:"string"`
22895
22896	// The value you want to search for.
22897	Values []*string `min:"1" type:"list"`
22898}
22899
22900// String returns the string representation
22901func (s ParameterStringFilter) String() string {
22902	return awsutil.Prettify(s)
22903}
22904
22905// GoString returns the string representation
22906func (s ParameterStringFilter) GoString() string {
22907	return s.String()
22908}
22909
22910// Validate inspects the fields of the type to determine if they are valid.
22911func (s *ParameterStringFilter) Validate() error {
22912	invalidParams := request.ErrInvalidParams{Context: "ParameterStringFilter"}
22913	if s.Key == nil {
22914		invalidParams.Add(request.NewErrParamRequired("Key"))
22915	}
22916	if s.Key != nil && len(*s.Key) < 1 {
22917		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
22918	}
22919	if s.Option != nil && len(*s.Option) < 1 {
22920		invalidParams.Add(request.NewErrParamMinLen("Option", 1))
22921	}
22922	if s.Values != nil && len(s.Values) < 1 {
22923		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
22924	}
22925
22926	if invalidParams.Len() > 0 {
22927		return invalidParams
22928	}
22929	return nil
22930}
22931
22932// SetKey sets the Key field's value.
22933func (s *ParameterStringFilter) SetKey(v string) *ParameterStringFilter {
22934	s.Key = &v
22935	return s
22936}
22937
22938// SetOption sets the Option field's value.
22939func (s *ParameterStringFilter) SetOption(v string) *ParameterStringFilter {
22940	s.Option = &v
22941	return s
22942}
22943
22944// SetValues sets the Values field's value.
22945func (s *ParameterStringFilter) SetValues(v []*string) *ParameterStringFilter {
22946	s.Values = v
22947	return s
22948}
22949
22950// One or more filters. Use a filter to return a more specific list of results.
22951// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ParametersFilter
22952type ParametersFilter struct {
22953	_ struct{} `type:"structure"`
22954
22955	// The name of the filter.
22956	//
22957	// Key is a required field
22958	Key *string `type:"string" required:"true" enum:"ParametersFilterKey"`
22959
22960	// The filter values.
22961	//
22962	// Values is a required field
22963	Values []*string `min:"1" type:"list" required:"true"`
22964}
22965
22966// String returns the string representation
22967func (s ParametersFilter) String() string {
22968	return awsutil.Prettify(s)
22969}
22970
22971// GoString returns the string representation
22972func (s ParametersFilter) GoString() string {
22973	return s.String()
22974}
22975
22976// Validate inspects the fields of the type to determine if they are valid.
22977func (s *ParametersFilter) Validate() error {
22978	invalidParams := request.ErrInvalidParams{Context: "ParametersFilter"}
22979	if s.Key == nil {
22980		invalidParams.Add(request.NewErrParamRequired("Key"))
22981	}
22982	if s.Values == nil {
22983		invalidParams.Add(request.NewErrParamRequired("Values"))
22984	}
22985	if s.Values != nil && len(s.Values) < 1 {
22986		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
22987	}
22988
22989	if invalidParams.Len() > 0 {
22990		return invalidParams
22991	}
22992	return nil
22993}
22994
22995// SetKey sets the Key field's value.
22996func (s *ParametersFilter) SetKey(v string) *ParametersFilter {
22997	s.Key = &v
22998	return s
22999}
23000
23001// SetValues sets the Values field's value.
23002func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter {
23003	s.Values = v
23004	return s
23005}
23006
23007// Represents metadata about a patch.
23008// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Patch
23009type Patch struct {
23010	_ struct{} `type:"structure"`
23011
23012	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
23013	Classification *string `type:"string"`
23014
23015	// The URL where more information can be obtained about the patch.
23016	ContentUrl *string `type:"string"`
23017
23018	// The description of the patch.
23019	Description *string `type:"string"`
23020
23021	// The ID of the patch (this is different than the Microsoft Knowledge Base
23022	// ID).
23023	Id *string `min:"1" type:"string"`
23024
23025	// The Microsoft Knowledge Base ID of the patch.
23026	KbNumber *string `type:"string"`
23027
23028	// The language of the patch if it's language-specific.
23029	Language *string `type:"string"`
23030
23031	// The ID of the MSRC bulletin the patch is related to.
23032	MsrcNumber *string `type:"string"`
23033
23034	// The severity of the patch (for example Critical, Important, Moderate).
23035	MsrcSeverity *string `type:"string"`
23036
23037	// The specific product the patch is applicable for (for example, WindowsServer2016).
23038	Product *string `type:"string"`
23039
23040	// The product family the patch is applicable for (for example, Windows).
23041	ProductFamily *string `type:"string"`
23042
23043	// The date the patch was released.
23044	ReleaseDate *time.Time `type:"timestamp" timestampFormat:"unix"`
23045
23046	// The title of the patch.
23047	Title *string `type:"string"`
23048
23049	// The name of the vendor providing the patch.
23050	Vendor *string `type:"string"`
23051}
23052
23053// String returns the string representation
23054func (s Patch) String() string {
23055	return awsutil.Prettify(s)
23056}
23057
23058// GoString returns the string representation
23059func (s Patch) GoString() string {
23060	return s.String()
23061}
23062
23063// SetClassification sets the Classification field's value.
23064func (s *Patch) SetClassification(v string) *Patch {
23065	s.Classification = &v
23066	return s
23067}
23068
23069// SetContentUrl sets the ContentUrl field's value.
23070func (s *Patch) SetContentUrl(v string) *Patch {
23071	s.ContentUrl = &v
23072	return s
23073}
23074
23075// SetDescription sets the Description field's value.
23076func (s *Patch) SetDescription(v string) *Patch {
23077	s.Description = &v
23078	return s
23079}
23080
23081// SetId sets the Id field's value.
23082func (s *Patch) SetId(v string) *Patch {
23083	s.Id = &v
23084	return s
23085}
23086
23087// SetKbNumber sets the KbNumber field's value.
23088func (s *Patch) SetKbNumber(v string) *Patch {
23089	s.KbNumber = &v
23090	return s
23091}
23092
23093// SetLanguage sets the Language field's value.
23094func (s *Patch) SetLanguage(v string) *Patch {
23095	s.Language = &v
23096	return s
23097}
23098
23099// SetMsrcNumber sets the MsrcNumber field's value.
23100func (s *Patch) SetMsrcNumber(v string) *Patch {
23101	s.MsrcNumber = &v
23102	return s
23103}
23104
23105// SetMsrcSeverity sets the MsrcSeverity field's value.
23106func (s *Patch) SetMsrcSeverity(v string) *Patch {
23107	s.MsrcSeverity = &v
23108	return s
23109}
23110
23111// SetProduct sets the Product field's value.
23112func (s *Patch) SetProduct(v string) *Patch {
23113	s.Product = &v
23114	return s
23115}
23116
23117// SetProductFamily sets the ProductFamily field's value.
23118func (s *Patch) SetProductFamily(v string) *Patch {
23119	s.ProductFamily = &v
23120	return s
23121}
23122
23123// SetReleaseDate sets the ReleaseDate field's value.
23124func (s *Patch) SetReleaseDate(v time.Time) *Patch {
23125	s.ReleaseDate = &v
23126	return s
23127}
23128
23129// SetTitle sets the Title field's value.
23130func (s *Patch) SetTitle(v string) *Patch {
23131	s.Title = &v
23132	return s
23133}
23134
23135// SetVendor sets the Vendor field's value.
23136func (s *Patch) SetVendor(v string) *Patch {
23137	s.Vendor = &v
23138	return s
23139}
23140
23141// Defines the basic information about a patch baseline.
23142// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchBaselineIdentity
23143type PatchBaselineIdentity struct {
23144	_ struct{} `type:"structure"`
23145
23146	// The description of the patch baseline.
23147	BaselineDescription *string `min:"1" type:"string"`
23148
23149	// The ID of the patch baseline.
23150	BaselineId *string `min:"20" type:"string"`
23151
23152	// The name of the patch baseline.
23153	BaselineName *string `min:"3" type:"string"`
23154
23155	// Whether this is the default baseline. Note that Systems Manager supports
23156	// creating multiple default patch baselines. For example, you can create a
23157	// default patch baseline for each operating system.
23158	DefaultBaseline *bool `type:"boolean"`
23159
23160	// Defines the operating system the patch baseline applies to. Supported operating
23161	// systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX.
23162	// The Default value is WINDOWS.
23163	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
23164}
23165
23166// String returns the string representation
23167func (s PatchBaselineIdentity) String() string {
23168	return awsutil.Prettify(s)
23169}
23170
23171// GoString returns the string representation
23172func (s PatchBaselineIdentity) GoString() string {
23173	return s.String()
23174}
23175
23176// SetBaselineDescription sets the BaselineDescription field's value.
23177func (s *PatchBaselineIdentity) SetBaselineDescription(v string) *PatchBaselineIdentity {
23178	s.BaselineDescription = &v
23179	return s
23180}
23181
23182// SetBaselineId sets the BaselineId field's value.
23183func (s *PatchBaselineIdentity) SetBaselineId(v string) *PatchBaselineIdentity {
23184	s.BaselineId = &v
23185	return s
23186}
23187
23188// SetBaselineName sets the BaselineName field's value.
23189func (s *PatchBaselineIdentity) SetBaselineName(v string) *PatchBaselineIdentity {
23190	s.BaselineName = &v
23191	return s
23192}
23193
23194// SetDefaultBaseline sets the DefaultBaseline field's value.
23195func (s *PatchBaselineIdentity) SetDefaultBaseline(v bool) *PatchBaselineIdentity {
23196	s.DefaultBaseline = &v
23197	return s
23198}
23199
23200// SetOperatingSystem sets the OperatingSystem field's value.
23201func (s *PatchBaselineIdentity) SetOperatingSystem(v string) *PatchBaselineIdentity {
23202	s.OperatingSystem = &v
23203	return s
23204}
23205
23206// Information about the state of a patch on a particular instance as it relates
23207// to the patch baseline used to patch the instance.
23208// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchComplianceData
23209type PatchComplianceData struct {
23210	_ struct{} `type:"structure"`
23211
23212	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
23213	//
23214	// Classification is a required field
23215	Classification *string `type:"string" required:"true"`
23216
23217	// The date/time the patch was installed on the instance. Note that not all
23218	// operating systems provide this level of information.
23219	//
23220	// InstalledTime is a required field
23221	InstalledTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
23222
23223	// The operating system-specific ID of the patch.
23224	//
23225	// KBId is a required field
23226	KBId *string `type:"string" required:"true"`
23227
23228	// The severity of the patch (for example, Critical, Important, Moderate).
23229	//
23230	// Severity is a required field
23231	Severity *string `type:"string" required:"true"`
23232
23233	// The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING,
23234	// NOT_APPLICABLE or FAILED).
23235	//
23236	// State is a required field
23237	State *string `type:"string" required:"true" enum:"PatchComplianceDataState"`
23238
23239	// The title of the patch.
23240	//
23241	// Title is a required field
23242	Title *string `type:"string" required:"true"`
23243}
23244
23245// String returns the string representation
23246func (s PatchComplianceData) String() string {
23247	return awsutil.Prettify(s)
23248}
23249
23250// GoString returns the string representation
23251func (s PatchComplianceData) GoString() string {
23252	return s.String()
23253}
23254
23255// SetClassification sets the Classification field's value.
23256func (s *PatchComplianceData) SetClassification(v string) *PatchComplianceData {
23257	s.Classification = &v
23258	return s
23259}
23260
23261// SetInstalledTime sets the InstalledTime field's value.
23262func (s *PatchComplianceData) SetInstalledTime(v time.Time) *PatchComplianceData {
23263	s.InstalledTime = &v
23264	return s
23265}
23266
23267// SetKBId sets the KBId field's value.
23268func (s *PatchComplianceData) SetKBId(v string) *PatchComplianceData {
23269	s.KBId = &v
23270	return s
23271}
23272
23273// SetSeverity sets the Severity field's value.
23274func (s *PatchComplianceData) SetSeverity(v string) *PatchComplianceData {
23275	s.Severity = &v
23276	return s
23277}
23278
23279// SetState sets the State field's value.
23280func (s *PatchComplianceData) SetState(v string) *PatchComplianceData {
23281	s.State = &v
23282	return s
23283}
23284
23285// SetTitle sets the Title field's value.
23286func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData {
23287	s.Title = &v
23288	return s
23289}
23290
23291// Defines a patch filter.
23292// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchFilter
23293type PatchFilter struct {
23294	_ struct{} `type:"structure"`
23295
23296	// The key for the filter (PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID)
23297	//
23298	// Key is a required field
23299	Key *string `type:"string" required:"true" enum:"PatchFilterKey"`
23300
23301	// The value for the filter key.
23302	//
23303	// Values is a required field
23304	Values []*string `min:"1" type:"list" required:"true"`
23305}
23306
23307// String returns the string representation
23308func (s PatchFilter) String() string {
23309	return awsutil.Prettify(s)
23310}
23311
23312// GoString returns the string representation
23313func (s PatchFilter) GoString() string {
23314	return s.String()
23315}
23316
23317// Validate inspects the fields of the type to determine if they are valid.
23318func (s *PatchFilter) Validate() error {
23319	invalidParams := request.ErrInvalidParams{Context: "PatchFilter"}
23320	if s.Key == nil {
23321		invalidParams.Add(request.NewErrParamRequired("Key"))
23322	}
23323	if s.Values == nil {
23324		invalidParams.Add(request.NewErrParamRequired("Values"))
23325	}
23326	if s.Values != nil && len(s.Values) < 1 {
23327		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
23328	}
23329
23330	if invalidParams.Len() > 0 {
23331		return invalidParams
23332	}
23333	return nil
23334}
23335
23336// SetKey sets the Key field's value.
23337func (s *PatchFilter) SetKey(v string) *PatchFilter {
23338	s.Key = &v
23339	return s
23340}
23341
23342// SetValues sets the Values field's value.
23343func (s *PatchFilter) SetValues(v []*string) *PatchFilter {
23344	s.Values = v
23345	return s
23346}
23347
23348// A set of patch filters, typically used for approval rules.
23349// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchFilterGroup
23350type PatchFilterGroup struct {
23351	_ struct{} `type:"structure"`
23352
23353	// The set of patch filters that make up the group.
23354	//
23355	// PatchFilters is a required field
23356	PatchFilters []*PatchFilter `type:"list" required:"true"`
23357}
23358
23359// String returns the string representation
23360func (s PatchFilterGroup) String() string {
23361	return awsutil.Prettify(s)
23362}
23363
23364// GoString returns the string representation
23365func (s PatchFilterGroup) GoString() string {
23366	return s.String()
23367}
23368
23369// Validate inspects the fields of the type to determine if they are valid.
23370func (s *PatchFilterGroup) Validate() error {
23371	invalidParams := request.ErrInvalidParams{Context: "PatchFilterGroup"}
23372	if s.PatchFilters == nil {
23373		invalidParams.Add(request.NewErrParamRequired("PatchFilters"))
23374	}
23375	if s.PatchFilters != nil {
23376		for i, v := range s.PatchFilters {
23377			if v == nil {
23378				continue
23379			}
23380			if err := v.Validate(); err != nil {
23381				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchFilters", i), err.(request.ErrInvalidParams))
23382			}
23383		}
23384	}
23385
23386	if invalidParams.Len() > 0 {
23387		return invalidParams
23388	}
23389	return nil
23390}
23391
23392// SetPatchFilters sets the PatchFilters field's value.
23393func (s *PatchFilterGroup) SetPatchFilters(v []*PatchFilter) *PatchFilterGroup {
23394	s.PatchFilters = v
23395	return s
23396}
23397
23398// The mapping between a patch group and the patch baseline the patch group
23399// is registered with.
23400// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchGroupPatchBaselineMapping
23401type PatchGroupPatchBaselineMapping struct {
23402	_ struct{} `type:"structure"`
23403
23404	// The patch baseline the patch group is registered with.
23405	BaselineIdentity *PatchBaselineIdentity `type:"structure"`
23406
23407	// The name of the patch group registered with the patch baseline.
23408	PatchGroup *string `min:"1" type:"string"`
23409}
23410
23411// String returns the string representation
23412func (s PatchGroupPatchBaselineMapping) String() string {
23413	return awsutil.Prettify(s)
23414}
23415
23416// GoString returns the string representation
23417func (s PatchGroupPatchBaselineMapping) GoString() string {
23418	return s.String()
23419}
23420
23421// SetBaselineIdentity sets the BaselineIdentity field's value.
23422func (s *PatchGroupPatchBaselineMapping) SetBaselineIdentity(v *PatchBaselineIdentity) *PatchGroupPatchBaselineMapping {
23423	s.BaselineIdentity = v
23424	return s
23425}
23426
23427// SetPatchGroup sets the PatchGroup field's value.
23428func (s *PatchGroupPatchBaselineMapping) SetPatchGroup(v string) *PatchGroupPatchBaselineMapping {
23429	s.PatchGroup = &v
23430	return s
23431}
23432
23433// Defines a filter used in Patch Manager APIs.
23434// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchOrchestratorFilter
23435type PatchOrchestratorFilter struct {
23436	_ struct{} `type:"structure"`
23437
23438	// The key for the filter.
23439	Key *string `min:"1" type:"string"`
23440
23441	// The value for the filter.
23442	Values []*string `type:"list"`
23443}
23444
23445// String returns the string representation
23446func (s PatchOrchestratorFilter) String() string {
23447	return awsutil.Prettify(s)
23448}
23449
23450// GoString returns the string representation
23451func (s PatchOrchestratorFilter) GoString() string {
23452	return s.String()
23453}
23454
23455// Validate inspects the fields of the type to determine if they are valid.
23456func (s *PatchOrchestratorFilter) Validate() error {
23457	invalidParams := request.ErrInvalidParams{Context: "PatchOrchestratorFilter"}
23458	if s.Key != nil && len(*s.Key) < 1 {
23459		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
23460	}
23461
23462	if invalidParams.Len() > 0 {
23463		return invalidParams
23464	}
23465	return nil
23466}
23467
23468// SetKey sets the Key field's value.
23469func (s *PatchOrchestratorFilter) SetKey(v string) *PatchOrchestratorFilter {
23470	s.Key = &v
23471	return s
23472}
23473
23474// SetValues sets the Values field's value.
23475func (s *PatchOrchestratorFilter) SetValues(v []*string) *PatchOrchestratorFilter {
23476	s.Values = v
23477	return s
23478}
23479
23480// Defines an approval rule for a patch baseline.
23481// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchRule
23482type PatchRule struct {
23483	_ struct{} `type:"structure"`
23484
23485	// The number of days after the release date of each patch matched by the rule
23486	// the patch is marked as approved in the patch baseline.
23487	//
23488	// ApproveAfterDays is a required field
23489	ApproveAfterDays *int64 `type:"integer" required:"true"`
23490
23491	// A compliance severity level for all approved patches in a patch baseline.
23492	// Valid compliance severity levels include the following: Unspecified, Critical,
23493	// High, Medium, Low, and Informational.
23494	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
23495
23496	// The patch filter group that defines the criteria for the rule.
23497	//
23498	// PatchFilterGroup is a required field
23499	PatchFilterGroup *PatchFilterGroup `type:"structure" required:"true"`
23500}
23501
23502// String returns the string representation
23503func (s PatchRule) String() string {
23504	return awsutil.Prettify(s)
23505}
23506
23507// GoString returns the string representation
23508func (s PatchRule) GoString() string {
23509	return s.String()
23510}
23511
23512// Validate inspects the fields of the type to determine if they are valid.
23513func (s *PatchRule) Validate() error {
23514	invalidParams := request.ErrInvalidParams{Context: "PatchRule"}
23515	if s.ApproveAfterDays == nil {
23516		invalidParams.Add(request.NewErrParamRequired("ApproveAfterDays"))
23517	}
23518	if s.PatchFilterGroup == nil {
23519		invalidParams.Add(request.NewErrParamRequired("PatchFilterGroup"))
23520	}
23521	if s.PatchFilterGroup != nil {
23522		if err := s.PatchFilterGroup.Validate(); err != nil {
23523			invalidParams.AddNested("PatchFilterGroup", err.(request.ErrInvalidParams))
23524		}
23525	}
23526
23527	if invalidParams.Len() > 0 {
23528		return invalidParams
23529	}
23530	return nil
23531}
23532
23533// SetApproveAfterDays sets the ApproveAfterDays field's value.
23534func (s *PatchRule) SetApproveAfterDays(v int64) *PatchRule {
23535	s.ApproveAfterDays = &v
23536	return s
23537}
23538
23539// SetComplianceLevel sets the ComplianceLevel field's value.
23540func (s *PatchRule) SetComplianceLevel(v string) *PatchRule {
23541	s.ComplianceLevel = &v
23542	return s
23543}
23544
23545// SetPatchFilterGroup sets the PatchFilterGroup field's value.
23546func (s *PatchRule) SetPatchFilterGroup(v *PatchFilterGroup) *PatchRule {
23547	s.PatchFilterGroup = v
23548	return s
23549}
23550
23551// A set of rules defining the approval rules for a patch baseline.
23552// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchRuleGroup
23553type PatchRuleGroup struct {
23554	_ struct{} `type:"structure"`
23555
23556	// The rules that make up the rule group.
23557	//
23558	// PatchRules is a required field
23559	PatchRules []*PatchRule `type:"list" required:"true"`
23560}
23561
23562// String returns the string representation
23563func (s PatchRuleGroup) String() string {
23564	return awsutil.Prettify(s)
23565}
23566
23567// GoString returns the string representation
23568func (s PatchRuleGroup) GoString() string {
23569	return s.String()
23570}
23571
23572// Validate inspects the fields of the type to determine if they are valid.
23573func (s *PatchRuleGroup) Validate() error {
23574	invalidParams := request.ErrInvalidParams{Context: "PatchRuleGroup"}
23575	if s.PatchRules == nil {
23576		invalidParams.Add(request.NewErrParamRequired("PatchRules"))
23577	}
23578	if s.PatchRules != nil {
23579		for i, v := range s.PatchRules {
23580			if v == nil {
23581				continue
23582			}
23583			if err := v.Validate(); err != nil {
23584				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchRules", i), err.(request.ErrInvalidParams))
23585			}
23586		}
23587	}
23588
23589	if invalidParams.Len() > 0 {
23590		return invalidParams
23591	}
23592	return nil
23593}
23594
23595// SetPatchRules sets the PatchRules field's value.
23596func (s *PatchRuleGroup) SetPatchRules(v []*PatchRule) *PatchRuleGroup {
23597	s.PatchRules = v
23598	return s
23599}
23600
23601// Information about the approval status of a patch.
23602// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PatchStatus
23603type PatchStatus struct {
23604	_ struct{} `type:"structure"`
23605
23606	// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).
23607	ApprovalDate *time.Time `type:"timestamp" timestampFormat:"unix"`
23608
23609	// The compliance severity level for a patch.
23610	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
23611
23612	// The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED,
23613	// EXPLICIT_REJECTED).
23614	DeploymentStatus *string `type:"string" enum:"PatchDeploymentStatus"`
23615}
23616
23617// String returns the string representation
23618func (s PatchStatus) String() string {
23619	return awsutil.Prettify(s)
23620}
23621
23622// GoString returns the string representation
23623func (s PatchStatus) GoString() string {
23624	return s.String()
23625}
23626
23627// SetApprovalDate sets the ApprovalDate field's value.
23628func (s *PatchStatus) SetApprovalDate(v time.Time) *PatchStatus {
23629	s.ApprovalDate = &v
23630	return s
23631}
23632
23633// SetComplianceLevel sets the ComplianceLevel field's value.
23634func (s *PatchStatus) SetComplianceLevel(v string) *PatchStatus {
23635	s.ComplianceLevel = &v
23636	return s
23637}
23638
23639// SetDeploymentStatus sets the DeploymentStatus field's value.
23640func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus {
23641	s.DeploymentStatus = &v
23642	return s
23643}
23644
23645// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItemsRequest
23646type PutComplianceItemsInput struct {
23647	_ struct{} `type:"structure"`
23648
23649	// Specify the compliance type. For example, specify Association (for a State
23650	// Manager association), Patch, or Custom:string.
23651	//
23652	// ComplianceType is a required field
23653	ComplianceType *string `min:"1" type:"string" required:"true"`
23654
23655	// A summary of the call execution that includes an execution ID, the type of
23656	// execution (for example, Command), and the date/time of the execution using
23657	// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
23658	//
23659	// ExecutionSummary is a required field
23660	ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"`
23661
23662	// MD5 or SHA-256 content hash. The content hash is used to determine if existing
23663	// information should be overwritten or ignored. If the content hashes match,
23664	// the request to put compliance information is ignored.
23665	ItemContentHash *string `type:"string"`
23666
23667	// Information about the compliance as defined by the resource type. For example,
23668	// for a patch compliance type, Items includes information about the PatchSeverity,
23669	// Classification, etc.
23670	//
23671	// Items is a required field
23672	Items []*ComplianceItemEntry `type:"list" required:"true"`
23673
23674	// Specify an ID for this resource. For a managed instance, this is the instance
23675	// ID.
23676	//
23677	// ResourceId is a required field
23678	ResourceId *string `min:"1" type:"string" required:"true"`
23679
23680	// Specify the type of resource. ManagedInstance is currently the only supported
23681	// resource type.
23682	//
23683	// ResourceType is a required field
23684	ResourceType *string `min:"1" type:"string" required:"true"`
23685}
23686
23687// String returns the string representation
23688func (s PutComplianceItemsInput) String() string {
23689	return awsutil.Prettify(s)
23690}
23691
23692// GoString returns the string representation
23693func (s PutComplianceItemsInput) GoString() string {
23694	return s.String()
23695}
23696
23697// Validate inspects the fields of the type to determine if they are valid.
23698func (s *PutComplianceItemsInput) Validate() error {
23699	invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"}
23700	if s.ComplianceType == nil {
23701		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
23702	}
23703	if s.ComplianceType != nil && len(*s.ComplianceType) < 1 {
23704		invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1))
23705	}
23706	if s.ExecutionSummary == nil {
23707		invalidParams.Add(request.NewErrParamRequired("ExecutionSummary"))
23708	}
23709	if s.Items == nil {
23710		invalidParams.Add(request.NewErrParamRequired("Items"))
23711	}
23712	if s.ResourceId == nil {
23713		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
23714	}
23715	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
23716		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
23717	}
23718	if s.ResourceType == nil {
23719		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
23720	}
23721	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
23722		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
23723	}
23724	if s.ExecutionSummary != nil {
23725		if err := s.ExecutionSummary.Validate(); err != nil {
23726			invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams))
23727		}
23728	}
23729	if s.Items != nil {
23730		for i, v := range s.Items {
23731			if v == nil {
23732				continue
23733			}
23734			if err := v.Validate(); err != nil {
23735				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
23736			}
23737		}
23738	}
23739
23740	if invalidParams.Len() > 0 {
23741		return invalidParams
23742	}
23743	return nil
23744}
23745
23746// SetComplianceType sets the ComplianceType field's value.
23747func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput {
23748	s.ComplianceType = &v
23749	return s
23750}
23751
23752// SetExecutionSummary sets the ExecutionSummary field's value.
23753func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput {
23754	s.ExecutionSummary = v
23755	return s
23756}
23757
23758// SetItemContentHash sets the ItemContentHash field's value.
23759func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput {
23760	s.ItemContentHash = &v
23761	return s
23762}
23763
23764// SetItems sets the Items field's value.
23765func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput {
23766	s.Items = v
23767	return s
23768}
23769
23770// SetResourceId sets the ResourceId field's value.
23771func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput {
23772	s.ResourceId = &v
23773	return s
23774}
23775
23776// SetResourceType sets the ResourceType field's value.
23777func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput {
23778	s.ResourceType = &v
23779	return s
23780}
23781
23782// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItemsResult
23783type PutComplianceItemsOutput struct {
23784	_ struct{} `type:"structure"`
23785}
23786
23787// String returns the string representation
23788func (s PutComplianceItemsOutput) String() string {
23789	return awsutil.Prettify(s)
23790}
23791
23792// GoString returns the string representation
23793func (s PutComplianceItemsOutput) GoString() string {
23794	return s.String()
23795}
23796
23797// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventoryRequest
23798type PutInventoryInput struct {
23799	_ struct{} `type:"structure"`
23800
23801	// One or more instance IDs where you want to add or update inventory items.
23802	//
23803	// InstanceId is a required field
23804	InstanceId *string `type:"string" required:"true"`
23805
23806	// The inventory items that you want to add or update on instances.
23807	//
23808	// Items is a required field
23809	Items []*InventoryItem `locationNameList:"Item" min:"1" type:"list" required:"true"`
23810}
23811
23812// String returns the string representation
23813func (s PutInventoryInput) String() string {
23814	return awsutil.Prettify(s)
23815}
23816
23817// GoString returns the string representation
23818func (s PutInventoryInput) GoString() string {
23819	return s.String()
23820}
23821
23822// Validate inspects the fields of the type to determine if they are valid.
23823func (s *PutInventoryInput) Validate() error {
23824	invalidParams := request.ErrInvalidParams{Context: "PutInventoryInput"}
23825	if s.InstanceId == nil {
23826		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
23827	}
23828	if s.Items == nil {
23829		invalidParams.Add(request.NewErrParamRequired("Items"))
23830	}
23831	if s.Items != nil && len(s.Items) < 1 {
23832		invalidParams.Add(request.NewErrParamMinLen("Items", 1))
23833	}
23834	if s.Items != nil {
23835		for i, v := range s.Items {
23836			if v == nil {
23837				continue
23838			}
23839			if err := v.Validate(); err != nil {
23840				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
23841			}
23842		}
23843	}
23844
23845	if invalidParams.Len() > 0 {
23846		return invalidParams
23847	}
23848	return nil
23849}
23850
23851// SetInstanceId sets the InstanceId field's value.
23852func (s *PutInventoryInput) SetInstanceId(v string) *PutInventoryInput {
23853	s.InstanceId = &v
23854	return s
23855}
23856
23857// SetItems sets the Items field's value.
23858func (s *PutInventoryInput) SetItems(v []*InventoryItem) *PutInventoryInput {
23859	s.Items = v
23860	return s
23861}
23862
23863// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventoryResult
23864type PutInventoryOutput struct {
23865	_ struct{} `type:"structure"`
23866}
23867
23868// String returns the string representation
23869func (s PutInventoryOutput) String() string {
23870	return awsutil.Prettify(s)
23871}
23872
23873// GoString returns the string representation
23874func (s PutInventoryOutput) GoString() string {
23875	return s.String()
23876}
23877
23878// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameterRequest
23879type PutParameterInput struct {
23880	_ struct{} `type:"structure"`
23881
23882	// A regular expression used to validate the parameter value. For example, for
23883	// String types with values restricted to numbers, you can specify the following:
23884	// AllowedPattern=^\d+$
23885	AllowedPattern *string `type:"string"`
23886
23887	// Information about the parameter that you want to add to the system
23888	Description *string `min:"1" type:"string"`
23889
23890	// The KMS Key ID that you want to use to encrypt a parameter when you choose
23891	// the SecureString data type. If you don't specify a key ID, the system uses
23892	// the default key associated with your AWS account.
23893	KeyId *string `min:"1" type:"string"`
23894
23895	// The name of the parameter that you want to add to the system.
23896	//
23897	// Name is a required field
23898	Name *string `min:"1" type:"string" required:"true"`
23899
23900	// Overwrite an existing parameter. If not specified, will default to "false".
23901	Overwrite *bool `type:"boolean"`
23902
23903	// The type of parameter that you want to add to the system.
23904	//
23905	// Type is a required field
23906	Type *string `type:"string" required:"true" enum:"ParameterType"`
23907
23908	// The parameter value that you want to add to the system.
23909	//
23910	// Value is a required field
23911	Value *string `min:"1" type:"string" required:"true"`
23912}
23913
23914// String returns the string representation
23915func (s PutParameterInput) String() string {
23916	return awsutil.Prettify(s)
23917}
23918
23919// GoString returns the string representation
23920func (s PutParameterInput) GoString() string {
23921	return s.String()
23922}
23923
23924// Validate inspects the fields of the type to determine if they are valid.
23925func (s *PutParameterInput) Validate() error {
23926	invalidParams := request.ErrInvalidParams{Context: "PutParameterInput"}
23927	if s.Description != nil && len(*s.Description) < 1 {
23928		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
23929	}
23930	if s.KeyId != nil && len(*s.KeyId) < 1 {
23931		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
23932	}
23933	if s.Name == nil {
23934		invalidParams.Add(request.NewErrParamRequired("Name"))
23935	}
23936	if s.Name != nil && len(*s.Name) < 1 {
23937		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
23938	}
23939	if s.Type == nil {
23940		invalidParams.Add(request.NewErrParamRequired("Type"))
23941	}
23942	if s.Value == nil {
23943		invalidParams.Add(request.NewErrParamRequired("Value"))
23944	}
23945	if s.Value != nil && len(*s.Value) < 1 {
23946		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
23947	}
23948
23949	if invalidParams.Len() > 0 {
23950		return invalidParams
23951	}
23952	return nil
23953}
23954
23955// SetAllowedPattern sets the AllowedPattern field's value.
23956func (s *PutParameterInput) SetAllowedPattern(v string) *PutParameterInput {
23957	s.AllowedPattern = &v
23958	return s
23959}
23960
23961// SetDescription sets the Description field's value.
23962func (s *PutParameterInput) SetDescription(v string) *PutParameterInput {
23963	s.Description = &v
23964	return s
23965}
23966
23967// SetKeyId sets the KeyId field's value.
23968func (s *PutParameterInput) SetKeyId(v string) *PutParameterInput {
23969	s.KeyId = &v
23970	return s
23971}
23972
23973// SetName sets the Name field's value.
23974func (s *PutParameterInput) SetName(v string) *PutParameterInput {
23975	s.Name = &v
23976	return s
23977}
23978
23979// SetOverwrite sets the Overwrite field's value.
23980func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput {
23981	s.Overwrite = &v
23982	return s
23983}
23984
23985// SetType sets the Type field's value.
23986func (s *PutParameterInput) SetType(v string) *PutParameterInput {
23987	s.Type = &v
23988	return s
23989}
23990
23991// SetValue sets the Value field's value.
23992func (s *PutParameterInput) SetValue(v string) *PutParameterInput {
23993	s.Value = &v
23994	return s
23995}
23996
23997// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameterResult
23998type PutParameterOutput struct {
23999	_ struct{} `type:"structure"`
24000}
24001
24002// String returns the string representation
24003func (s PutParameterOutput) String() string {
24004	return awsutil.Prettify(s)
24005}
24006
24007// GoString returns the string representation
24008func (s PutParameterOutput) GoString() string {
24009	return s.String()
24010}
24011
24012// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaselineRequest
24013type RegisterDefaultPatchBaselineInput struct {
24014	_ struct{} `type:"structure"`
24015
24016	// The ID of the patch baseline that should be the default patch baseline.
24017	//
24018	// BaselineId is a required field
24019	BaselineId *string `min:"20" type:"string" required:"true"`
24020}
24021
24022// String returns the string representation
24023func (s RegisterDefaultPatchBaselineInput) String() string {
24024	return awsutil.Prettify(s)
24025}
24026
24027// GoString returns the string representation
24028func (s RegisterDefaultPatchBaselineInput) GoString() string {
24029	return s.String()
24030}
24031
24032// Validate inspects the fields of the type to determine if they are valid.
24033func (s *RegisterDefaultPatchBaselineInput) Validate() error {
24034	invalidParams := request.ErrInvalidParams{Context: "RegisterDefaultPatchBaselineInput"}
24035	if s.BaselineId == nil {
24036		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
24037	}
24038	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
24039		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
24040	}
24041
24042	if invalidParams.Len() > 0 {
24043		return invalidParams
24044	}
24045	return nil
24046}
24047
24048// SetBaselineId sets the BaselineId field's value.
24049func (s *RegisterDefaultPatchBaselineInput) SetBaselineId(v string) *RegisterDefaultPatchBaselineInput {
24050	s.BaselineId = &v
24051	return s
24052}
24053
24054// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaselineResult
24055type RegisterDefaultPatchBaselineOutput struct {
24056	_ struct{} `type:"structure"`
24057
24058	// The ID of the default patch baseline.
24059	BaselineId *string `min:"20" type:"string"`
24060}
24061
24062// String returns the string representation
24063func (s RegisterDefaultPatchBaselineOutput) String() string {
24064	return awsutil.Prettify(s)
24065}
24066
24067// GoString returns the string representation
24068func (s RegisterDefaultPatchBaselineOutput) GoString() string {
24069	return s.String()
24070}
24071
24072// SetBaselineId sets the BaselineId field's value.
24073func (s *RegisterDefaultPatchBaselineOutput) SetBaselineId(v string) *RegisterDefaultPatchBaselineOutput {
24074	s.BaselineId = &v
24075	return s
24076}
24077
24078// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroupRequest
24079type RegisterPatchBaselineForPatchGroupInput struct {
24080	_ struct{} `type:"structure"`
24081
24082	// The ID of the patch baseline to register the patch group with.
24083	//
24084	// BaselineId is a required field
24085	BaselineId *string `min:"20" type:"string" required:"true"`
24086
24087	// The name of the patch group that should be registered with the patch baseline.
24088	//
24089	// PatchGroup is a required field
24090	PatchGroup *string `min:"1" type:"string" required:"true"`
24091}
24092
24093// String returns the string representation
24094func (s RegisterPatchBaselineForPatchGroupInput) String() string {
24095	return awsutil.Prettify(s)
24096}
24097
24098// GoString returns the string representation
24099func (s RegisterPatchBaselineForPatchGroupInput) GoString() string {
24100	return s.String()
24101}
24102
24103// Validate inspects the fields of the type to determine if they are valid.
24104func (s *RegisterPatchBaselineForPatchGroupInput) Validate() error {
24105	invalidParams := request.ErrInvalidParams{Context: "RegisterPatchBaselineForPatchGroupInput"}
24106	if s.BaselineId == nil {
24107		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
24108	}
24109	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
24110		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
24111	}
24112	if s.PatchGroup == nil {
24113		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
24114	}
24115	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
24116		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
24117	}
24118
24119	if invalidParams.Len() > 0 {
24120		return invalidParams
24121	}
24122	return nil
24123}
24124
24125// SetBaselineId sets the BaselineId field's value.
24126func (s *RegisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupInput {
24127	s.BaselineId = &v
24128	return s
24129}
24130
24131// SetPatchGroup sets the PatchGroup field's value.
24132func (s *RegisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupInput {
24133	s.PatchGroup = &v
24134	return s
24135}
24136
24137// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroupResult
24138type RegisterPatchBaselineForPatchGroupOutput struct {
24139	_ struct{} `type:"structure"`
24140
24141	// The ID of the patch baseline the patch group was registered with.
24142	BaselineId *string `min:"20" type:"string"`
24143
24144	// The name of the patch group registered with the patch baseline.
24145	PatchGroup *string `min:"1" type:"string"`
24146}
24147
24148// String returns the string representation
24149func (s RegisterPatchBaselineForPatchGroupOutput) String() string {
24150	return awsutil.Prettify(s)
24151}
24152
24153// GoString returns the string representation
24154func (s RegisterPatchBaselineForPatchGroupOutput) GoString() string {
24155	return s.String()
24156}
24157
24158// SetBaselineId sets the BaselineId field's value.
24159func (s *RegisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupOutput {
24160	s.BaselineId = &v
24161	return s
24162}
24163
24164// SetPatchGroup sets the PatchGroup field's value.
24165func (s *RegisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupOutput {
24166	s.PatchGroup = &v
24167	return s
24168}
24169
24170// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindowRequest
24171type RegisterTargetWithMaintenanceWindowInput struct {
24172	_ struct{} `type:"structure"`
24173
24174	// User-provided idempotency token.
24175	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
24176
24177	// An optional description for the target.
24178	Description *string `min:"1" type:"string"`
24179
24180	// An optional name for the target.
24181	Name *string `min:"3" type:"string"`
24182
24183	// User-provided value that will be included in any CloudWatch events raised
24184	// while running tasks for these targets in this Maintenance Window.
24185	OwnerInformation *string `min:"1" type:"string"`
24186
24187	// The type of target being registered with the Maintenance Window.
24188	//
24189	// ResourceType is a required field
24190	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
24191
24192	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
24193	// Tags are specified using Key=<tag name>,Values=<tag value>.
24194	//
24195	// Targets is a required field
24196	Targets []*Target `type:"list" required:"true"`
24197
24198	// The ID of the Maintenance Window the target should be registered with.
24199	//
24200	// WindowId is a required field
24201	WindowId *string `min:"20" type:"string" required:"true"`
24202}
24203
24204// String returns the string representation
24205func (s RegisterTargetWithMaintenanceWindowInput) String() string {
24206	return awsutil.Prettify(s)
24207}
24208
24209// GoString returns the string representation
24210func (s RegisterTargetWithMaintenanceWindowInput) GoString() string {
24211	return s.String()
24212}
24213
24214// Validate inspects the fields of the type to determine if they are valid.
24215func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error {
24216	invalidParams := request.ErrInvalidParams{Context: "RegisterTargetWithMaintenanceWindowInput"}
24217	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
24218		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
24219	}
24220	if s.Description != nil && len(*s.Description) < 1 {
24221		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
24222	}
24223	if s.Name != nil && len(*s.Name) < 3 {
24224		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
24225	}
24226	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
24227		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
24228	}
24229	if s.ResourceType == nil {
24230		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
24231	}
24232	if s.Targets == nil {
24233		invalidParams.Add(request.NewErrParamRequired("Targets"))
24234	}
24235	if s.WindowId == nil {
24236		invalidParams.Add(request.NewErrParamRequired("WindowId"))
24237	}
24238	if s.WindowId != nil && len(*s.WindowId) < 20 {
24239		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
24240	}
24241	if s.Targets != nil {
24242		for i, v := range s.Targets {
24243			if v == nil {
24244				continue
24245			}
24246			if err := v.Validate(); err != nil {
24247				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
24248			}
24249		}
24250	}
24251
24252	if invalidParams.Len() > 0 {
24253		return invalidParams
24254	}
24255	return nil
24256}
24257
24258// SetClientToken sets the ClientToken field's value.
24259func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTargetWithMaintenanceWindowInput {
24260	s.ClientToken = &v
24261	return s
24262}
24263
24264// SetDescription sets the Description field's value.
24265func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput {
24266	s.Description = &v
24267	return s
24268}
24269
24270// SetName sets the Name field's value.
24271func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput {
24272	s.Name = &v
24273	return s
24274}
24275
24276// SetOwnerInformation sets the OwnerInformation field's value.
24277func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput {
24278	s.OwnerInformation = &v
24279	return s
24280}
24281
24282// SetResourceType sets the ResourceType field's value.
24283func (s *RegisterTargetWithMaintenanceWindowInput) SetResourceType(v string) *RegisterTargetWithMaintenanceWindowInput {
24284	s.ResourceType = &v
24285	return s
24286}
24287
24288// SetTargets sets the Targets field's value.
24289func (s *RegisterTargetWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTargetWithMaintenanceWindowInput {
24290	s.Targets = v
24291	return s
24292}
24293
24294// SetWindowId sets the WindowId field's value.
24295func (s *RegisterTargetWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTargetWithMaintenanceWindowInput {
24296	s.WindowId = &v
24297	return s
24298}
24299
24300// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindowResult
24301type RegisterTargetWithMaintenanceWindowOutput struct {
24302	_ struct{} `type:"structure"`
24303
24304	// The ID of the target definition in this Maintenance Window.
24305	WindowTargetId *string `min:"36" type:"string"`
24306}
24307
24308// String returns the string representation
24309func (s RegisterTargetWithMaintenanceWindowOutput) String() string {
24310	return awsutil.Prettify(s)
24311}
24312
24313// GoString returns the string representation
24314func (s RegisterTargetWithMaintenanceWindowOutput) GoString() string {
24315	return s.String()
24316}
24317
24318// SetWindowTargetId sets the WindowTargetId field's value.
24319func (s *RegisterTargetWithMaintenanceWindowOutput) SetWindowTargetId(v string) *RegisterTargetWithMaintenanceWindowOutput {
24320	s.WindowTargetId = &v
24321	return s
24322}
24323
24324// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindowRequest
24325type RegisterTaskWithMaintenanceWindowInput struct {
24326	_ struct{} `type:"structure"`
24327
24328	// User-provided idempotency token.
24329	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
24330
24331	// An optional description for the task.
24332	Description *string `min:"1" type:"string"`
24333
24334	// A structure containing information about an Amazon S3 bucket to write instance-level
24335	// logs to.
24336	LoggingInfo *LoggingInfo `type:"structure"`
24337
24338	// The maximum number of targets this task can be run for in parallel.
24339	//
24340	// MaxConcurrency is a required field
24341	MaxConcurrency *string `min:"1" type:"string" required:"true"`
24342
24343	// The maximum number of errors allowed before this task stops being scheduled.
24344	//
24345	// MaxErrors is a required field
24346	MaxErrors *string `min:"1" type:"string" required:"true"`
24347
24348	// An optional name for the task.
24349	Name *string `min:"3" type:"string"`
24350
24351	// The priority of the task in the Maintenance Window, the lower the number
24352	// the higher the priority. Tasks in a Maintenance Window are scheduled in priority
24353	// order with tasks that have the same priority scheduled in parallel.
24354	Priority *int64 `type:"integer"`
24355
24356	// The role that should be assumed when executing the task.
24357	//
24358	// ServiceRoleArn is a required field
24359	ServiceRoleArn *string `type:"string" required:"true"`
24360
24361	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
24362	// Tags are specified using Key=<tag name>,Values=<tag value>.
24363	//
24364	// Targets is a required field
24365	Targets []*Target `type:"list" required:"true"`
24366
24367	// The ARN of the task to execute
24368	//
24369	// TaskArn is a required field
24370	TaskArn *string `min:"1" type:"string" required:"true"`
24371
24372	// The parameters that the task should use during execution. Populate only the
24373	// fields that match the task type. All other fields should be empty.
24374	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
24375
24376	// The parameters that should be passed to the task when it is executed.
24377	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"`
24378
24379	// The type of task being registered.
24380	//
24381	// TaskType is a required field
24382	TaskType *string `type:"string" required:"true" enum:"MaintenanceWindowTaskType"`
24383
24384	// The id of the Maintenance Window the task should be added to.
24385	//
24386	// WindowId is a required field
24387	WindowId *string `min:"20" type:"string" required:"true"`
24388}
24389
24390// String returns the string representation
24391func (s RegisterTaskWithMaintenanceWindowInput) String() string {
24392	return awsutil.Prettify(s)
24393}
24394
24395// GoString returns the string representation
24396func (s RegisterTaskWithMaintenanceWindowInput) GoString() string {
24397	return s.String()
24398}
24399
24400// Validate inspects the fields of the type to determine if they are valid.
24401func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error {
24402	invalidParams := request.ErrInvalidParams{Context: "RegisterTaskWithMaintenanceWindowInput"}
24403	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
24404		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
24405	}
24406	if s.Description != nil && len(*s.Description) < 1 {
24407		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
24408	}
24409	if s.MaxConcurrency == nil {
24410		invalidParams.Add(request.NewErrParamRequired("MaxConcurrency"))
24411	}
24412	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
24413		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
24414	}
24415	if s.MaxErrors == nil {
24416		invalidParams.Add(request.NewErrParamRequired("MaxErrors"))
24417	}
24418	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
24419		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
24420	}
24421	if s.Name != nil && len(*s.Name) < 3 {
24422		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
24423	}
24424	if s.ServiceRoleArn == nil {
24425		invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn"))
24426	}
24427	if s.Targets == nil {
24428		invalidParams.Add(request.NewErrParamRequired("Targets"))
24429	}
24430	if s.TaskArn == nil {
24431		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
24432	}
24433	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
24434		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
24435	}
24436	if s.TaskType == nil {
24437		invalidParams.Add(request.NewErrParamRequired("TaskType"))
24438	}
24439	if s.WindowId == nil {
24440		invalidParams.Add(request.NewErrParamRequired("WindowId"))
24441	}
24442	if s.WindowId != nil && len(*s.WindowId) < 20 {
24443		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
24444	}
24445	if s.LoggingInfo != nil {
24446		if err := s.LoggingInfo.Validate(); err != nil {
24447			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
24448		}
24449	}
24450	if s.Targets != nil {
24451		for i, v := range s.Targets {
24452			if v == nil {
24453				continue
24454			}
24455			if err := v.Validate(); err != nil {
24456				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
24457			}
24458		}
24459	}
24460	if s.TaskInvocationParameters != nil {
24461		if err := s.TaskInvocationParameters.Validate(); err != nil {
24462			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
24463		}
24464	}
24465
24466	if invalidParams.Len() > 0 {
24467		return invalidParams
24468	}
24469	return nil
24470}
24471
24472// SetClientToken sets the ClientToken field's value.
24473func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTaskWithMaintenanceWindowInput {
24474	s.ClientToken = &v
24475	return s
24476}
24477
24478// SetDescription sets the Description field's value.
24479func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput {
24480	s.Description = &v
24481	return s
24482}
24483
24484// SetLoggingInfo sets the LoggingInfo field's value.
24485func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput {
24486	s.LoggingInfo = v
24487	return s
24488}
24489
24490// SetMaxConcurrency sets the MaxConcurrency field's value.
24491func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxConcurrency(v string) *RegisterTaskWithMaintenanceWindowInput {
24492	s.MaxConcurrency = &v
24493	return s
24494}
24495
24496// SetMaxErrors sets the MaxErrors field's value.
24497func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *RegisterTaskWithMaintenanceWindowInput {
24498	s.MaxErrors = &v
24499	return s
24500}
24501
24502// SetName sets the Name field's value.
24503func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput {
24504	s.Name = &v
24505	return s
24506}
24507
24508// SetPriority sets the Priority field's value.
24509func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput {
24510	s.Priority = &v
24511	return s
24512}
24513
24514// SetServiceRoleArn sets the ServiceRoleArn field's value.
24515func (s *RegisterTaskWithMaintenanceWindowInput) SetServiceRoleArn(v string) *RegisterTaskWithMaintenanceWindowInput {
24516	s.ServiceRoleArn = &v
24517	return s
24518}
24519
24520// SetTargets sets the Targets field's value.
24521func (s *RegisterTaskWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTaskWithMaintenanceWindowInput {
24522	s.Targets = v
24523	return s
24524}
24525
24526// SetTaskArn sets the TaskArn field's value.
24527func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterTaskWithMaintenanceWindowInput {
24528	s.TaskArn = &v
24529	return s
24530}
24531
24532// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
24533func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput {
24534	s.TaskInvocationParameters = v
24535	return s
24536}
24537
24538// SetTaskParameters sets the TaskParameters field's value.
24539func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput {
24540	s.TaskParameters = v
24541	return s
24542}
24543
24544// SetTaskType sets the TaskType field's value.
24545func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskType(v string) *RegisterTaskWithMaintenanceWindowInput {
24546	s.TaskType = &v
24547	return s
24548}
24549
24550// SetWindowId sets the WindowId field's value.
24551func (s *RegisterTaskWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTaskWithMaintenanceWindowInput {
24552	s.WindowId = &v
24553	return s
24554}
24555
24556// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindowResult
24557type RegisterTaskWithMaintenanceWindowOutput struct {
24558	_ struct{} `type:"structure"`
24559
24560	// The id of the task in the Maintenance Window.
24561	WindowTaskId *string `min:"36" type:"string"`
24562}
24563
24564// String returns the string representation
24565func (s RegisterTaskWithMaintenanceWindowOutput) String() string {
24566	return awsutil.Prettify(s)
24567}
24568
24569// GoString returns the string representation
24570func (s RegisterTaskWithMaintenanceWindowOutput) GoString() string {
24571	return s.String()
24572}
24573
24574// SetWindowTaskId sets the WindowTaskId field's value.
24575func (s *RegisterTaskWithMaintenanceWindowOutput) SetWindowTaskId(v string) *RegisterTaskWithMaintenanceWindowOutput {
24576	s.WindowTaskId = &v
24577	return s
24578}
24579
24580// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResourceRequest
24581type RemoveTagsFromResourceInput struct {
24582	_ struct{} `type:"structure"`
24583
24584	// The resource ID for which you want to remove tags.
24585	//
24586	// ResourceId is a required field
24587	ResourceId *string `type:"string" required:"true"`
24588
24589	// The type of resource of which you want to remove a tag.
24590	//
24591	// ResourceType is a required field
24592	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
24593
24594	// Tag keys that you want to remove from the specified resource.
24595	//
24596	// TagKeys is a required field
24597	TagKeys []*string `type:"list" required:"true"`
24598}
24599
24600// String returns the string representation
24601func (s RemoveTagsFromResourceInput) String() string {
24602	return awsutil.Prettify(s)
24603}
24604
24605// GoString returns the string representation
24606func (s RemoveTagsFromResourceInput) GoString() string {
24607	return s.String()
24608}
24609
24610// Validate inspects the fields of the type to determine if they are valid.
24611func (s *RemoveTagsFromResourceInput) Validate() error {
24612	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
24613	if s.ResourceId == nil {
24614		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24615	}
24616	if s.ResourceType == nil {
24617		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
24618	}
24619	if s.TagKeys == nil {
24620		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
24621	}
24622
24623	if invalidParams.Len() > 0 {
24624		return invalidParams
24625	}
24626	return nil
24627}
24628
24629// SetResourceId sets the ResourceId field's value.
24630func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
24631	s.ResourceId = &v
24632	return s
24633}
24634
24635// SetResourceType sets the ResourceType field's value.
24636func (s *RemoveTagsFromResourceInput) SetResourceType(v string) *RemoveTagsFromResourceInput {
24637	s.ResourceType = &v
24638	return s
24639}
24640
24641// SetTagKeys sets the TagKeys field's value.
24642func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
24643	s.TagKeys = v
24644	return s
24645}
24646
24647// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResourceResult
24648type RemoveTagsFromResourceOutput struct {
24649	_ struct{} `type:"structure"`
24650}
24651
24652// String returns the string representation
24653func (s RemoveTagsFromResourceOutput) String() string {
24654	return awsutil.Prettify(s)
24655}
24656
24657// GoString returns the string representation
24658func (s RemoveTagsFromResourceOutput) GoString() string {
24659	return s.String()
24660}
24661
24662// Compliance summary information for a specific resource.
24663// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceComplianceSummaryItem
24664type ResourceComplianceSummaryItem struct {
24665	_ struct{} `type:"structure"`
24666
24667	// The compliance type.
24668	ComplianceType *string `min:"1" type:"string"`
24669
24670	// A list of items that are compliant for the resource.
24671	CompliantSummary *CompliantSummary `type:"structure"`
24672
24673	// Information about the execution.
24674	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
24675
24676	// A list of items that aren't compliant for the resource.
24677	NonCompliantSummary *NonCompliantSummary `type:"structure"`
24678
24679	// The highest severity item found for the resource. The resource is compliant
24680	// for this item.
24681	OverallSeverity *string `type:"string" enum:"ComplianceSeverity"`
24682
24683	// The resource ID.
24684	ResourceId *string `min:"1" type:"string"`
24685
24686	// The resource type.
24687	ResourceType *string `min:"1" type:"string"`
24688
24689	// The compliance status for the resource.
24690	Status *string `type:"string" enum:"ComplianceStatus"`
24691}
24692
24693// String returns the string representation
24694func (s ResourceComplianceSummaryItem) String() string {
24695	return awsutil.Prettify(s)
24696}
24697
24698// GoString returns the string representation
24699func (s ResourceComplianceSummaryItem) GoString() string {
24700	return s.String()
24701}
24702
24703// SetComplianceType sets the ComplianceType field's value.
24704func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem {
24705	s.ComplianceType = &v
24706	return s
24707}
24708
24709// SetCompliantSummary sets the CompliantSummary field's value.
24710func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem {
24711	s.CompliantSummary = v
24712	return s
24713}
24714
24715// SetExecutionSummary sets the ExecutionSummary field's value.
24716func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem {
24717	s.ExecutionSummary = v
24718	return s
24719}
24720
24721// SetNonCompliantSummary sets the NonCompliantSummary field's value.
24722func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem {
24723	s.NonCompliantSummary = v
24724	return s
24725}
24726
24727// SetOverallSeverity sets the OverallSeverity field's value.
24728func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem {
24729	s.OverallSeverity = &v
24730	return s
24731}
24732
24733// SetResourceId sets the ResourceId field's value.
24734func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem {
24735	s.ResourceId = &v
24736	return s
24737}
24738
24739// SetResourceType sets the ResourceType field's value.
24740func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem {
24741	s.ResourceType = &v
24742	return s
24743}
24744
24745// SetStatus sets the Status field's value.
24746func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem {
24747	s.Status = &v
24748	return s
24749}
24750
24751// Information about a Resource Data Sync configuration, including its current
24752// status and last successful sync.
24753// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceDataSyncItem
24754type ResourceDataSyncItem struct {
24755	_ struct{} `type:"structure"`
24756
24757	// The status reported by the last sync.
24758	LastStatus *string `type:"string" enum:"LastResourceDataSyncStatus"`
24759
24760	// The last time the sync operations returned a status of SUCCESSFUL (UTC).
24761	LastSuccessfulSyncTime *time.Time `type:"timestamp" timestampFormat:"unix"`
24762
24763	// The last time the configuration attempted to sync (UTC).
24764	LastSyncTime *time.Time `type:"timestamp" timestampFormat:"unix"`
24765
24766	// Configuration information for the target Amazon S3 bucket.
24767	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
24768
24769	// The date and time the configuration was created (UTC).
24770	SyncCreatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
24771
24772	// The name of the Resource Data Sync.
24773	SyncName *string `min:"1" type:"string"`
24774}
24775
24776// String returns the string representation
24777func (s ResourceDataSyncItem) String() string {
24778	return awsutil.Prettify(s)
24779}
24780
24781// GoString returns the string representation
24782func (s ResourceDataSyncItem) GoString() string {
24783	return s.String()
24784}
24785
24786// SetLastStatus sets the LastStatus field's value.
24787func (s *ResourceDataSyncItem) SetLastStatus(v string) *ResourceDataSyncItem {
24788	s.LastStatus = &v
24789	return s
24790}
24791
24792// SetLastSuccessfulSyncTime sets the LastSuccessfulSyncTime field's value.
24793func (s *ResourceDataSyncItem) SetLastSuccessfulSyncTime(v time.Time) *ResourceDataSyncItem {
24794	s.LastSuccessfulSyncTime = &v
24795	return s
24796}
24797
24798// SetLastSyncTime sets the LastSyncTime field's value.
24799func (s *ResourceDataSyncItem) SetLastSyncTime(v time.Time) *ResourceDataSyncItem {
24800	s.LastSyncTime = &v
24801	return s
24802}
24803
24804// SetS3Destination sets the S3Destination field's value.
24805func (s *ResourceDataSyncItem) SetS3Destination(v *ResourceDataSyncS3Destination) *ResourceDataSyncItem {
24806	s.S3Destination = v
24807	return s
24808}
24809
24810// SetSyncCreatedTime sets the SyncCreatedTime field's value.
24811func (s *ResourceDataSyncItem) SetSyncCreatedTime(v time.Time) *ResourceDataSyncItem {
24812	s.SyncCreatedTime = &v
24813	return s
24814}
24815
24816// SetSyncName sets the SyncName field's value.
24817func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem {
24818	s.SyncName = &v
24819	return s
24820}
24821
24822// Information about the target Amazon S3 bucket for the Resource Data Sync.
24823// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResourceDataSyncS3Destination
24824type ResourceDataSyncS3Destination struct {
24825	_ struct{} `type:"structure"`
24826
24827	// The ARN of an encryption key for a destination in Amazon S3. Must belong
24828	// to the same region as the destination Amazon S3 bucket.
24829	AWSKMSKeyARN *string `min:"1" type:"string"`
24830
24831	// The name of the Amazon S3 bucket where the aggregated data is stored.
24832	//
24833	// BucketName is a required field
24834	BucketName *string `min:"1" type:"string" required:"true"`
24835
24836	// An Amazon S3 prefix for the bucket.
24837	Prefix *string `min:"1" type:"string"`
24838
24839	// The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.
24840	//
24841	// Region is a required field
24842	Region *string `min:"1" type:"string" required:"true"`
24843
24844	// A supported sync format. The following format is currently supported: JsonSerDe
24845	//
24846	// SyncFormat is a required field
24847	SyncFormat *string `type:"string" required:"true" enum:"ResourceDataSyncS3Format"`
24848}
24849
24850// String returns the string representation
24851func (s ResourceDataSyncS3Destination) String() string {
24852	return awsutil.Prettify(s)
24853}
24854
24855// GoString returns the string representation
24856func (s ResourceDataSyncS3Destination) GoString() string {
24857	return s.String()
24858}
24859
24860// Validate inspects the fields of the type to determine if they are valid.
24861func (s *ResourceDataSyncS3Destination) Validate() error {
24862	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"}
24863	if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 {
24864		invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1))
24865	}
24866	if s.BucketName == nil {
24867		invalidParams.Add(request.NewErrParamRequired("BucketName"))
24868	}
24869	if s.BucketName != nil && len(*s.BucketName) < 1 {
24870		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
24871	}
24872	if s.Prefix != nil && len(*s.Prefix) < 1 {
24873		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
24874	}
24875	if s.Region == nil {
24876		invalidParams.Add(request.NewErrParamRequired("Region"))
24877	}
24878	if s.Region != nil && len(*s.Region) < 1 {
24879		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
24880	}
24881	if s.SyncFormat == nil {
24882		invalidParams.Add(request.NewErrParamRequired("SyncFormat"))
24883	}
24884
24885	if invalidParams.Len() > 0 {
24886		return invalidParams
24887	}
24888	return nil
24889}
24890
24891// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value.
24892func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination {
24893	s.AWSKMSKeyARN = &v
24894	return s
24895}
24896
24897// SetBucketName sets the BucketName field's value.
24898func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination {
24899	s.BucketName = &v
24900	return s
24901}
24902
24903// SetPrefix sets the Prefix field's value.
24904func (s *ResourceDataSyncS3Destination) SetPrefix(v string) *ResourceDataSyncS3Destination {
24905	s.Prefix = &v
24906	return s
24907}
24908
24909// SetRegion sets the Region field's value.
24910func (s *ResourceDataSyncS3Destination) SetRegion(v string) *ResourceDataSyncS3Destination {
24911	s.Region = &v
24912	return s
24913}
24914
24915// SetSyncFormat sets the SyncFormat field's value.
24916func (s *ResourceDataSyncS3Destination) SetSyncFormat(v string) *ResourceDataSyncS3Destination {
24917	s.SyncFormat = &v
24918	return s
24919}
24920
24921// The inventory item result attribute.
24922// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResultAttribute
24923type ResultAttribute struct {
24924	_ struct{} `type:"structure"`
24925
24926	// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default
24927	// Value: AWS:InstanceInformation.
24928	//
24929	// TypeName is a required field
24930	TypeName *string `min:"1" type:"string" required:"true"`
24931}
24932
24933// String returns the string representation
24934func (s ResultAttribute) String() string {
24935	return awsutil.Prettify(s)
24936}
24937
24938// GoString returns the string representation
24939func (s ResultAttribute) GoString() string {
24940	return s.String()
24941}
24942
24943// Validate inspects the fields of the type to determine if they are valid.
24944func (s *ResultAttribute) Validate() error {
24945	invalidParams := request.ErrInvalidParams{Context: "ResultAttribute"}
24946	if s.TypeName == nil {
24947		invalidParams.Add(request.NewErrParamRequired("TypeName"))
24948	}
24949	if s.TypeName != nil && len(*s.TypeName) < 1 {
24950		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
24951	}
24952
24953	if invalidParams.Len() > 0 {
24954		return invalidParams
24955	}
24956	return nil
24957}
24958
24959// SetTypeName sets the TypeName field's value.
24960func (s *ResultAttribute) SetTypeName(v string) *ResultAttribute {
24961	s.TypeName = &v
24962	return s
24963}
24964
24965// An Amazon S3 bucket where you want to store the results of this request.
24966// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/S3OutputLocation
24967type S3OutputLocation struct {
24968	_ struct{} `type:"structure"`
24969
24970	// The name of the Amazon S3 bucket.
24971	OutputS3BucketName *string `min:"3" type:"string"`
24972
24973	// The Amazon S3 bucket subfolder.
24974	OutputS3KeyPrefix *string `type:"string"`
24975
24976	// (Deprecated) You can no longer specify this parameter. The system ignores
24977	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
24978	// region.
24979	OutputS3Region *string `min:"3" type:"string"`
24980}
24981
24982// String returns the string representation
24983func (s S3OutputLocation) String() string {
24984	return awsutil.Prettify(s)
24985}
24986
24987// GoString returns the string representation
24988func (s S3OutputLocation) GoString() string {
24989	return s.String()
24990}
24991
24992// Validate inspects the fields of the type to determine if they are valid.
24993func (s *S3OutputLocation) Validate() error {
24994	invalidParams := request.ErrInvalidParams{Context: "S3OutputLocation"}
24995	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
24996		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
24997	}
24998	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
24999		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
25000	}
25001
25002	if invalidParams.Len() > 0 {
25003		return invalidParams
25004	}
25005	return nil
25006}
25007
25008// SetOutputS3BucketName sets the OutputS3BucketName field's value.
25009func (s *S3OutputLocation) SetOutputS3BucketName(v string) *S3OutputLocation {
25010	s.OutputS3BucketName = &v
25011	return s
25012}
25013
25014// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
25015func (s *S3OutputLocation) SetOutputS3KeyPrefix(v string) *S3OutputLocation {
25016	s.OutputS3KeyPrefix = &v
25017	return s
25018}
25019
25020// SetOutputS3Region sets the OutputS3Region field's value.
25021func (s *S3OutputLocation) SetOutputS3Region(v string) *S3OutputLocation {
25022	s.OutputS3Region = &v
25023	return s
25024}
25025
25026// A URL for the Amazon S3 bucket where you want to store the results of this
25027// request.
25028// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/S3OutputUrl
25029type S3OutputUrl struct {
25030	_ struct{} `type:"structure"`
25031
25032	// A URL for an Amazon S3 bucket where you want to store the results of this
25033	// request.
25034	OutputUrl *string `type:"string"`
25035}
25036
25037// String returns the string representation
25038func (s S3OutputUrl) String() string {
25039	return awsutil.Prettify(s)
25040}
25041
25042// GoString returns the string representation
25043func (s S3OutputUrl) GoString() string {
25044	return s.String()
25045}
25046
25047// SetOutputUrl sets the OutputUrl field's value.
25048func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl {
25049	s.OutputUrl = &v
25050	return s
25051}
25052
25053// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignalRequest
25054type SendAutomationSignalInput struct {
25055	_ struct{} `type:"structure"`
25056
25057	// The unique identifier for an existing Automation execution that you want
25058	// to send the signal to.
25059	//
25060	// AutomationExecutionId is a required field
25061	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
25062
25063	// The data sent with the signal. The data schema depends on the type of signal
25064	// used in the request.
25065	Payload map[string][]*string `min:"1" type:"map"`
25066
25067	// The type of signal. Valid signal types include the following: Approve and
25068	// Reject
25069	//
25070	// SignalType is a required field
25071	SignalType *string `type:"string" required:"true" enum:"SignalType"`
25072}
25073
25074// String returns the string representation
25075func (s SendAutomationSignalInput) String() string {
25076	return awsutil.Prettify(s)
25077}
25078
25079// GoString returns the string representation
25080func (s SendAutomationSignalInput) GoString() string {
25081	return s.String()
25082}
25083
25084// Validate inspects the fields of the type to determine if they are valid.
25085func (s *SendAutomationSignalInput) Validate() error {
25086	invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"}
25087	if s.AutomationExecutionId == nil {
25088		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
25089	}
25090	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
25091		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
25092	}
25093	if s.Payload != nil && len(s.Payload) < 1 {
25094		invalidParams.Add(request.NewErrParamMinLen("Payload", 1))
25095	}
25096	if s.SignalType == nil {
25097		invalidParams.Add(request.NewErrParamRequired("SignalType"))
25098	}
25099
25100	if invalidParams.Len() > 0 {
25101		return invalidParams
25102	}
25103	return nil
25104}
25105
25106// SetAutomationExecutionId sets the AutomationExecutionId field's value.
25107func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput {
25108	s.AutomationExecutionId = &v
25109	return s
25110}
25111
25112// SetPayload sets the Payload field's value.
25113func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput {
25114	s.Payload = v
25115	return s
25116}
25117
25118// SetSignalType sets the SignalType field's value.
25119func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput {
25120	s.SignalType = &v
25121	return s
25122}
25123
25124// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignalResult
25125type SendAutomationSignalOutput struct {
25126	_ struct{} `type:"structure"`
25127}
25128
25129// String returns the string representation
25130func (s SendAutomationSignalOutput) String() string {
25131	return awsutil.Prettify(s)
25132}
25133
25134// GoString returns the string representation
25135func (s SendAutomationSignalOutput) GoString() string {
25136	return s.String()
25137}
25138
25139// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommandRequest
25140type SendCommandInput struct {
25141	_ struct{} `type:"structure"`
25142
25143	// User-specified information about the command, such as a brief description
25144	// of what the command should do.
25145	Comment *string `type:"string"`
25146
25147	// The Sha256 or Sha1 hash created by the system when the document was created.
25148	//
25149	// Sha1 hashes have been deprecated.
25150	DocumentHash *string `type:"string"`
25151
25152	// Sha256 or Sha1.
25153	//
25154	// Sha1 hashes have been deprecated.
25155	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
25156
25157	// Required. The name of the Systems Manager document to execute. This can be
25158	// a public document or a custom document.
25159	//
25160	// DocumentName is a required field
25161	DocumentName *string `type:"string" required:"true"`
25162
25163	// The instance IDs where the command should execute. You can specify a maximum
25164	// of 50 IDs. If you prefer not to list individual instance IDs, you can instead
25165	// send commands to a fleet of instances using the Targets parameter, which
25166	// accepts EC2 tags. For more information about how to use Targets, see Sending
25167	// Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).
25168	InstanceIds []*string `type:"list"`
25169
25170	// (Optional) The maximum number of instances that are allowed to execute the
25171	// command at the same time. You can specify a number such as 10 or a percentage
25172	// such as 10%. The default value is 50. For more information about how to use
25173	// MaxConcurrency, see Using Concurrency Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-velocity.html).
25174	MaxConcurrency *string `min:"1" type:"string"`
25175
25176	// The maximum number of errors allowed without the command failing. When the
25177	// command fails one more time beyond the value of MaxErrors, the systems stops
25178	// sending the command to additional targets. You can specify a number like
25179	// 10 or a percentage like 10%. The default value is 50. For more information
25180	// about how to use MaxErrors, see Using Error Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-maxerrors.html).
25181	MaxErrors *string `min:"1" type:"string"`
25182
25183	// Configurations for sending notifications.
25184	NotificationConfig *NotificationConfig `type:"structure"`
25185
25186	// The name of the S3 bucket where command execution responses should be stored.
25187	OutputS3BucketName *string `min:"3" type:"string"`
25188
25189	// The directory structure within the S3 bucket where the responses should be
25190	// stored.
25191	OutputS3KeyPrefix *string `type:"string"`
25192
25193	// (Deprecated) You can no longer specify this parameter. The system ignores
25194	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
25195	// region.
25196	OutputS3Region *string `min:"3" type:"string"`
25197
25198	// The required and optional parameters specified in the document being executed.
25199	Parameters map[string][]*string `type:"map"`
25200
25201	// The IAM role that Systems Manager uses to send notifications.
25202	ServiceRoleArn *string `type:"string"`
25203
25204	// (Optional) An array of search criteria that targets instances using a Key,Value
25205	// combination that you specify. Targets is required if you don't provide one
25206	// or more instance IDs in the call. For more information about how to use Targets,
25207	// see Sending Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).
25208	Targets []*Target `type:"list"`
25209
25210	// If this time is reached and the command has not already started executing,
25211	// it will not execute.
25212	TimeoutSeconds *int64 `min:"30" type:"integer"`
25213}
25214
25215// String returns the string representation
25216func (s SendCommandInput) String() string {
25217	return awsutil.Prettify(s)
25218}
25219
25220// GoString returns the string representation
25221func (s SendCommandInput) GoString() string {
25222	return s.String()
25223}
25224
25225// Validate inspects the fields of the type to determine if they are valid.
25226func (s *SendCommandInput) Validate() error {
25227	invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"}
25228	if s.DocumentName == nil {
25229		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
25230	}
25231	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
25232		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
25233	}
25234	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
25235		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
25236	}
25237	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
25238		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
25239	}
25240	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
25241		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
25242	}
25243	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
25244		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
25245	}
25246	if s.Targets != nil {
25247		for i, v := range s.Targets {
25248			if v == nil {
25249				continue
25250			}
25251			if err := v.Validate(); err != nil {
25252				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
25253			}
25254		}
25255	}
25256
25257	if invalidParams.Len() > 0 {
25258		return invalidParams
25259	}
25260	return nil
25261}
25262
25263// SetComment sets the Comment field's value.
25264func (s *SendCommandInput) SetComment(v string) *SendCommandInput {
25265	s.Comment = &v
25266	return s
25267}
25268
25269// SetDocumentHash sets the DocumentHash field's value.
25270func (s *SendCommandInput) SetDocumentHash(v string) *SendCommandInput {
25271	s.DocumentHash = &v
25272	return s
25273}
25274
25275// SetDocumentHashType sets the DocumentHashType field's value.
25276func (s *SendCommandInput) SetDocumentHashType(v string) *SendCommandInput {
25277	s.DocumentHashType = &v
25278	return s
25279}
25280
25281// SetDocumentName sets the DocumentName field's value.
25282func (s *SendCommandInput) SetDocumentName(v string) *SendCommandInput {
25283	s.DocumentName = &v
25284	return s
25285}
25286
25287// SetInstanceIds sets the InstanceIds field's value.
25288func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput {
25289	s.InstanceIds = v
25290	return s
25291}
25292
25293// SetMaxConcurrency sets the MaxConcurrency field's value.
25294func (s *SendCommandInput) SetMaxConcurrency(v string) *SendCommandInput {
25295	s.MaxConcurrency = &v
25296	return s
25297}
25298
25299// SetMaxErrors sets the MaxErrors field's value.
25300func (s *SendCommandInput) SetMaxErrors(v string) *SendCommandInput {
25301	s.MaxErrors = &v
25302	return s
25303}
25304
25305// SetNotificationConfig sets the NotificationConfig field's value.
25306func (s *SendCommandInput) SetNotificationConfig(v *NotificationConfig) *SendCommandInput {
25307	s.NotificationConfig = v
25308	return s
25309}
25310
25311// SetOutputS3BucketName sets the OutputS3BucketName field's value.
25312func (s *SendCommandInput) SetOutputS3BucketName(v string) *SendCommandInput {
25313	s.OutputS3BucketName = &v
25314	return s
25315}
25316
25317// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
25318func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput {
25319	s.OutputS3KeyPrefix = &v
25320	return s
25321}
25322
25323// SetOutputS3Region sets the OutputS3Region field's value.
25324func (s *SendCommandInput) SetOutputS3Region(v string) *SendCommandInput {
25325	s.OutputS3Region = &v
25326	return s
25327}
25328
25329// SetParameters sets the Parameters field's value.
25330func (s *SendCommandInput) SetParameters(v map[string][]*string) *SendCommandInput {
25331	s.Parameters = v
25332	return s
25333}
25334
25335// SetServiceRoleArn sets the ServiceRoleArn field's value.
25336func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput {
25337	s.ServiceRoleArn = &v
25338	return s
25339}
25340
25341// SetTargets sets the Targets field's value.
25342func (s *SendCommandInput) SetTargets(v []*Target) *SendCommandInput {
25343	s.Targets = v
25344	return s
25345}
25346
25347// SetTimeoutSeconds sets the TimeoutSeconds field's value.
25348func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput {
25349	s.TimeoutSeconds = &v
25350	return s
25351}
25352
25353// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommandResult
25354type SendCommandOutput struct {
25355	_ struct{} `type:"structure"`
25356
25357	// The request as it was received by Systems Manager. Also provides the command
25358	// ID which can be used future references to this request.
25359	Command *Command `type:"structure"`
25360}
25361
25362// String returns the string representation
25363func (s SendCommandOutput) String() string {
25364	return awsutil.Prettify(s)
25365}
25366
25367// GoString returns the string representation
25368func (s SendCommandOutput) GoString() string {
25369	return s.String()
25370}
25371
25372// SetCommand sets the Command field's value.
25373func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput {
25374	s.Command = v
25375	return s
25376}
25377
25378// The number of managed instances found for each patch severity level defined
25379// in the request filter.
25380// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SeveritySummary
25381type SeveritySummary struct {
25382	_ struct{} `type:"structure"`
25383
25384	// The total number of resources or compliance items that have a severity level
25385	// of critical. Critical severity is determined by the organization that published
25386	// the compliance items.
25387	CriticalCount *int64 `type:"integer"`
25388
25389	// The total number of resources or compliance items that have a severity level
25390	// of high. High severity is determined by the organization that published the
25391	// compliance items.
25392	HighCount *int64 `type:"integer"`
25393
25394	// The total number of resources or compliance items that have a severity level
25395	// of informational. Informational severity is determined by the organization
25396	// that published the compliance items.
25397	InformationalCount *int64 `type:"integer"`
25398
25399	// The total number of resources or compliance items that have a severity level
25400	// of low. Low severity is determined by the organization that published the
25401	// compliance items.
25402	LowCount *int64 `type:"integer"`
25403
25404	// The total number of resources or compliance items that have a severity level
25405	// of medium. Medium severity is determined by the organization that published
25406	// the compliance items.
25407	MediumCount *int64 `type:"integer"`
25408
25409	// The total number of resources or compliance items that have a severity level
25410	// of unspecified. Unspecified severity is determined by the organization that
25411	// published the compliance items.
25412	UnspecifiedCount *int64 `type:"integer"`
25413}
25414
25415// String returns the string representation
25416func (s SeveritySummary) String() string {
25417	return awsutil.Prettify(s)
25418}
25419
25420// GoString returns the string representation
25421func (s SeveritySummary) GoString() string {
25422	return s.String()
25423}
25424
25425// SetCriticalCount sets the CriticalCount field's value.
25426func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary {
25427	s.CriticalCount = &v
25428	return s
25429}
25430
25431// SetHighCount sets the HighCount field's value.
25432func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary {
25433	s.HighCount = &v
25434	return s
25435}
25436
25437// SetInformationalCount sets the InformationalCount field's value.
25438func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary {
25439	s.InformationalCount = &v
25440	return s
25441}
25442
25443// SetLowCount sets the LowCount field's value.
25444func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary {
25445	s.LowCount = &v
25446	return s
25447}
25448
25449// SetMediumCount sets the MediumCount field's value.
25450func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary {
25451	s.MediumCount = &v
25452	return s
25453}
25454
25455// SetUnspecifiedCount sets the UnspecifiedCount field's value.
25456func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary {
25457	s.UnspecifiedCount = &v
25458	return s
25459}
25460
25461// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecutionRequest
25462type StartAutomationExecutionInput struct {
25463	_ struct{} `type:"structure"`
25464
25465	// User-provided idempotency token. The token must be unique, is case insensitive,
25466	// enforces the UUID format, and can't be reused.
25467	ClientToken *string `min:"36" type:"string"`
25468
25469	// The name of the Automation document to use for this execution.
25470	//
25471	// DocumentName is a required field
25472	DocumentName *string `type:"string" required:"true"`
25473
25474	// The version of the Automation document to use for this execution.
25475	DocumentVersion *string `type:"string"`
25476
25477	// A key-value map of execution parameters, which match the declared parameters
25478	// in the Automation document.
25479	Parameters map[string][]*string `min:"1" type:"map"`
25480}
25481
25482// String returns the string representation
25483func (s StartAutomationExecutionInput) String() string {
25484	return awsutil.Prettify(s)
25485}
25486
25487// GoString returns the string representation
25488func (s StartAutomationExecutionInput) GoString() string {
25489	return s.String()
25490}
25491
25492// Validate inspects the fields of the type to determine if they are valid.
25493func (s *StartAutomationExecutionInput) Validate() error {
25494	invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"}
25495	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
25496		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
25497	}
25498	if s.DocumentName == nil {
25499		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
25500	}
25501	if s.Parameters != nil && len(s.Parameters) < 1 {
25502		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
25503	}
25504
25505	if invalidParams.Len() > 0 {
25506		return invalidParams
25507	}
25508	return nil
25509}
25510
25511// SetClientToken sets the ClientToken field's value.
25512func (s *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput {
25513	s.ClientToken = &v
25514	return s
25515}
25516
25517// SetDocumentName sets the DocumentName field's value.
25518func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput {
25519	s.DocumentName = &v
25520	return s
25521}
25522
25523// SetDocumentVersion sets the DocumentVersion field's value.
25524func (s *StartAutomationExecutionInput) SetDocumentVersion(v string) *StartAutomationExecutionInput {
25525	s.DocumentVersion = &v
25526	return s
25527}
25528
25529// SetParameters sets the Parameters field's value.
25530func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput {
25531	s.Parameters = v
25532	return s
25533}
25534
25535// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecutionResult
25536type StartAutomationExecutionOutput struct {
25537	_ struct{} `type:"structure"`
25538
25539	// The unique ID of a newly scheduled automation execution.
25540	AutomationExecutionId *string `min:"36" type:"string"`
25541}
25542
25543// String returns the string representation
25544func (s StartAutomationExecutionOutput) String() string {
25545	return awsutil.Prettify(s)
25546}
25547
25548// GoString returns the string representation
25549func (s StartAutomationExecutionOutput) GoString() string {
25550	return s.String()
25551}
25552
25553// SetAutomationExecutionId sets the AutomationExecutionId field's value.
25554func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *StartAutomationExecutionOutput {
25555	s.AutomationExecutionId = &v
25556	return s
25557}
25558
25559// Detailed information about an the execution state of an Automation step.
25560// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StepExecution
25561type StepExecution struct {
25562	_ struct{} `type:"structure"`
25563
25564	// The action this step performs. The action determines the behavior of the
25565	// step.
25566	Action *string `type:"string"`
25567
25568	// If a step has finished execution, this contains the time the execution ended.
25569	// If the step has not yet concluded, this field is not populated.
25570	ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
25571
25572	// If a step has begun execution, this contains the time the step started. If
25573	// the step is in Pending status, this field is not populated.
25574	ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
25575
25576	// Information about the Automation failure.
25577	FailureDetails *FailureDetails `type:"structure"`
25578
25579	// If a step failed, this message explains why the execution failed.
25580	FailureMessage *string `type:"string"`
25581
25582	// Fully-resolved values passed into the step before execution.
25583	Inputs map[string]*string `type:"map"`
25584
25585	// Returned values from the execution of the step.
25586	Outputs map[string][]*string `min:"1" type:"map"`
25587
25588	// A message associated with the response code for an execution.
25589	Response *string `type:"string"`
25590
25591	// The response code returned by the execution of the step.
25592	ResponseCode *string `type:"string"`
25593
25594	// The name of this execution step.
25595	StepName *string `type:"string"`
25596
25597	// The execution status for this step. Valid values include: Pending, InProgress,
25598	// Success, Cancelled, Failed, and TimedOut.
25599	StepStatus *string `type:"string" enum:"AutomationExecutionStatus"`
25600}
25601
25602// String returns the string representation
25603func (s StepExecution) String() string {
25604	return awsutil.Prettify(s)
25605}
25606
25607// GoString returns the string representation
25608func (s StepExecution) GoString() string {
25609	return s.String()
25610}
25611
25612// SetAction sets the Action field's value.
25613func (s *StepExecution) SetAction(v string) *StepExecution {
25614	s.Action = &v
25615	return s
25616}
25617
25618// SetExecutionEndTime sets the ExecutionEndTime field's value.
25619func (s *StepExecution) SetExecutionEndTime(v time.Time) *StepExecution {
25620	s.ExecutionEndTime = &v
25621	return s
25622}
25623
25624// SetExecutionStartTime sets the ExecutionStartTime field's value.
25625func (s *StepExecution) SetExecutionStartTime(v time.Time) *StepExecution {
25626	s.ExecutionStartTime = &v
25627	return s
25628}
25629
25630// SetFailureDetails sets the FailureDetails field's value.
25631func (s *StepExecution) SetFailureDetails(v *FailureDetails) *StepExecution {
25632	s.FailureDetails = v
25633	return s
25634}
25635
25636// SetFailureMessage sets the FailureMessage field's value.
25637func (s *StepExecution) SetFailureMessage(v string) *StepExecution {
25638	s.FailureMessage = &v
25639	return s
25640}
25641
25642// SetInputs sets the Inputs field's value.
25643func (s *StepExecution) SetInputs(v map[string]*string) *StepExecution {
25644	s.Inputs = v
25645	return s
25646}
25647
25648// SetOutputs sets the Outputs field's value.
25649func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution {
25650	s.Outputs = v
25651	return s
25652}
25653
25654// SetResponse sets the Response field's value.
25655func (s *StepExecution) SetResponse(v string) *StepExecution {
25656	s.Response = &v
25657	return s
25658}
25659
25660// SetResponseCode sets the ResponseCode field's value.
25661func (s *StepExecution) SetResponseCode(v string) *StepExecution {
25662	s.ResponseCode = &v
25663	return s
25664}
25665
25666// SetStepName sets the StepName field's value.
25667func (s *StepExecution) SetStepName(v string) *StepExecution {
25668	s.StepName = &v
25669	return s
25670}
25671
25672// SetStepStatus sets the StepStatus field's value.
25673func (s *StepExecution) SetStepStatus(v string) *StepExecution {
25674	s.StepStatus = &v
25675	return s
25676}
25677
25678// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecutionRequest
25679type StopAutomationExecutionInput struct {
25680	_ struct{} `type:"structure"`
25681
25682	// The execution ID of the Automation to stop.
25683	//
25684	// AutomationExecutionId is a required field
25685	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
25686}
25687
25688// String returns the string representation
25689func (s StopAutomationExecutionInput) String() string {
25690	return awsutil.Prettify(s)
25691}
25692
25693// GoString returns the string representation
25694func (s StopAutomationExecutionInput) GoString() string {
25695	return s.String()
25696}
25697
25698// Validate inspects the fields of the type to determine if they are valid.
25699func (s *StopAutomationExecutionInput) Validate() error {
25700	invalidParams := request.ErrInvalidParams{Context: "StopAutomationExecutionInput"}
25701	if s.AutomationExecutionId == nil {
25702		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
25703	}
25704	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
25705		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
25706	}
25707
25708	if invalidParams.Len() > 0 {
25709		return invalidParams
25710	}
25711	return nil
25712}
25713
25714// SetAutomationExecutionId sets the AutomationExecutionId field's value.
25715func (s *StopAutomationExecutionInput) SetAutomationExecutionId(v string) *StopAutomationExecutionInput {
25716	s.AutomationExecutionId = &v
25717	return s
25718}
25719
25720// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecutionResult
25721type StopAutomationExecutionOutput struct {
25722	_ struct{} `type:"structure"`
25723}
25724
25725// String returns the string representation
25726func (s StopAutomationExecutionOutput) String() string {
25727	return awsutil.Prettify(s)
25728}
25729
25730// GoString returns the string representation
25731func (s StopAutomationExecutionOutput) GoString() string {
25732	return s.String()
25733}
25734
25735// Metadata that you assign to your AWS resources. Tags enable you to categorize
25736// your resources in different ways, for example, by purpose, owner, or environment.
25737// In Systems Manager, you can apply tags to documents, managed instances, Maintenance
25738// Windows, Parameter Store parameters, and patch baselines.
25739// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Tag
25740type Tag struct {
25741	_ struct{} `type:"structure"`
25742
25743	// The name of the tag.
25744	//
25745	// Key is a required field
25746	Key *string `min:"1" type:"string" required:"true"`
25747
25748	// The value of the tag.
25749	//
25750	// Value is a required field
25751	Value *string `min:"1" type:"string" required:"true"`
25752}
25753
25754// String returns the string representation
25755func (s Tag) String() string {
25756	return awsutil.Prettify(s)
25757}
25758
25759// GoString returns the string representation
25760func (s Tag) GoString() string {
25761	return s.String()
25762}
25763
25764// Validate inspects the fields of the type to determine if they are valid.
25765func (s *Tag) Validate() error {
25766	invalidParams := request.ErrInvalidParams{Context: "Tag"}
25767	if s.Key == nil {
25768		invalidParams.Add(request.NewErrParamRequired("Key"))
25769	}
25770	if s.Key != nil && len(*s.Key) < 1 {
25771		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25772	}
25773	if s.Value == nil {
25774		invalidParams.Add(request.NewErrParamRequired("Value"))
25775	}
25776	if s.Value != nil && len(*s.Value) < 1 {
25777		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
25778	}
25779
25780	if invalidParams.Len() > 0 {
25781		return invalidParams
25782	}
25783	return nil
25784}
25785
25786// SetKey sets the Key field's value.
25787func (s *Tag) SetKey(v string) *Tag {
25788	s.Key = &v
25789	return s
25790}
25791
25792// SetValue sets the Value field's value.
25793func (s *Tag) SetValue(v string) *Tag {
25794	s.Value = &v
25795	return s
25796}
25797
25798// An array of search criteria that targets instances using a Key,Value combination
25799// that you specify. Targets is required if you don't provide one or more instance
25800// IDs in the call.
25801// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Target
25802type Target struct {
25803	_ struct{} `type:"structure"`
25804
25805	// User-defined criteria for sending commands that target instances that meet
25806	// the criteria. Key can be tag:<Amazon EC2 tag> or InstanceIds. For more information
25807	// about how to send commands that target instances using Key,Value parameters,
25808	// see Executing a Command Using Systems Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).
25809	Key *string `min:"1" type:"string"`
25810
25811	// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole,
25812	// you could specify value:WebServer to execute a command on instances that
25813	// include Amazon EC2 tags of ServerRole,WebServer. For more information about
25814	// how to send commands that target instances using Key,Value parameters, see
25815	// Executing a Command Using Systems Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).
25816	Values []*string `type:"list"`
25817}
25818
25819// String returns the string representation
25820func (s Target) String() string {
25821	return awsutil.Prettify(s)
25822}
25823
25824// GoString returns the string representation
25825func (s Target) GoString() string {
25826	return s.String()
25827}
25828
25829// Validate inspects the fields of the type to determine if they are valid.
25830func (s *Target) Validate() error {
25831	invalidParams := request.ErrInvalidParams{Context: "Target"}
25832	if s.Key != nil && len(*s.Key) < 1 {
25833		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25834	}
25835
25836	if invalidParams.Len() > 0 {
25837		return invalidParams
25838	}
25839	return nil
25840}
25841
25842// SetKey sets the Key field's value.
25843func (s *Target) SetKey(v string) *Target {
25844	s.Key = &v
25845	return s
25846}
25847
25848// SetValues sets the Values field's value.
25849func (s *Target) SetValues(v []*string) *Target {
25850	s.Values = v
25851	return s
25852}
25853
25854// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationRequest
25855type UpdateAssociationInput struct {
25856	_ struct{} `type:"structure"`
25857
25858	// The ID of the association you want to update.
25859	//
25860	// AssociationId is a required field
25861	AssociationId *string `type:"string" required:"true"`
25862
25863	// The name of the association that you want to update.
25864	AssociationName *string `type:"string"`
25865
25866	// This parameter is provided for concurrency control purposes. You must specify
25867	// the latest association version in the service. If you want to ensure that
25868	// this request succeeds, either specify $LATEST, or omit this parameter.
25869	AssociationVersion *string `type:"string"`
25870
25871	// The document version you want update for the association.
25872	DocumentVersion *string `type:"string"`
25873
25874	// The name of the association document.
25875	Name *string `type:"string"`
25876
25877	// An Amazon S3 bucket where you want to store the results of this request.
25878	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
25879
25880	// The parameters you want to update for the association. If you create a parameter
25881	// using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}
25882	Parameters map[string][]*string `type:"map"`
25883
25884	// The cron expression used to schedule the association that you want to update.
25885	ScheduleExpression *string `min:"1" type:"string"`
25886
25887	// The targets of the association.
25888	Targets []*Target `type:"list"`
25889}
25890
25891// String returns the string representation
25892func (s UpdateAssociationInput) String() string {
25893	return awsutil.Prettify(s)
25894}
25895
25896// GoString returns the string representation
25897func (s UpdateAssociationInput) GoString() string {
25898	return s.String()
25899}
25900
25901// Validate inspects the fields of the type to determine if they are valid.
25902func (s *UpdateAssociationInput) Validate() error {
25903	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationInput"}
25904	if s.AssociationId == nil {
25905		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
25906	}
25907	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
25908		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
25909	}
25910	if s.OutputLocation != nil {
25911		if err := s.OutputLocation.Validate(); err != nil {
25912			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
25913		}
25914	}
25915	if s.Targets != nil {
25916		for i, v := range s.Targets {
25917			if v == nil {
25918				continue
25919			}
25920			if err := v.Validate(); err != nil {
25921				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
25922			}
25923		}
25924	}
25925
25926	if invalidParams.Len() > 0 {
25927		return invalidParams
25928	}
25929	return nil
25930}
25931
25932// SetAssociationId sets the AssociationId field's value.
25933func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput {
25934	s.AssociationId = &v
25935	return s
25936}
25937
25938// SetAssociationName sets the AssociationName field's value.
25939func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput {
25940	s.AssociationName = &v
25941	return s
25942}
25943
25944// SetAssociationVersion sets the AssociationVersion field's value.
25945func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput {
25946	s.AssociationVersion = &v
25947	return s
25948}
25949
25950// SetDocumentVersion sets the DocumentVersion field's value.
25951func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput {
25952	s.DocumentVersion = &v
25953	return s
25954}
25955
25956// SetName sets the Name field's value.
25957func (s *UpdateAssociationInput) SetName(v string) *UpdateAssociationInput {
25958	s.Name = &v
25959	return s
25960}
25961
25962// SetOutputLocation sets the OutputLocation field's value.
25963func (s *UpdateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *UpdateAssociationInput {
25964	s.OutputLocation = v
25965	return s
25966}
25967
25968// SetParameters sets the Parameters field's value.
25969func (s *UpdateAssociationInput) SetParameters(v map[string][]*string) *UpdateAssociationInput {
25970	s.Parameters = v
25971	return s
25972}
25973
25974// SetScheduleExpression sets the ScheduleExpression field's value.
25975func (s *UpdateAssociationInput) SetScheduleExpression(v string) *UpdateAssociationInput {
25976	s.ScheduleExpression = &v
25977	return s
25978}
25979
25980// SetTargets sets the Targets field's value.
25981func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput {
25982	s.Targets = v
25983	return s
25984}
25985
25986// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationResult
25987type UpdateAssociationOutput struct {
25988	_ struct{} `type:"structure"`
25989
25990	// The description of the association that was updated.
25991	AssociationDescription *AssociationDescription `type:"structure"`
25992}
25993
25994// String returns the string representation
25995func (s UpdateAssociationOutput) String() string {
25996	return awsutil.Prettify(s)
25997}
25998
25999// GoString returns the string representation
26000func (s UpdateAssociationOutput) GoString() string {
26001	return s.String()
26002}
26003
26004// SetAssociationDescription sets the AssociationDescription field's value.
26005func (s *UpdateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationOutput {
26006	s.AssociationDescription = v
26007	return s
26008}
26009
26010// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatusRequest
26011type UpdateAssociationStatusInput struct {
26012	_ struct{} `type:"structure"`
26013
26014	// The association status.
26015	//
26016	// AssociationStatus is a required field
26017	AssociationStatus *AssociationStatus `type:"structure" required:"true"`
26018
26019	// The ID of the instance.
26020	//
26021	// InstanceId is a required field
26022	InstanceId *string `type:"string" required:"true"`
26023
26024	// The name of the Systems Manager document.
26025	//
26026	// Name is a required field
26027	Name *string `type:"string" required:"true"`
26028}
26029
26030// String returns the string representation
26031func (s UpdateAssociationStatusInput) String() string {
26032	return awsutil.Prettify(s)
26033}
26034
26035// GoString returns the string representation
26036func (s UpdateAssociationStatusInput) GoString() string {
26037	return s.String()
26038}
26039
26040// Validate inspects the fields of the type to determine if they are valid.
26041func (s *UpdateAssociationStatusInput) Validate() error {
26042	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"}
26043	if s.AssociationStatus == nil {
26044		invalidParams.Add(request.NewErrParamRequired("AssociationStatus"))
26045	}
26046	if s.InstanceId == nil {
26047		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26048	}
26049	if s.Name == nil {
26050		invalidParams.Add(request.NewErrParamRequired("Name"))
26051	}
26052	if s.AssociationStatus != nil {
26053		if err := s.AssociationStatus.Validate(); err != nil {
26054			invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams))
26055		}
26056	}
26057
26058	if invalidParams.Len() > 0 {
26059		return invalidParams
26060	}
26061	return nil
26062}
26063
26064// SetAssociationStatus sets the AssociationStatus field's value.
26065func (s *UpdateAssociationStatusInput) SetAssociationStatus(v *AssociationStatus) *UpdateAssociationStatusInput {
26066	s.AssociationStatus = v
26067	return s
26068}
26069
26070// SetInstanceId sets the InstanceId field's value.
26071func (s *UpdateAssociationStatusInput) SetInstanceId(v string) *UpdateAssociationStatusInput {
26072	s.InstanceId = &v
26073	return s
26074}
26075
26076// SetName sets the Name field's value.
26077func (s *UpdateAssociationStatusInput) SetName(v string) *UpdateAssociationStatusInput {
26078	s.Name = &v
26079	return s
26080}
26081
26082// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatusResult
26083type UpdateAssociationStatusOutput struct {
26084	_ struct{} `type:"structure"`
26085
26086	// Information about the association.
26087	AssociationDescription *AssociationDescription `type:"structure"`
26088}
26089
26090// String returns the string representation
26091func (s UpdateAssociationStatusOutput) String() string {
26092	return awsutil.Prettify(s)
26093}
26094
26095// GoString returns the string representation
26096func (s UpdateAssociationStatusOutput) GoString() string {
26097	return s.String()
26098}
26099
26100// SetAssociationDescription sets the AssociationDescription field's value.
26101func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationStatusOutput {
26102	s.AssociationDescription = v
26103	return s
26104}
26105
26106// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersionRequest
26107type UpdateDocumentDefaultVersionInput struct {
26108	_ struct{} `type:"structure"`
26109
26110	// The version of a custom document that you want to set as the default version.
26111	//
26112	// DocumentVersion is a required field
26113	DocumentVersion *string `type:"string" required:"true"`
26114
26115	// The name of a custom document that you want to set as the default version.
26116	//
26117	// Name is a required field
26118	Name *string `type:"string" required:"true"`
26119}
26120
26121// String returns the string representation
26122func (s UpdateDocumentDefaultVersionInput) String() string {
26123	return awsutil.Prettify(s)
26124}
26125
26126// GoString returns the string representation
26127func (s UpdateDocumentDefaultVersionInput) GoString() string {
26128	return s.String()
26129}
26130
26131// Validate inspects the fields of the type to determine if they are valid.
26132func (s *UpdateDocumentDefaultVersionInput) Validate() error {
26133	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentDefaultVersionInput"}
26134	if s.DocumentVersion == nil {
26135		invalidParams.Add(request.NewErrParamRequired("DocumentVersion"))
26136	}
26137	if s.Name == nil {
26138		invalidParams.Add(request.NewErrParamRequired("Name"))
26139	}
26140
26141	if invalidParams.Len() > 0 {
26142		return invalidParams
26143	}
26144	return nil
26145}
26146
26147// SetDocumentVersion sets the DocumentVersion field's value.
26148func (s *UpdateDocumentDefaultVersionInput) SetDocumentVersion(v string) *UpdateDocumentDefaultVersionInput {
26149	s.DocumentVersion = &v
26150	return s
26151}
26152
26153// SetName sets the Name field's value.
26154func (s *UpdateDocumentDefaultVersionInput) SetName(v string) *UpdateDocumentDefaultVersionInput {
26155	s.Name = &v
26156	return s
26157}
26158
26159// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersionResult
26160type UpdateDocumentDefaultVersionOutput struct {
26161	_ struct{} `type:"structure"`
26162
26163	// The description of a custom document that you want to set as the default
26164	// version.
26165	Description *DocumentDefaultVersionDescription `type:"structure"`
26166}
26167
26168// String returns the string representation
26169func (s UpdateDocumentDefaultVersionOutput) String() string {
26170	return awsutil.Prettify(s)
26171}
26172
26173// GoString returns the string representation
26174func (s UpdateDocumentDefaultVersionOutput) GoString() string {
26175	return s.String()
26176}
26177
26178// SetDescription sets the Description field's value.
26179func (s *UpdateDocumentDefaultVersionOutput) SetDescription(v *DocumentDefaultVersionDescription) *UpdateDocumentDefaultVersionOutput {
26180	s.Description = v
26181	return s
26182}
26183
26184// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentRequest
26185type UpdateDocumentInput struct {
26186	_ struct{} `type:"structure"`
26187
26188	// The content in a document that you want to update.
26189	//
26190	// Content is a required field
26191	Content *string `min:"1" type:"string" required:"true"`
26192
26193	// The version of the document that you want to update.
26194	DocumentVersion *string `type:"string"`
26195
26196	// The name of the document that you want to update.
26197	//
26198	// Name is a required field
26199	Name *string `type:"string" required:"true"`
26200}
26201
26202// String returns the string representation
26203func (s UpdateDocumentInput) String() string {
26204	return awsutil.Prettify(s)
26205}
26206
26207// GoString returns the string representation
26208func (s UpdateDocumentInput) GoString() string {
26209	return s.String()
26210}
26211
26212// Validate inspects the fields of the type to determine if they are valid.
26213func (s *UpdateDocumentInput) Validate() error {
26214	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
26215	if s.Content == nil {
26216		invalidParams.Add(request.NewErrParamRequired("Content"))
26217	}
26218	if s.Content != nil && len(*s.Content) < 1 {
26219		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
26220	}
26221	if s.Name == nil {
26222		invalidParams.Add(request.NewErrParamRequired("Name"))
26223	}
26224
26225	if invalidParams.Len() > 0 {
26226		return invalidParams
26227	}
26228	return nil
26229}
26230
26231// SetContent sets the Content field's value.
26232func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput {
26233	s.Content = &v
26234	return s
26235}
26236
26237// SetDocumentVersion sets the DocumentVersion field's value.
26238func (s *UpdateDocumentInput) SetDocumentVersion(v string) *UpdateDocumentInput {
26239	s.DocumentVersion = &v
26240	return s
26241}
26242
26243// SetName sets the Name field's value.
26244func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
26245	s.Name = &v
26246	return s
26247}
26248
26249// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentResult
26250type UpdateDocumentOutput struct {
26251	_ struct{} `type:"structure"`
26252
26253	// A description of the document that was updated.
26254	DocumentDescription *DocumentDescription `type:"structure"`
26255}
26256
26257// String returns the string representation
26258func (s UpdateDocumentOutput) String() string {
26259	return awsutil.Prettify(s)
26260}
26261
26262// GoString returns the string representation
26263func (s UpdateDocumentOutput) GoString() string {
26264	return s.String()
26265}
26266
26267// SetDocumentDescription sets the DocumentDescription field's value.
26268func (s *UpdateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *UpdateDocumentOutput {
26269	s.DocumentDescription = v
26270	return s
26271}
26272
26273// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowRequest
26274type UpdateMaintenanceWindowInput struct {
26275	_ struct{} `type:"structure"`
26276
26277	// Whether targets must be registered with the Maintenance Window before tasks
26278	// can be defined for those targets.
26279	AllowUnassociatedTargets *bool `type:"boolean"`
26280
26281	// The number of hours before the end of the Maintenance Window that Systems
26282	// Manager stops scheduling new tasks for execution.
26283	Cutoff *int64 `type:"integer"`
26284
26285	// An optional description for the update request.
26286	Description *string `min:"1" type:"string"`
26287
26288	// The duration of the Maintenance Window in hours.
26289	Duration *int64 `min:"1" type:"integer"`
26290
26291	// Whether the Maintenance Window is enabled.
26292	Enabled *bool `type:"boolean"`
26293
26294	// The name of the Maintenance Window.
26295	Name *string `min:"3" type:"string"`
26296
26297	// If True, then all fields that are required by the CreateMaintenanceWindow
26298	// action are also required for this API request. Optional fields that are not
26299	// specified are set to null.
26300	Replace *bool `type:"boolean"`
26301
26302	// The schedule of the Maintenance Window in the form of a cron or rate expression.
26303	Schedule *string `min:"1" type:"string"`
26304
26305	// The ID of the Maintenance Window to update.
26306	//
26307	// WindowId is a required field
26308	WindowId *string `min:"20" type:"string" required:"true"`
26309}
26310
26311// String returns the string representation
26312func (s UpdateMaintenanceWindowInput) String() string {
26313	return awsutil.Prettify(s)
26314}
26315
26316// GoString returns the string representation
26317func (s UpdateMaintenanceWindowInput) GoString() string {
26318	return s.String()
26319}
26320
26321// Validate inspects the fields of the type to determine if they are valid.
26322func (s *UpdateMaintenanceWindowInput) Validate() error {
26323	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"}
26324	if s.Description != nil && len(*s.Description) < 1 {
26325		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
26326	}
26327	if s.Duration != nil && *s.Duration < 1 {
26328		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
26329	}
26330	if s.Name != nil && len(*s.Name) < 3 {
26331		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
26332	}
26333	if s.Schedule != nil && len(*s.Schedule) < 1 {
26334		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
26335	}
26336	if s.WindowId == nil {
26337		invalidParams.Add(request.NewErrParamRequired("WindowId"))
26338	}
26339	if s.WindowId != nil && len(*s.WindowId) < 20 {
26340		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26341	}
26342
26343	if invalidParams.Len() > 0 {
26344		return invalidParams
26345	}
26346	return nil
26347}
26348
26349// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
26350func (s *UpdateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowInput {
26351	s.AllowUnassociatedTargets = &v
26352	return s
26353}
26354
26355// SetCutoff sets the Cutoff field's value.
26356func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWindowInput {
26357	s.Cutoff = &v
26358	return s
26359}
26360
26361// SetDescription sets the Description field's value.
26362func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput {
26363	s.Description = &v
26364	return s
26365}
26366
26367// SetDuration sets the Duration field's value.
26368func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput {
26369	s.Duration = &v
26370	return s
26371}
26372
26373// SetEnabled sets the Enabled field's value.
26374func (s *UpdateMaintenanceWindowInput) SetEnabled(v bool) *UpdateMaintenanceWindowInput {
26375	s.Enabled = &v
26376	return s
26377}
26378
26379// SetName sets the Name field's value.
26380func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput {
26381	s.Name = &v
26382	return s
26383}
26384
26385// SetReplace sets the Replace field's value.
26386func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput {
26387	s.Replace = &v
26388	return s
26389}
26390
26391// SetSchedule sets the Schedule field's value.
26392func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput {
26393	s.Schedule = &v
26394	return s
26395}
26396
26397// SetWindowId sets the WindowId field's value.
26398func (s *UpdateMaintenanceWindowInput) SetWindowId(v string) *UpdateMaintenanceWindowInput {
26399	s.WindowId = &v
26400	return s
26401}
26402
26403// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowResult
26404type UpdateMaintenanceWindowOutput struct {
26405	_ struct{} `type:"structure"`
26406
26407	// Whether targets must be registered with the Maintenance Window before tasks
26408	// can be defined for those targets.
26409	AllowUnassociatedTargets *bool `type:"boolean"`
26410
26411	// The number of hours before the end of the Maintenance Window that Systems
26412	// Manager stops scheduling new tasks for execution.
26413	Cutoff *int64 `type:"integer"`
26414
26415	// An optional description of the update.
26416	Description *string `min:"1" type:"string"`
26417
26418	// The duration of the Maintenance Window in hours.
26419	Duration *int64 `min:"1" type:"integer"`
26420
26421	// Whether the Maintenance Window is enabled.
26422	Enabled *bool `type:"boolean"`
26423
26424	// The name of the Maintenance Window.
26425	Name *string `min:"3" type:"string"`
26426
26427	// The schedule of the Maintenance Window in the form of a cron or rate expression.
26428	Schedule *string `min:"1" type:"string"`
26429
26430	// The ID of the created Maintenance Window.
26431	WindowId *string `min:"20" type:"string"`
26432}
26433
26434// String returns the string representation
26435func (s UpdateMaintenanceWindowOutput) String() string {
26436	return awsutil.Prettify(s)
26437}
26438
26439// GoString returns the string representation
26440func (s UpdateMaintenanceWindowOutput) GoString() string {
26441	return s.String()
26442}
26443
26444// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
26445func (s *UpdateMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowOutput {
26446	s.AllowUnassociatedTargets = &v
26447	return s
26448}
26449
26450// SetCutoff sets the Cutoff field's value.
26451func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWindowOutput {
26452	s.Cutoff = &v
26453	return s
26454}
26455
26456// SetDescription sets the Description field's value.
26457func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput {
26458	s.Description = &v
26459	return s
26460}
26461
26462// SetDuration sets the Duration field's value.
26463func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput {
26464	s.Duration = &v
26465	return s
26466}
26467
26468// SetEnabled sets the Enabled field's value.
26469func (s *UpdateMaintenanceWindowOutput) SetEnabled(v bool) *UpdateMaintenanceWindowOutput {
26470	s.Enabled = &v
26471	return s
26472}
26473
26474// SetName sets the Name field's value.
26475func (s *UpdateMaintenanceWindowOutput) SetName(v string) *UpdateMaintenanceWindowOutput {
26476	s.Name = &v
26477	return s
26478}
26479
26480// SetSchedule sets the Schedule field's value.
26481func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenanceWindowOutput {
26482	s.Schedule = &v
26483	return s
26484}
26485
26486// SetWindowId sets the WindowId field's value.
26487func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput {
26488	s.WindowId = &v
26489	return s
26490}
26491
26492// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTargetRequest
26493type UpdateMaintenanceWindowTargetInput struct {
26494	_ struct{} `type:"structure"`
26495
26496	// An optional description for the update.
26497	Description *string `min:"1" type:"string"`
26498
26499	// A name for the update.
26500	Name *string `min:"3" type:"string"`
26501
26502	// User-provided value that will be included in any CloudWatch events raised
26503	// while running tasks for these targets in this Maintenance Window.
26504	OwnerInformation *string `min:"1" type:"string"`
26505
26506	// If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow
26507	// action are also required for this API request. Optional fields that are not
26508	// specified are set to null.
26509	Replace *bool `type:"boolean"`
26510
26511	// The targets to add or replace.
26512	Targets []*Target `type:"list"`
26513
26514	// The Maintenance Window ID with which to modify the target.
26515	//
26516	// WindowId is a required field
26517	WindowId *string `min:"20" type:"string" required:"true"`
26518
26519	// The target ID to modify.
26520	//
26521	// WindowTargetId is a required field
26522	WindowTargetId *string `min:"36" type:"string" required:"true"`
26523}
26524
26525// String returns the string representation
26526func (s UpdateMaintenanceWindowTargetInput) String() string {
26527	return awsutil.Prettify(s)
26528}
26529
26530// GoString returns the string representation
26531func (s UpdateMaintenanceWindowTargetInput) GoString() string {
26532	return s.String()
26533}
26534
26535// Validate inspects the fields of the type to determine if they are valid.
26536func (s *UpdateMaintenanceWindowTargetInput) Validate() error {
26537	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"}
26538	if s.Description != nil && len(*s.Description) < 1 {
26539		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
26540	}
26541	if s.Name != nil && len(*s.Name) < 3 {
26542		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
26543	}
26544	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
26545		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
26546	}
26547	if s.WindowId == nil {
26548		invalidParams.Add(request.NewErrParamRequired("WindowId"))
26549	}
26550	if s.WindowId != nil && len(*s.WindowId) < 20 {
26551		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26552	}
26553	if s.WindowTargetId == nil {
26554		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
26555	}
26556	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
26557		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
26558	}
26559	if s.Targets != nil {
26560		for i, v := range s.Targets {
26561			if v == nil {
26562				continue
26563			}
26564			if err := v.Validate(); err != nil {
26565				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
26566			}
26567		}
26568	}
26569
26570	if invalidParams.Len() > 0 {
26571		return invalidParams
26572	}
26573	return nil
26574}
26575
26576// SetDescription sets the Description field's value.
26577func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput {
26578	s.Description = &v
26579	return s
26580}
26581
26582// SetName sets the Name field's value.
26583func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput {
26584	s.Name = &v
26585	return s
26586}
26587
26588// SetOwnerInformation sets the OwnerInformation field's value.
26589func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput {
26590	s.OwnerInformation = &v
26591	return s
26592}
26593
26594// SetReplace sets the Replace field's value.
26595func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput {
26596	s.Replace = &v
26597	return s
26598}
26599
26600// SetTargets sets the Targets field's value.
26601func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput {
26602	s.Targets = v
26603	return s
26604}
26605
26606// SetWindowId sets the WindowId field's value.
26607func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput {
26608	s.WindowId = &v
26609	return s
26610}
26611
26612// SetWindowTargetId sets the WindowTargetId field's value.
26613func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput {
26614	s.WindowTargetId = &v
26615	return s
26616}
26617
26618// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTargetResult
26619type UpdateMaintenanceWindowTargetOutput struct {
26620	_ struct{} `type:"structure"`
26621
26622	// The updated description.
26623	Description *string `min:"1" type:"string"`
26624
26625	// The updated name.
26626	Name *string `min:"3" type:"string"`
26627
26628	// The updated owner.
26629	OwnerInformation *string `min:"1" type:"string"`
26630
26631	// The updated targets.
26632	Targets []*Target `type:"list"`
26633
26634	// The Maintenance Window ID specified in the update request.
26635	WindowId *string `min:"20" type:"string"`
26636
26637	// The target ID specified in the update request.
26638	WindowTargetId *string `min:"36" type:"string"`
26639}
26640
26641// String returns the string representation
26642func (s UpdateMaintenanceWindowTargetOutput) String() string {
26643	return awsutil.Prettify(s)
26644}
26645
26646// GoString returns the string representation
26647func (s UpdateMaintenanceWindowTargetOutput) GoString() string {
26648	return s.String()
26649}
26650
26651// SetDescription sets the Description field's value.
26652func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput {
26653	s.Description = &v
26654	return s
26655}
26656
26657// SetName sets the Name field's value.
26658func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput {
26659	s.Name = &v
26660	return s
26661}
26662
26663// SetOwnerInformation sets the OwnerInformation field's value.
26664func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput {
26665	s.OwnerInformation = &v
26666	return s
26667}
26668
26669// SetTargets sets the Targets field's value.
26670func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput {
26671	s.Targets = v
26672	return s
26673}
26674
26675// SetWindowId sets the WindowId field's value.
26676func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput {
26677	s.WindowId = &v
26678	return s
26679}
26680
26681// SetWindowTargetId sets the WindowTargetId field's value.
26682func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput {
26683	s.WindowTargetId = &v
26684	return s
26685}
26686
26687// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTaskRequest
26688type UpdateMaintenanceWindowTaskInput struct {
26689	_ struct{} `type:"structure"`
26690
26691	// The new task description to specify.
26692	Description *string `min:"1" type:"string"`
26693
26694	// The new logging location in Amazon S3 to specify.
26695	LoggingInfo *LoggingInfo `type:"structure"`
26696
26697	// The new MaxConcurrency value you want to specify. MaxConcurrency is the number
26698	// of targets that are allowed to run this task in parallel.
26699	MaxConcurrency *string `min:"1" type:"string"`
26700
26701	// The new MaxErrors value to specify. MaxErrors is the maximum number of errors
26702	// that are allowed before the task stops being scheduled.
26703	MaxErrors *string `min:"1" type:"string"`
26704
26705	// The new task name to specify.
26706	Name *string `min:"3" type:"string"`
26707
26708	// The new task priority to specify. The lower the number, the higher the priority.
26709	// Tasks that have the same priority are scheduled in parallel.
26710	Priority *int64 `type:"integer"`
26711
26712	// If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow
26713	// action are also required for this API request. Optional fields that are not
26714	// specified are set to null.
26715	Replace *bool `type:"boolean"`
26716
26717	// The IAM service role ARN to modify. The system assumes this role during task
26718	// execution.
26719	ServiceRoleArn *string `type:"string"`
26720
26721	// The targets (either instances or tags) to modify. Instances are specified
26722	// using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified
26723	// using Key=tag_name,Values=tag_value.
26724	Targets []*Target `type:"list"`
26725
26726	// The task ARN to modify.
26727	TaskArn *string `min:"1" type:"string"`
26728
26729	// The parameters that the task should use during execution. Populate only the
26730	// fields that match the task type. All other fields should be empty.
26731	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
26732
26733	// The parameters to modify. The map has the following format:
26734	//
26735	// Key: string, between 1 and 255 characters
26736	//
26737	// Value: an array of strings, each string is between 1 and 255 characters
26738	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"`
26739
26740	// The Maintenance Window ID that contains the task to modify.
26741	//
26742	// WindowId is a required field
26743	WindowId *string `min:"20" type:"string" required:"true"`
26744
26745	// The task ID to modify.
26746	//
26747	// WindowTaskId is a required field
26748	WindowTaskId *string `min:"36" type:"string" required:"true"`
26749}
26750
26751// String returns the string representation
26752func (s UpdateMaintenanceWindowTaskInput) String() string {
26753	return awsutil.Prettify(s)
26754}
26755
26756// GoString returns the string representation
26757func (s UpdateMaintenanceWindowTaskInput) GoString() string {
26758	return s.String()
26759}
26760
26761// Validate inspects the fields of the type to determine if they are valid.
26762func (s *UpdateMaintenanceWindowTaskInput) Validate() error {
26763	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"}
26764	if s.Description != nil && len(*s.Description) < 1 {
26765		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
26766	}
26767	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
26768		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
26769	}
26770	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
26771		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
26772	}
26773	if s.Name != nil && len(*s.Name) < 3 {
26774		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
26775	}
26776	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
26777		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
26778	}
26779	if s.WindowId == nil {
26780		invalidParams.Add(request.NewErrParamRequired("WindowId"))
26781	}
26782	if s.WindowId != nil && len(*s.WindowId) < 20 {
26783		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26784	}
26785	if s.WindowTaskId == nil {
26786		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
26787	}
26788	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
26789		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
26790	}
26791	if s.LoggingInfo != nil {
26792		if err := s.LoggingInfo.Validate(); err != nil {
26793			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
26794		}
26795	}
26796	if s.Targets != nil {
26797		for i, v := range s.Targets {
26798			if v == nil {
26799				continue
26800			}
26801			if err := v.Validate(); err != nil {
26802				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
26803			}
26804		}
26805	}
26806	if s.TaskInvocationParameters != nil {
26807		if err := s.TaskInvocationParameters.Validate(); err != nil {
26808			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
26809		}
26810	}
26811
26812	if invalidParams.Len() > 0 {
26813		return invalidParams
26814	}
26815	return nil
26816}
26817
26818// SetDescription sets the Description field's value.
26819func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput {
26820	s.Description = &v
26821	return s
26822}
26823
26824// SetLoggingInfo sets the LoggingInfo field's value.
26825func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput {
26826	s.LoggingInfo = v
26827	return s
26828}
26829
26830// SetMaxConcurrency sets the MaxConcurrency field's value.
26831func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput {
26832	s.MaxConcurrency = &v
26833	return s
26834}
26835
26836// SetMaxErrors sets the MaxErrors field's value.
26837func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput {
26838	s.MaxErrors = &v
26839	return s
26840}
26841
26842// SetName sets the Name field's value.
26843func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput {
26844	s.Name = &v
26845	return s
26846}
26847
26848// SetPriority sets the Priority field's value.
26849func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput {
26850	s.Priority = &v
26851	return s
26852}
26853
26854// SetReplace sets the Replace field's value.
26855func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput {
26856	s.Replace = &v
26857	return s
26858}
26859
26860// SetServiceRoleArn sets the ServiceRoleArn field's value.
26861func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput {
26862	s.ServiceRoleArn = &v
26863	return s
26864}
26865
26866// SetTargets sets the Targets field's value.
26867func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput {
26868	s.Targets = v
26869	return s
26870}
26871
26872// SetTaskArn sets the TaskArn field's value.
26873func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput {
26874	s.TaskArn = &v
26875	return s
26876}
26877
26878// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
26879func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput {
26880	s.TaskInvocationParameters = v
26881	return s
26882}
26883
26884// SetTaskParameters sets the TaskParameters field's value.
26885func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput {
26886	s.TaskParameters = v
26887	return s
26888}
26889
26890// SetWindowId sets the WindowId field's value.
26891func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput {
26892	s.WindowId = &v
26893	return s
26894}
26895
26896// SetWindowTaskId sets the WindowTaskId field's value.
26897func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput {
26898	s.WindowTaskId = &v
26899	return s
26900}
26901
26902// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTaskResult
26903type UpdateMaintenanceWindowTaskOutput struct {
26904	_ struct{} `type:"structure"`
26905
26906	// The updated task description.
26907	Description *string `min:"1" type:"string"`
26908
26909	// The updated logging information in Amazon S3.
26910	LoggingInfo *LoggingInfo `type:"structure"`
26911
26912	// The updated MaxConcurrency value.
26913	MaxConcurrency *string `min:"1" type:"string"`
26914
26915	// The updated MaxErrors value.
26916	MaxErrors *string `min:"1" type:"string"`
26917
26918	// The updated task name.
26919	Name *string `min:"3" type:"string"`
26920
26921	// The updated priority value.
26922	Priority *int64 `type:"integer"`
26923
26924	// The updated service role ARN value.
26925	ServiceRoleArn *string `type:"string"`
26926
26927	// The updated target values.
26928	Targets []*Target `type:"list"`
26929
26930	// The updated task ARN value.
26931	TaskArn *string `min:"1" type:"string"`
26932
26933	// The updated parameter values.
26934	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
26935
26936	// The updated parameter values.
26937	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"`
26938
26939	// The ID of the Maintenance Window that was updated.
26940	WindowId *string `min:"20" type:"string"`
26941
26942	// The task ID of the Maintenance Window that was updated.
26943	WindowTaskId *string `min:"36" type:"string"`
26944}
26945
26946// String returns the string representation
26947func (s UpdateMaintenanceWindowTaskOutput) String() string {
26948	return awsutil.Prettify(s)
26949}
26950
26951// GoString returns the string representation
26952func (s UpdateMaintenanceWindowTaskOutput) GoString() string {
26953	return s.String()
26954}
26955
26956// SetDescription sets the Description field's value.
26957func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput {
26958	s.Description = &v
26959	return s
26960}
26961
26962// SetLoggingInfo sets the LoggingInfo field's value.
26963func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput {
26964	s.LoggingInfo = v
26965	return s
26966}
26967
26968// SetMaxConcurrency sets the MaxConcurrency field's value.
26969func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput {
26970	s.MaxConcurrency = &v
26971	return s
26972}
26973
26974// SetMaxErrors sets the MaxErrors field's value.
26975func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput {
26976	s.MaxErrors = &v
26977	return s
26978}
26979
26980// SetName sets the Name field's value.
26981func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput {
26982	s.Name = &v
26983	return s
26984}
26985
26986// SetPriority sets the Priority field's value.
26987func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput {
26988	s.Priority = &v
26989	return s
26990}
26991
26992// SetServiceRoleArn sets the ServiceRoleArn field's value.
26993func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput {
26994	s.ServiceRoleArn = &v
26995	return s
26996}
26997
26998// SetTargets sets the Targets field's value.
26999func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput {
27000	s.Targets = v
27001	return s
27002}
27003
27004// SetTaskArn sets the TaskArn field's value.
27005func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput {
27006	s.TaskArn = &v
27007	return s
27008}
27009
27010// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
27011func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput {
27012	s.TaskInvocationParameters = v
27013	return s
27014}
27015
27016// SetTaskParameters sets the TaskParameters field's value.
27017func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput {
27018	s.TaskParameters = v
27019	return s
27020}
27021
27022// SetWindowId sets the WindowId field's value.
27023func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput {
27024	s.WindowId = &v
27025	return s
27026}
27027
27028// SetWindowTaskId sets the WindowTaskId field's value.
27029func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput {
27030	s.WindowTaskId = &v
27031	return s
27032}
27033
27034// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRoleRequest
27035type UpdateManagedInstanceRoleInput struct {
27036	_ struct{} `type:"structure"`
27037
27038	// The IAM role you want to assign or change.
27039	//
27040	// IamRole is a required field
27041	IamRole *string `type:"string" required:"true"`
27042
27043	// The ID of the managed instance where you want to update the role.
27044	//
27045	// InstanceId is a required field
27046	InstanceId *string `type:"string" required:"true"`
27047}
27048
27049// String returns the string representation
27050func (s UpdateManagedInstanceRoleInput) String() string {
27051	return awsutil.Prettify(s)
27052}
27053
27054// GoString returns the string representation
27055func (s UpdateManagedInstanceRoleInput) GoString() string {
27056	return s.String()
27057}
27058
27059// Validate inspects the fields of the type to determine if they are valid.
27060func (s *UpdateManagedInstanceRoleInput) Validate() error {
27061	invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"}
27062	if s.IamRole == nil {
27063		invalidParams.Add(request.NewErrParamRequired("IamRole"))
27064	}
27065	if s.InstanceId == nil {
27066		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
27067	}
27068
27069	if invalidParams.Len() > 0 {
27070		return invalidParams
27071	}
27072	return nil
27073}
27074
27075// SetIamRole sets the IamRole field's value.
27076func (s *UpdateManagedInstanceRoleInput) SetIamRole(v string) *UpdateManagedInstanceRoleInput {
27077	s.IamRole = &v
27078	return s
27079}
27080
27081// SetInstanceId sets the InstanceId field's value.
27082func (s *UpdateManagedInstanceRoleInput) SetInstanceId(v string) *UpdateManagedInstanceRoleInput {
27083	s.InstanceId = &v
27084	return s
27085}
27086
27087// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRoleResult
27088type UpdateManagedInstanceRoleOutput struct {
27089	_ struct{} `type:"structure"`
27090}
27091
27092// String returns the string representation
27093func (s UpdateManagedInstanceRoleOutput) String() string {
27094	return awsutil.Prettify(s)
27095}
27096
27097// GoString returns the string representation
27098func (s UpdateManagedInstanceRoleOutput) GoString() string {
27099	return s.String()
27100}
27101
27102// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaselineRequest
27103type UpdatePatchBaselineInput struct {
27104	_ struct{} `type:"structure"`
27105
27106	// A set of rules used to include patches in the baseline.
27107	ApprovalRules *PatchRuleGroup `type:"structure"`
27108
27109	// A list of explicitly approved patches for the baseline.
27110	ApprovedPatches []*string `type:"list"`
27111
27112	// Assigns a new compliance severity level to an existing patch baseline.
27113	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
27114
27115	// The ID of the patch baseline to update.
27116	//
27117	// BaselineId is a required field
27118	BaselineId *string `min:"20" type:"string" required:"true"`
27119
27120	// A description of the patch baseline.
27121	Description *string `min:"1" type:"string"`
27122
27123	// A set of global filters used to exclude patches from the baseline.
27124	GlobalFilters *PatchFilterGroup `type:"structure"`
27125
27126	// The name of the patch baseline.
27127	Name *string `min:"3" type:"string"`
27128
27129	// A list of explicitly rejected patches for the baseline.
27130	RejectedPatches []*string `type:"list"`
27131}
27132
27133// String returns the string representation
27134func (s UpdatePatchBaselineInput) String() string {
27135	return awsutil.Prettify(s)
27136}
27137
27138// GoString returns the string representation
27139func (s UpdatePatchBaselineInput) GoString() string {
27140	return s.String()
27141}
27142
27143// Validate inspects the fields of the type to determine if they are valid.
27144func (s *UpdatePatchBaselineInput) Validate() error {
27145	invalidParams := request.ErrInvalidParams{Context: "UpdatePatchBaselineInput"}
27146	if s.BaselineId == nil {
27147		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
27148	}
27149	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
27150		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
27151	}
27152	if s.Description != nil && len(*s.Description) < 1 {
27153		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
27154	}
27155	if s.Name != nil && len(*s.Name) < 3 {
27156		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
27157	}
27158	if s.ApprovalRules != nil {
27159		if err := s.ApprovalRules.Validate(); err != nil {
27160			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
27161		}
27162	}
27163	if s.GlobalFilters != nil {
27164		if err := s.GlobalFilters.Validate(); err != nil {
27165			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
27166		}
27167	}
27168
27169	if invalidParams.Len() > 0 {
27170		return invalidParams
27171	}
27172	return nil
27173}
27174
27175// SetApprovalRules sets the ApprovalRules field's value.
27176func (s *UpdatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineInput {
27177	s.ApprovalRules = v
27178	return s
27179}
27180
27181// SetApprovedPatches sets the ApprovedPatches field's value.
27182func (s *UpdatePatchBaselineInput) SetApprovedPatches(v []*string) *UpdatePatchBaselineInput {
27183	s.ApprovedPatches = v
27184	return s
27185}
27186
27187// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
27188func (s *UpdatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineInput {
27189	s.ApprovedPatchesComplianceLevel = &v
27190	return s
27191}
27192
27193// SetBaselineId sets the BaselineId field's value.
27194func (s *UpdatePatchBaselineInput) SetBaselineId(v string) *UpdatePatchBaselineInput {
27195	s.BaselineId = &v
27196	return s
27197}
27198
27199// SetDescription sets the Description field's value.
27200func (s *UpdatePatchBaselineInput) SetDescription(v string) *UpdatePatchBaselineInput {
27201	s.Description = &v
27202	return s
27203}
27204
27205// SetGlobalFilters sets the GlobalFilters field's value.
27206func (s *UpdatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineInput {
27207	s.GlobalFilters = v
27208	return s
27209}
27210
27211// SetName sets the Name field's value.
27212func (s *UpdatePatchBaselineInput) SetName(v string) *UpdatePatchBaselineInput {
27213	s.Name = &v
27214	return s
27215}
27216
27217// SetRejectedPatches sets the RejectedPatches field's value.
27218func (s *UpdatePatchBaselineInput) SetRejectedPatches(v []*string) *UpdatePatchBaselineInput {
27219	s.RejectedPatches = v
27220	return s
27221}
27222
27223// Please also see https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaselineResult
27224type UpdatePatchBaselineOutput struct {
27225	_ struct{} `type:"structure"`
27226
27227	// A set of rules used to include patches in the baseline.
27228	ApprovalRules *PatchRuleGroup `type:"structure"`
27229
27230	// A list of explicitly approved patches for the baseline.
27231	ApprovedPatches []*string `type:"list"`
27232
27233	// The compliance severity level assigned to the patch baseline after the update
27234	// completed.
27235	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
27236
27237	// The ID of the deleted patch baseline.
27238	BaselineId *string `min:"20" type:"string"`
27239
27240	// The date when the patch baseline was created.
27241	CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
27242
27243	// A description of the Patch Baseline.
27244	Description *string `min:"1" type:"string"`
27245
27246	// A set of global filters used to exclude patches from the baseline.
27247	GlobalFilters *PatchFilterGroup `type:"structure"`
27248
27249	// The date when the patch baseline was last modified.
27250	ModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"`
27251
27252	// The name of the patch baseline.
27253	Name *string `min:"3" type:"string"`
27254
27255	// The operating system rule used by the updated patch baseline.
27256	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
27257
27258	// A list of explicitly rejected patches for the baseline.
27259	RejectedPatches []*string `type:"list"`
27260}
27261
27262// String returns the string representation
27263func (s UpdatePatchBaselineOutput) String() string {
27264	return awsutil.Prettify(s)
27265}
27266
27267// GoString returns the string representation
27268func (s UpdatePatchBaselineOutput) GoString() string {
27269	return s.String()
27270}
27271
27272// SetApprovalRules sets the ApprovalRules field's value.
27273func (s *UpdatePatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineOutput {
27274	s.ApprovalRules = v
27275	return s
27276}
27277
27278// SetApprovedPatches sets the ApprovedPatches field's value.
27279func (s *UpdatePatchBaselineOutput) SetApprovedPatches(v []*string) *UpdatePatchBaselineOutput {
27280	s.ApprovedPatches = v
27281	return s
27282}
27283
27284// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
27285func (s *UpdatePatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineOutput {
27286	s.ApprovedPatchesComplianceLevel = &v
27287	return s
27288}
27289
27290// SetBaselineId sets the BaselineId field's value.
27291func (s *UpdatePatchBaselineOutput) SetBaselineId(v string) *UpdatePatchBaselineOutput {
27292	s.BaselineId = &v
27293	return s
27294}
27295
27296// SetCreatedDate sets the CreatedDate field's value.
27297func (s *UpdatePatchBaselineOutput) SetCreatedDate(v time.Time) *UpdatePatchBaselineOutput {
27298	s.CreatedDate = &v
27299	return s
27300}
27301
27302// SetDescription sets the Description field's value.
27303func (s *UpdatePatchBaselineOutput) SetDescription(v string) *UpdatePatchBaselineOutput {
27304	s.Description = &v
27305	return s
27306}
27307
27308// SetGlobalFilters sets the GlobalFilters field's value.
27309func (s *UpdatePatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineOutput {
27310	s.GlobalFilters = v
27311	return s
27312}
27313
27314// SetModifiedDate sets the ModifiedDate field's value.
27315func (s *UpdatePatchBaselineOutput) SetModifiedDate(v time.Time) *UpdatePatchBaselineOutput {
27316	s.ModifiedDate = &v
27317	return s
27318}
27319
27320// SetName sets the Name field's value.
27321func (s *UpdatePatchBaselineOutput) SetName(v string) *UpdatePatchBaselineOutput {
27322	s.Name = &v
27323	return s
27324}
27325
27326// SetOperatingSystem sets the OperatingSystem field's value.
27327func (s *UpdatePatchBaselineOutput) SetOperatingSystem(v string) *UpdatePatchBaselineOutput {
27328	s.OperatingSystem = &v
27329	return s
27330}
27331
27332// SetRejectedPatches sets the RejectedPatches field's value.
27333func (s *UpdatePatchBaselineOutput) SetRejectedPatches(v []*string) *UpdatePatchBaselineOutput {
27334	s.RejectedPatches = v
27335	return s
27336}
27337
27338const (
27339	// AssociationFilterKeyInstanceId is a AssociationFilterKey enum value
27340	AssociationFilterKeyInstanceId = "InstanceId"
27341
27342	// AssociationFilterKeyName is a AssociationFilterKey enum value
27343	AssociationFilterKeyName = "Name"
27344
27345	// AssociationFilterKeyAssociationId is a AssociationFilterKey enum value
27346	AssociationFilterKeyAssociationId = "AssociationId"
27347
27348	// AssociationFilterKeyAssociationStatusName is a AssociationFilterKey enum value
27349	AssociationFilterKeyAssociationStatusName = "AssociationStatusName"
27350
27351	// AssociationFilterKeyLastExecutedBefore is a AssociationFilterKey enum value
27352	AssociationFilterKeyLastExecutedBefore = "LastExecutedBefore"
27353
27354	// AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value
27355	AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter"
27356
27357	// AssociationFilterKeyAssociationName is a AssociationFilterKey enum value
27358	AssociationFilterKeyAssociationName = "AssociationName"
27359)
27360
27361const (
27362	// AssociationStatusNamePending is a AssociationStatusName enum value
27363	AssociationStatusNamePending = "Pending"
27364
27365	// AssociationStatusNameSuccess is a AssociationStatusName enum value
27366	AssociationStatusNameSuccess = "Success"
27367
27368	// AssociationStatusNameFailed is a AssociationStatusName enum value
27369	AssociationStatusNameFailed = "Failed"
27370)
27371
27372const (
27373	// AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value
27374	AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix"
27375
27376	// AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value
27377	AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus"
27378)
27379
27380const (
27381	// AutomationExecutionStatusPending is a AutomationExecutionStatus enum value
27382	AutomationExecutionStatusPending = "Pending"
27383
27384	// AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value
27385	AutomationExecutionStatusInProgress = "InProgress"
27386
27387	// AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value
27388	AutomationExecutionStatusWaiting = "Waiting"
27389
27390	// AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value
27391	AutomationExecutionStatusSuccess = "Success"
27392
27393	// AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value
27394	AutomationExecutionStatusTimedOut = "TimedOut"
27395
27396	// AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value
27397	AutomationExecutionStatusCancelled = "Cancelled"
27398
27399	// AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value
27400	AutomationExecutionStatusFailed = "Failed"
27401)
27402
27403const (
27404	// CommandFilterKeyInvokedAfter is a CommandFilterKey enum value
27405	CommandFilterKeyInvokedAfter = "InvokedAfter"
27406
27407	// CommandFilterKeyInvokedBefore is a CommandFilterKey enum value
27408	CommandFilterKeyInvokedBefore = "InvokedBefore"
27409
27410	// CommandFilterKeyStatus is a CommandFilterKey enum value
27411	CommandFilterKeyStatus = "Status"
27412)
27413
27414const (
27415	// CommandInvocationStatusPending is a CommandInvocationStatus enum value
27416	CommandInvocationStatusPending = "Pending"
27417
27418	// CommandInvocationStatusInProgress is a CommandInvocationStatus enum value
27419	CommandInvocationStatusInProgress = "InProgress"
27420
27421	// CommandInvocationStatusDelayed is a CommandInvocationStatus enum value
27422	CommandInvocationStatusDelayed = "Delayed"
27423
27424	// CommandInvocationStatusSuccess is a CommandInvocationStatus enum value
27425	CommandInvocationStatusSuccess = "Success"
27426
27427	// CommandInvocationStatusCancelled is a CommandInvocationStatus enum value
27428	CommandInvocationStatusCancelled = "Cancelled"
27429
27430	// CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value
27431	CommandInvocationStatusTimedOut = "TimedOut"
27432
27433	// CommandInvocationStatusFailed is a CommandInvocationStatus enum value
27434	CommandInvocationStatusFailed = "Failed"
27435
27436	// CommandInvocationStatusCancelling is a CommandInvocationStatus enum value
27437	CommandInvocationStatusCancelling = "Cancelling"
27438)
27439
27440const (
27441	// CommandPluginStatusPending is a CommandPluginStatus enum value
27442	CommandPluginStatusPending = "Pending"
27443
27444	// CommandPluginStatusInProgress is a CommandPluginStatus enum value
27445	CommandPluginStatusInProgress = "InProgress"
27446
27447	// CommandPluginStatusSuccess is a CommandPluginStatus enum value
27448	CommandPluginStatusSuccess = "Success"
27449
27450	// CommandPluginStatusTimedOut is a CommandPluginStatus enum value
27451	CommandPluginStatusTimedOut = "TimedOut"
27452
27453	// CommandPluginStatusCancelled is a CommandPluginStatus enum value
27454	CommandPluginStatusCancelled = "Cancelled"
27455
27456	// CommandPluginStatusFailed is a CommandPluginStatus enum value
27457	CommandPluginStatusFailed = "Failed"
27458)
27459
27460const (
27461	// CommandStatusPending is a CommandStatus enum value
27462	CommandStatusPending = "Pending"
27463
27464	// CommandStatusInProgress is a CommandStatus enum value
27465	CommandStatusInProgress = "InProgress"
27466
27467	// CommandStatusSuccess is a CommandStatus enum value
27468	CommandStatusSuccess = "Success"
27469
27470	// CommandStatusCancelled is a CommandStatus enum value
27471	CommandStatusCancelled = "Cancelled"
27472
27473	// CommandStatusFailed is a CommandStatus enum value
27474	CommandStatusFailed = "Failed"
27475
27476	// CommandStatusTimedOut is a CommandStatus enum value
27477	CommandStatusTimedOut = "TimedOut"
27478
27479	// CommandStatusCancelling is a CommandStatus enum value
27480	CommandStatusCancelling = "Cancelling"
27481)
27482
27483const (
27484	// ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value
27485	ComplianceQueryOperatorTypeEqual = "EQUAL"
27486
27487	// ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value
27488	ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL"
27489
27490	// ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value
27491	ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH"
27492
27493	// ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value
27494	ComplianceQueryOperatorTypeLessThan = "LESS_THAN"
27495
27496	// ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value
27497	ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN"
27498)
27499
27500const (
27501	// ComplianceSeverityCritical is a ComplianceSeverity enum value
27502	ComplianceSeverityCritical = "CRITICAL"
27503
27504	// ComplianceSeverityHigh is a ComplianceSeverity enum value
27505	ComplianceSeverityHigh = "HIGH"
27506
27507	// ComplianceSeverityMedium is a ComplianceSeverity enum value
27508	ComplianceSeverityMedium = "MEDIUM"
27509
27510	// ComplianceSeverityLow is a ComplianceSeverity enum value
27511	ComplianceSeverityLow = "LOW"
27512
27513	// ComplianceSeverityInformational is a ComplianceSeverity enum value
27514	ComplianceSeverityInformational = "INFORMATIONAL"
27515
27516	// ComplianceSeverityUnspecified is a ComplianceSeverity enum value
27517	ComplianceSeverityUnspecified = "UNSPECIFIED"
27518)
27519
27520const (
27521	// ComplianceStatusCompliant is a ComplianceStatus enum value
27522	ComplianceStatusCompliant = "COMPLIANT"
27523
27524	// ComplianceStatusNonCompliant is a ComplianceStatus enum value
27525	ComplianceStatusNonCompliant = "NON_COMPLIANT"
27526)
27527
27528const (
27529	// DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value
27530	DescribeActivationsFilterKeysActivationIds = "ActivationIds"
27531
27532	// DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value
27533	DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName"
27534
27535	// DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value
27536	DescribeActivationsFilterKeysIamRole = "IamRole"
27537)
27538
27539const (
27540	// DocumentFilterKeyName is a DocumentFilterKey enum value
27541	DocumentFilterKeyName = "Name"
27542
27543	// DocumentFilterKeyOwner is a DocumentFilterKey enum value
27544	DocumentFilterKeyOwner = "Owner"
27545
27546	// DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value
27547	DocumentFilterKeyPlatformTypes = "PlatformTypes"
27548
27549	// DocumentFilterKeyDocumentType is a DocumentFilterKey enum value
27550	DocumentFilterKeyDocumentType = "DocumentType"
27551)
27552
27553const (
27554	// DocumentHashTypeSha256 is a DocumentHashType enum value
27555	DocumentHashTypeSha256 = "Sha256"
27556
27557	// DocumentHashTypeSha1 is a DocumentHashType enum value
27558	DocumentHashTypeSha1 = "Sha1"
27559)
27560
27561const (
27562	// DocumentParameterTypeString is a DocumentParameterType enum value
27563	DocumentParameterTypeString = "String"
27564
27565	// DocumentParameterTypeStringList is a DocumentParameterType enum value
27566	DocumentParameterTypeStringList = "StringList"
27567)
27568
27569const (
27570	// DocumentPermissionTypeShare is a DocumentPermissionType enum value
27571	DocumentPermissionTypeShare = "Share"
27572)
27573
27574const (
27575	// DocumentStatusCreating is a DocumentStatus enum value
27576	DocumentStatusCreating = "Creating"
27577
27578	// DocumentStatusActive is a DocumentStatus enum value
27579	DocumentStatusActive = "Active"
27580
27581	// DocumentStatusUpdating is a DocumentStatus enum value
27582	DocumentStatusUpdating = "Updating"
27583
27584	// DocumentStatusDeleting is a DocumentStatus enum value
27585	DocumentStatusDeleting = "Deleting"
27586)
27587
27588const (
27589	// DocumentTypeCommand is a DocumentType enum value
27590	DocumentTypeCommand = "Command"
27591
27592	// DocumentTypePolicy is a DocumentType enum value
27593	DocumentTypePolicy = "Policy"
27594
27595	// DocumentTypeAutomation is a DocumentType enum value
27596	DocumentTypeAutomation = "Automation"
27597)
27598
27599const (
27600	// FaultClient is a Fault enum value
27601	FaultClient = "Client"
27602
27603	// FaultServer is a Fault enum value
27604	FaultServer = "Server"
27605
27606	// FaultUnknown is a Fault enum value
27607	FaultUnknown = "Unknown"
27608)
27609
27610const (
27611	// InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value
27612	InstanceInformationFilterKeyInstanceIds = "InstanceIds"
27613
27614	// InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value
27615	InstanceInformationFilterKeyAgentVersion = "AgentVersion"
27616
27617	// InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value
27618	InstanceInformationFilterKeyPingStatus = "PingStatus"
27619
27620	// InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value
27621	InstanceInformationFilterKeyPlatformTypes = "PlatformTypes"
27622
27623	// InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value
27624	InstanceInformationFilterKeyActivationIds = "ActivationIds"
27625
27626	// InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value
27627	InstanceInformationFilterKeyIamRole = "IamRole"
27628
27629	// InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value
27630	InstanceInformationFilterKeyResourceType = "ResourceType"
27631
27632	// InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value
27633	InstanceInformationFilterKeyAssociationStatus = "AssociationStatus"
27634)
27635
27636const (
27637	// InstancePatchStateOperatorTypeEqual is a InstancePatchStateOperatorType enum value
27638	InstancePatchStateOperatorTypeEqual = "Equal"
27639
27640	// InstancePatchStateOperatorTypeNotEqual is a InstancePatchStateOperatorType enum value
27641	InstancePatchStateOperatorTypeNotEqual = "NotEqual"
27642
27643	// InstancePatchStateOperatorTypeLessThan is a InstancePatchStateOperatorType enum value
27644	InstancePatchStateOperatorTypeLessThan = "LessThan"
27645
27646	// InstancePatchStateOperatorTypeGreaterThan is a InstancePatchStateOperatorType enum value
27647	InstancePatchStateOperatorTypeGreaterThan = "GreaterThan"
27648)
27649
27650const (
27651	// InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value
27652	InventoryAttributeDataTypeString = "string"
27653
27654	// InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value
27655	InventoryAttributeDataTypeNumber = "number"
27656)
27657
27658const (
27659	// InventoryQueryOperatorTypeEqual is a InventoryQueryOperatorType enum value
27660	InventoryQueryOperatorTypeEqual = "Equal"
27661
27662	// InventoryQueryOperatorTypeNotEqual is a InventoryQueryOperatorType enum value
27663	InventoryQueryOperatorTypeNotEqual = "NotEqual"
27664
27665	// InventoryQueryOperatorTypeBeginWith is a InventoryQueryOperatorType enum value
27666	InventoryQueryOperatorTypeBeginWith = "BeginWith"
27667
27668	// InventoryQueryOperatorTypeLessThan is a InventoryQueryOperatorType enum value
27669	InventoryQueryOperatorTypeLessThan = "LessThan"
27670
27671	// InventoryQueryOperatorTypeGreaterThan is a InventoryQueryOperatorType enum value
27672	InventoryQueryOperatorTypeGreaterThan = "GreaterThan"
27673)
27674
27675const (
27676	// LastResourceDataSyncStatusSuccessful is a LastResourceDataSyncStatus enum value
27677	LastResourceDataSyncStatusSuccessful = "Successful"
27678
27679	// LastResourceDataSyncStatusFailed is a LastResourceDataSyncStatus enum value
27680	LastResourceDataSyncStatusFailed = "Failed"
27681
27682	// LastResourceDataSyncStatusInProgress is a LastResourceDataSyncStatus enum value
27683	LastResourceDataSyncStatusInProgress = "InProgress"
27684)
27685
27686const (
27687	// MaintenanceWindowExecutionStatusPending is a MaintenanceWindowExecutionStatus enum value
27688	MaintenanceWindowExecutionStatusPending = "PENDING"
27689
27690	// MaintenanceWindowExecutionStatusInProgress is a MaintenanceWindowExecutionStatus enum value
27691	MaintenanceWindowExecutionStatusInProgress = "IN_PROGRESS"
27692
27693	// MaintenanceWindowExecutionStatusSuccess is a MaintenanceWindowExecutionStatus enum value
27694	MaintenanceWindowExecutionStatusSuccess = "SUCCESS"
27695
27696	// MaintenanceWindowExecutionStatusFailed is a MaintenanceWindowExecutionStatus enum value
27697	MaintenanceWindowExecutionStatusFailed = "FAILED"
27698
27699	// MaintenanceWindowExecutionStatusTimedOut is a MaintenanceWindowExecutionStatus enum value
27700	MaintenanceWindowExecutionStatusTimedOut = "TIMED_OUT"
27701
27702	// MaintenanceWindowExecutionStatusCancelling is a MaintenanceWindowExecutionStatus enum value
27703	MaintenanceWindowExecutionStatusCancelling = "CANCELLING"
27704
27705	// MaintenanceWindowExecutionStatusCancelled is a MaintenanceWindowExecutionStatus enum value
27706	MaintenanceWindowExecutionStatusCancelled = "CANCELLED"
27707
27708	// MaintenanceWindowExecutionStatusSkippedOverlapping is a MaintenanceWindowExecutionStatus enum value
27709	MaintenanceWindowExecutionStatusSkippedOverlapping = "SKIPPED_OVERLAPPING"
27710)
27711
27712const (
27713	// MaintenanceWindowResourceTypeInstance is a MaintenanceWindowResourceType enum value
27714	MaintenanceWindowResourceTypeInstance = "INSTANCE"
27715)
27716
27717const (
27718	// MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value
27719	MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND"
27720
27721	// MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value
27722	MaintenanceWindowTaskTypeAutomation = "AUTOMATION"
27723
27724	// MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value
27725	MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS"
27726
27727	// MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value
27728	MaintenanceWindowTaskTypeLambda = "LAMBDA"
27729)
27730
27731const (
27732	// NotificationEventAll is a NotificationEvent enum value
27733	NotificationEventAll = "All"
27734
27735	// NotificationEventInProgress is a NotificationEvent enum value
27736	NotificationEventInProgress = "InProgress"
27737
27738	// NotificationEventSuccess is a NotificationEvent enum value
27739	NotificationEventSuccess = "Success"
27740
27741	// NotificationEventTimedOut is a NotificationEvent enum value
27742	NotificationEventTimedOut = "TimedOut"
27743
27744	// NotificationEventCancelled is a NotificationEvent enum value
27745	NotificationEventCancelled = "Cancelled"
27746
27747	// NotificationEventFailed is a NotificationEvent enum value
27748	NotificationEventFailed = "Failed"
27749)
27750
27751const (
27752	// NotificationTypeCommand is a NotificationType enum value
27753	NotificationTypeCommand = "Command"
27754
27755	// NotificationTypeInvocation is a NotificationType enum value
27756	NotificationTypeInvocation = "Invocation"
27757)
27758
27759const (
27760	// OperatingSystemWindows is a OperatingSystem enum value
27761	OperatingSystemWindows = "WINDOWS"
27762
27763	// OperatingSystemAmazonLinux is a OperatingSystem enum value
27764	OperatingSystemAmazonLinux = "AMAZON_LINUX"
27765
27766	// OperatingSystemUbuntu is a OperatingSystem enum value
27767	OperatingSystemUbuntu = "UBUNTU"
27768
27769	// OperatingSystemRedhatEnterpriseLinux is a OperatingSystem enum value
27770	OperatingSystemRedhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX"
27771)
27772
27773const (
27774	// ParameterTypeString is a ParameterType enum value
27775	ParameterTypeString = "String"
27776
27777	// ParameterTypeStringList is a ParameterType enum value
27778	ParameterTypeStringList = "StringList"
27779
27780	// ParameterTypeSecureString is a ParameterType enum value
27781	ParameterTypeSecureString = "SecureString"
27782)
27783
27784const (
27785	// ParametersFilterKeyName is a ParametersFilterKey enum value
27786	ParametersFilterKeyName = "Name"
27787
27788	// ParametersFilterKeyType is a ParametersFilterKey enum value
27789	ParametersFilterKeyType = "Type"
27790
27791	// ParametersFilterKeyKeyId is a ParametersFilterKey enum value
27792	ParametersFilterKeyKeyId = "KeyId"
27793)
27794
27795const (
27796	// PatchComplianceDataStateInstalled is a PatchComplianceDataState enum value
27797	PatchComplianceDataStateInstalled = "INSTALLED"
27798
27799	// PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value
27800	PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER"
27801
27802	// PatchComplianceDataStateMissing is a PatchComplianceDataState enum value
27803	PatchComplianceDataStateMissing = "MISSING"
27804
27805	// PatchComplianceDataStateNotApplicable is a PatchComplianceDataState enum value
27806	PatchComplianceDataStateNotApplicable = "NOT_APPLICABLE"
27807
27808	// PatchComplianceDataStateFailed is a PatchComplianceDataState enum value
27809	PatchComplianceDataStateFailed = "FAILED"
27810)
27811
27812const (
27813	// PatchComplianceLevelCritical is a PatchComplianceLevel enum value
27814	PatchComplianceLevelCritical = "CRITICAL"
27815
27816	// PatchComplianceLevelHigh is a PatchComplianceLevel enum value
27817	PatchComplianceLevelHigh = "HIGH"
27818
27819	// PatchComplianceLevelMedium is a PatchComplianceLevel enum value
27820	PatchComplianceLevelMedium = "MEDIUM"
27821
27822	// PatchComplianceLevelLow is a PatchComplianceLevel enum value
27823	PatchComplianceLevelLow = "LOW"
27824
27825	// PatchComplianceLevelInformational is a PatchComplianceLevel enum value
27826	PatchComplianceLevelInformational = "INFORMATIONAL"
27827
27828	// PatchComplianceLevelUnspecified is a PatchComplianceLevel enum value
27829	PatchComplianceLevelUnspecified = "UNSPECIFIED"
27830)
27831
27832const (
27833	// PatchDeploymentStatusApproved is a PatchDeploymentStatus enum value
27834	PatchDeploymentStatusApproved = "APPROVED"
27835
27836	// PatchDeploymentStatusPendingApproval is a PatchDeploymentStatus enum value
27837	PatchDeploymentStatusPendingApproval = "PENDING_APPROVAL"
27838
27839	// PatchDeploymentStatusExplicitApproved is a PatchDeploymentStatus enum value
27840	PatchDeploymentStatusExplicitApproved = "EXPLICIT_APPROVED"
27841
27842	// PatchDeploymentStatusExplicitRejected is a PatchDeploymentStatus enum value
27843	PatchDeploymentStatusExplicitRejected = "EXPLICIT_REJECTED"
27844)
27845
27846const (
27847	// PatchFilterKeyProduct is a PatchFilterKey enum value
27848	PatchFilterKeyProduct = "PRODUCT"
27849
27850	// PatchFilterKeyClassification is a PatchFilterKey enum value
27851	PatchFilterKeyClassification = "CLASSIFICATION"
27852
27853	// PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value
27854	PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY"
27855
27856	// PatchFilterKeyPatchId is a PatchFilterKey enum value
27857	PatchFilterKeyPatchId = "PATCH_ID"
27858
27859	// PatchFilterKeySection is a PatchFilterKey enum value
27860	PatchFilterKeySection = "SECTION"
27861
27862	// PatchFilterKeyPriority is a PatchFilterKey enum value
27863	PatchFilterKeyPriority = "PRIORITY"
27864
27865	// PatchFilterKeySeverity is a PatchFilterKey enum value
27866	PatchFilterKeySeverity = "SEVERITY"
27867)
27868
27869const (
27870	// PatchOperationTypeScan is a PatchOperationType enum value
27871	PatchOperationTypeScan = "Scan"
27872
27873	// PatchOperationTypeInstall is a PatchOperationType enum value
27874	PatchOperationTypeInstall = "Install"
27875)
27876
27877const (
27878	// PingStatusOnline is a PingStatus enum value
27879	PingStatusOnline = "Online"
27880
27881	// PingStatusConnectionLost is a PingStatus enum value
27882	PingStatusConnectionLost = "ConnectionLost"
27883
27884	// PingStatusInactive is a PingStatus enum value
27885	PingStatusInactive = "Inactive"
27886)
27887
27888const (
27889	// PlatformTypeWindows is a PlatformType enum value
27890	PlatformTypeWindows = "Windows"
27891
27892	// PlatformTypeLinux is a PlatformType enum value
27893	PlatformTypeLinux = "Linux"
27894)
27895
27896const (
27897	// ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value
27898	ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe"
27899)
27900
27901const (
27902	// ResourceTypeManagedInstance is a ResourceType enum value
27903	ResourceTypeManagedInstance = "ManagedInstance"
27904
27905	// ResourceTypeDocument is a ResourceType enum value
27906	ResourceTypeDocument = "Document"
27907
27908	// ResourceTypeEc2instance is a ResourceType enum value
27909	ResourceTypeEc2instance = "EC2Instance"
27910)
27911
27912const (
27913	// ResourceTypeForTaggingDocument is a ResourceTypeForTagging enum value
27914	ResourceTypeForTaggingDocument = "Document"
27915
27916	// ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value
27917	ResourceTypeForTaggingManagedInstance = "ManagedInstance"
27918
27919	// ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value
27920	ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow"
27921
27922	// ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value
27923	ResourceTypeForTaggingParameter = "Parameter"
27924
27925	// ResourceTypeForTaggingPatchBaseline is a ResourceTypeForTagging enum value
27926	ResourceTypeForTaggingPatchBaseline = "PatchBaseline"
27927)
27928
27929const (
27930	// SignalTypeApprove is a SignalType enum value
27931	SignalTypeApprove = "Approve"
27932
27933	// SignalTypeReject is a SignalType enum value
27934	SignalTypeReject = "Reject"
27935)
27936