1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ssm
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAddTagsToResource = "AddTagsToResource"
17
18// AddTagsToResourceRequest generates a "aws/request.Request" representing the
19// client's request for the AddTagsToResource operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AddTagsToResource for more information on using the AddTagsToResource
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AddTagsToResourceRequest method.
34//    req, resp := client.AddTagsToResourceRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
42func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
43	op := &request.Operation{
44		Name:       opAddTagsToResource,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddTagsToResourceInput{}
51	}
52
53	output = &AddTagsToResourceOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddTagsToResource API operation for Amazon Simple Systems Manager (SSM).
60//
61// Adds or overwrites one or more tags for the specified resource. Tags are
62// metadata that you can assign to your documents, managed instances, maintenance
63// windows, Parameter Store parameters, and patch baselines. Tags enable you
64// to categorize your resources in different ways, for example, by purpose,
65// owner, or environment. Each tag consists of a key and an optional value,
66// both of which you define. For example, you could define a set of tags for
67// your account's managed instances that helps you track each instance's owner
68// and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev.
69// Or Key=Stack and Value=Production, Pre-Production, or Test.
70//
71// Each resource can have a maximum of 50 tags.
72//
73// We recommend that you devise a set of tag keys that meets your needs for
74// each resource type. Using a consistent set of tag keys makes it easier for
75// you to manage your resources. You can search and filter the resources based
76// on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and
77// are interpreted strictly as a string of characters.
78//
79// For more information about tags, see Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
80// in the Amazon EC2 User Guide.
81//
82// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
83// with awserr.Error's Code and Message methods to get detailed information about
84// the error.
85//
86// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
87// API operation AddTagsToResource for usage and error information.
88//
89// Returned Error Codes:
90//   * ErrCodeInvalidResourceType "InvalidResourceType"
91//   The resource type is not valid. For example, if you are attempting to tag
92//   an instance, the instance must be a registered, managed instance.
93//
94//   * ErrCodeInvalidResourceId "InvalidResourceId"
95//   The resource ID is not valid. Verify that you entered the correct ID and
96//   try again.
97//
98//   * ErrCodeInternalServerError "InternalServerError"
99//   An error occurred on the server side.
100//
101//   * ErrCodeTooManyTagsError "TooManyTagsError"
102//   The Targets parameter includes too many tags. Remove one or more tags and
103//   try the command again.
104//
105//   * ErrCodeTooManyUpdates "TooManyUpdates"
106//   There are concurrent updates for a resource that supports one update at a
107//   time.
108//
109// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
110func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
111	req, out := c.AddTagsToResourceRequest(input)
112	return out, req.Send()
113}
114
115// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
116// the ability to pass a context and additional request options.
117//
118// See AddTagsToResource for details on how to use this API operation.
119//
120// The context must be non-nil and will be used for request cancellation. If
121// the context is nil a panic will occur. In the future the SDK may create
122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
123// for more information on using Contexts.
124func (c *SSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
125	req, out := c.AddTagsToResourceRequest(input)
126	req.SetContext(ctx)
127	req.ApplyOptions(opts...)
128	return out, req.Send()
129}
130
131const opCancelCommand = "CancelCommand"
132
133// CancelCommandRequest generates a "aws/request.Request" representing the
134// client's request for the CancelCommand operation. The "output" return
135// value will be populated with the request's response once the request completes
136// successfully.
137//
138// Use "Send" method on the returned Request to send the API call to the service.
139// the "output" return value is not valid until after Send returns without error.
140//
141// See CancelCommand for more information on using the CancelCommand
142// API call, and error handling.
143//
144// This method is useful when you want to inject custom logic or configuration
145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
146//
147//
148//    // Example sending a request using the CancelCommandRequest method.
149//    req, resp := client.CancelCommandRequest(params)
150//
151//    err := req.Send()
152//    if err == nil { // resp is now filled
153//        fmt.Println(resp)
154//    }
155//
156// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
157func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) {
158	op := &request.Operation{
159		Name:       opCancelCommand,
160		HTTPMethod: "POST",
161		HTTPPath:   "/",
162	}
163
164	if input == nil {
165		input = &CancelCommandInput{}
166	}
167
168	output = &CancelCommandOutput{}
169	req = c.newRequest(op, input, output)
170	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
171	return
172}
173
174// CancelCommand API operation for Amazon Simple Systems Manager (SSM).
175//
176// Attempts to cancel the command specified by the Command ID. There is no guarantee
177// that the command will be terminated and the underlying process stopped.
178//
179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
180// with awserr.Error's Code and Message methods to get detailed information about
181// the error.
182//
183// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
184// API operation CancelCommand for usage and error information.
185//
186// Returned Error Codes:
187//   * ErrCodeInternalServerError "InternalServerError"
188//   An error occurred on the server side.
189//
190//   * ErrCodeInvalidCommandId "InvalidCommandId"
191//
192//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
193//   The following problems can cause this exception:
194//
195//   You do not have permission to access the instance.
196//
197//   SSM Agent is not running. Verify that SSM Agent is running.
198//
199//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
200//
201//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
202//   Stopping. Invalid states are: Shutting-down and Terminated.
203//
204//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
205//   You cannot specify an instance ID in more than one association.
206//
207// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
208func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) {
209	req, out := c.CancelCommandRequest(input)
210	return out, req.Send()
211}
212
213// CancelCommandWithContext is the same as CancelCommand with the addition of
214// the ability to pass a context and additional request options.
215//
216// See CancelCommand for details on how to use this API operation.
217//
218// The context must be non-nil and will be used for request cancellation. If
219// the context is nil a panic will occur. In the future the SDK may create
220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
221// for more information on using Contexts.
222func (c *SSM) CancelCommandWithContext(ctx aws.Context, input *CancelCommandInput, opts ...request.Option) (*CancelCommandOutput, error) {
223	req, out := c.CancelCommandRequest(input)
224	req.SetContext(ctx)
225	req.ApplyOptions(opts...)
226	return out, req.Send()
227}
228
229const opCancelMaintenanceWindowExecution = "CancelMaintenanceWindowExecution"
230
231// CancelMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
232// client's request for the CancelMaintenanceWindowExecution operation. The "output" return
233// value will be populated with the request's response once the request completes
234// successfully.
235//
236// Use "Send" method on the returned Request to send the API call to the service.
237// the "output" return value is not valid until after Send returns without error.
238//
239// See CancelMaintenanceWindowExecution for more information on using the CancelMaintenanceWindowExecution
240// API call, and error handling.
241//
242// This method is useful when you want to inject custom logic or configuration
243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
244//
245//
246//    // Example sending a request using the CancelMaintenanceWindowExecutionRequest method.
247//    req, resp := client.CancelMaintenanceWindowExecutionRequest(params)
248//
249//    err := req.Send()
250//    if err == nil { // resp is now filled
251//        fmt.Println(resp)
252//    }
253//
254// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
255func (c *SSM) CancelMaintenanceWindowExecutionRequest(input *CancelMaintenanceWindowExecutionInput) (req *request.Request, output *CancelMaintenanceWindowExecutionOutput) {
256	op := &request.Operation{
257		Name:       opCancelMaintenanceWindowExecution,
258		HTTPMethod: "POST",
259		HTTPPath:   "/",
260	}
261
262	if input == nil {
263		input = &CancelMaintenanceWindowExecutionInput{}
264	}
265
266	output = &CancelMaintenanceWindowExecutionOutput{}
267	req = c.newRequest(op, input, output)
268	return
269}
270
271// CancelMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
272//
273// Stops a maintenance window execution that is already in progress and cancels
274// any tasks in the window that have not already starting running. (Tasks already
275// in progress will continue to completion.)
276//
277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
278// with awserr.Error's Code and Message methods to get detailed information about
279// the error.
280//
281// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
282// API operation CancelMaintenanceWindowExecution for usage and error information.
283//
284// Returned Error Codes:
285//   * ErrCodeInternalServerError "InternalServerError"
286//   An error occurred on the server side.
287//
288//   * ErrCodeDoesNotExistException "DoesNotExistException"
289//   Error returned when the ID specified for a resource, such as a maintenance
290//   window or Patch baseline, doesn't exist.
291//
292//   For information about resource limits in Systems Manager, see AWS Systems
293//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
294//
295// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
296func (c *SSM) CancelMaintenanceWindowExecution(input *CancelMaintenanceWindowExecutionInput) (*CancelMaintenanceWindowExecutionOutput, error) {
297	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
298	return out, req.Send()
299}
300
301// CancelMaintenanceWindowExecutionWithContext is the same as CancelMaintenanceWindowExecution with the addition of
302// the ability to pass a context and additional request options.
303//
304// See CancelMaintenanceWindowExecution for details on how to use this API operation.
305//
306// The context must be non-nil and will be used for request cancellation. If
307// the context is nil a panic will occur. In the future the SDK may create
308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
309// for more information on using Contexts.
310func (c *SSM) CancelMaintenanceWindowExecutionWithContext(ctx aws.Context, input *CancelMaintenanceWindowExecutionInput, opts ...request.Option) (*CancelMaintenanceWindowExecutionOutput, error) {
311	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
312	req.SetContext(ctx)
313	req.ApplyOptions(opts...)
314	return out, req.Send()
315}
316
317const opCreateActivation = "CreateActivation"
318
319// CreateActivationRequest generates a "aws/request.Request" representing the
320// client's request for the CreateActivation operation. The "output" return
321// value will be populated with the request's response once the request completes
322// successfully.
323//
324// Use "Send" method on the returned Request to send the API call to the service.
325// the "output" return value is not valid until after Send returns without error.
326//
327// See CreateActivation for more information on using the CreateActivation
328// API call, and error handling.
329//
330// This method is useful when you want to inject custom logic or configuration
331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
332//
333//
334//    // Example sending a request using the CreateActivationRequest method.
335//    req, resp := client.CreateActivationRequest(params)
336//
337//    err := req.Send()
338//    if err == nil { // resp is now filled
339//        fmt.Println(resp)
340//    }
341//
342// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
343func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) {
344	op := &request.Operation{
345		Name:       opCreateActivation,
346		HTTPMethod: "POST",
347		HTTPPath:   "/",
348	}
349
350	if input == nil {
351		input = &CreateActivationInput{}
352	}
353
354	output = &CreateActivationOutput{}
355	req = c.newRequest(op, input, output)
356	return
357}
358
359// CreateActivation API operation for Amazon Simple Systems Manager (SSM).
360//
361// Registers your on-premises server or virtual machine with Amazon EC2 so that
362// you can manage these resources using Run Command. An on-premises server or
363// virtual machine that has been registered with EC2 is called a managed instance.
364// For more information about activations, see Setting Up AWS Systems Manager
365// for Hybrid Environments (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html).
366//
367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
368// with awserr.Error's Code and Message methods to get detailed information about
369// the error.
370//
371// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
372// API operation CreateActivation for usage and error information.
373//
374// Returned Error Codes:
375//   * ErrCodeInternalServerError "InternalServerError"
376//   An error occurred on the server side.
377//
378// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
379func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) {
380	req, out := c.CreateActivationRequest(input)
381	return out, req.Send()
382}
383
384// CreateActivationWithContext is the same as CreateActivation with the addition of
385// the ability to pass a context and additional request options.
386//
387// See CreateActivation for details on how to use this API operation.
388//
389// The context must be non-nil and will be used for request cancellation. If
390// the context is nil a panic will occur. In the future the SDK may create
391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
392// for more information on using Contexts.
393func (c *SSM) CreateActivationWithContext(ctx aws.Context, input *CreateActivationInput, opts ...request.Option) (*CreateActivationOutput, error) {
394	req, out := c.CreateActivationRequest(input)
395	req.SetContext(ctx)
396	req.ApplyOptions(opts...)
397	return out, req.Send()
398}
399
400const opCreateAssociation = "CreateAssociation"
401
402// CreateAssociationRequest generates a "aws/request.Request" representing the
403// client's request for the CreateAssociation operation. The "output" return
404// value will be populated with the request's response once the request completes
405// successfully.
406//
407// Use "Send" method on the returned Request to send the API call to the service.
408// the "output" return value is not valid until after Send returns without error.
409//
410// See CreateAssociation for more information on using the CreateAssociation
411// API call, and error handling.
412//
413// This method is useful when you want to inject custom logic or configuration
414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
415//
416//
417//    // Example sending a request using the CreateAssociationRequest method.
418//    req, resp := client.CreateAssociationRequest(params)
419//
420//    err := req.Send()
421//    if err == nil { // resp is now filled
422//        fmt.Println(resp)
423//    }
424//
425// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
426func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) {
427	op := &request.Operation{
428		Name:       opCreateAssociation,
429		HTTPMethod: "POST",
430		HTTPPath:   "/",
431	}
432
433	if input == nil {
434		input = &CreateAssociationInput{}
435	}
436
437	output = &CreateAssociationOutput{}
438	req = c.newRequest(op, input, output)
439	return
440}
441
442// CreateAssociation API operation for Amazon Simple Systems Manager (SSM).
443//
444// Associates the specified Systems Manager document with the specified instances
445// or targets.
446//
447// When you associate a document with one or more instances using instance IDs
448// or tags, SSM Agent running on the instance processes the document and configures
449// the instance as specified.
450//
451// If you associate a document with an instance that already has an associated
452// document, the system returns the AssociationAlreadyExists exception.
453//
454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
455// with awserr.Error's Code and Message methods to get detailed information about
456// the error.
457//
458// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
459// API operation CreateAssociation for usage and error information.
460//
461// Returned Error Codes:
462//   * ErrCodeAssociationAlreadyExists "AssociationAlreadyExists"
463//   The specified association already exists.
464//
465//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
466//   You can have at most 2,000 active associations.
467//
468//   * ErrCodeInternalServerError "InternalServerError"
469//   An error occurred on the server side.
470//
471//   * ErrCodeInvalidDocument "InvalidDocument"
472//   The specified document does not exist.
473//
474//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
475//   The document version is not valid or does not exist.
476//
477//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
478//   The following problems can cause this exception:
479//
480//   You do not have permission to access the instance.
481//
482//   SSM Agent is not running. Verify that SSM Agent is running.
483//
484//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
485//
486//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
487//   Stopping. Invalid states are: Shutting-down and Terminated.
488//
489//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
490//   The document does not support the platform type of the given instance ID(s).
491//   For example, you sent an document for a Windows instance to a Linux instance.
492//
493//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
494//   The output location is not valid or does not exist.
495//
496//   * ErrCodeInvalidParameters "InvalidParameters"
497//   You must specify values for all required parameters in the Systems Manager
498//   document. You can only supply values to parameters defined in the Systems
499//   Manager document.
500//
501//   * ErrCodeInvalidTarget "InvalidTarget"
502//   The target is not valid or does not exist. It might not be configured for
503//   EC2 Systems Manager or you might not have permission to perform the operation.
504//
505//   * ErrCodeInvalidSchedule "InvalidSchedule"
506//   The schedule is invalid. Verify your cron or rate expression and try again.
507//
508// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
509func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) {
510	req, out := c.CreateAssociationRequest(input)
511	return out, req.Send()
512}
513
514// CreateAssociationWithContext is the same as CreateAssociation with the addition of
515// the ability to pass a context and additional request options.
516//
517// See CreateAssociation for details on how to use this API operation.
518//
519// The context must be non-nil and will be used for request cancellation. If
520// the context is nil a panic will occur. In the future the SDK may create
521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
522// for more information on using Contexts.
523func (c *SSM) CreateAssociationWithContext(ctx aws.Context, input *CreateAssociationInput, opts ...request.Option) (*CreateAssociationOutput, error) {
524	req, out := c.CreateAssociationRequest(input)
525	req.SetContext(ctx)
526	req.ApplyOptions(opts...)
527	return out, req.Send()
528}
529
530const opCreateAssociationBatch = "CreateAssociationBatch"
531
532// CreateAssociationBatchRequest generates a "aws/request.Request" representing the
533// client's request for the CreateAssociationBatch operation. The "output" return
534// value will be populated with the request's response once the request completes
535// successfully.
536//
537// Use "Send" method on the returned Request to send the API call to the service.
538// the "output" return value is not valid until after Send returns without error.
539//
540// See CreateAssociationBatch for more information on using the CreateAssociationBatch
541// API call, and error handling.
542//
543// This method is useful when you want to inject custom logic or configuration
544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
545//
546//
547//    // Example sending a request using the CreateAssociationBatchRequest method.
548//    req, resp := client.CreateAssociationBatchRequest(params)
549//
550//    err := req.Send()
551//    if err == nil { // resp is now filled
552//        fmt.Println(resp)
553//    }
554//
555// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
556func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) {
557	op := &request.Operation{
558		Name:       opCreateAssociationBatch,
559		HTTPMethod: "POST",
560		HTTPPath:   "/",
561	}
562
563	if input == nil {
564		input = &CreateAssociationBatchInput{}
565	}
566
567	output = &CreateAssociationBatchOutput{}
568	req = c.newRequest(op, input, output)
569	return
570}
571
572// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM).
573//
574// Associates the specified Systems Manager document with the specified instances
575// or targets.
576//
577// When you associate a document with one or more instances using instance IDs
578// or tags, SSM Agent running on the instance processes the document and configures
579// the instance as specified.
580//
581// If you associate a document with an instance that already has an associated
582// document, the system returns the AssociationAlreadyExists exception.
583//
584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
585// with awserr.Error's Code and Message methods to get detailed information about
586// the error.
587//
588// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
589// API operation CreateAssociationBatch for usage and error information.
590//
591// Returned Error Codes:
592//   * ErrCodeInternalServerError "InternalServerError"
593//   An error occurred on the server side.
594//
595//   * ErrCodeInvalidDocument "InvalidDocument"
596//   The specified document does not exist.
597//
598//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
599//   The document version is not valid or does not exist.
600//
601//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
602//   The following problems can cause this exception:
603//
604//   You do not have permission to access the instance.
605//
606//   SSM Agent is not running. Verify that SSM Agent is running.
607//
608//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
609//
610//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
611//   Stopping. Invalid states are: Shutting-down and Terminated.
612//
613//   * ErrCodeInvalidParameters "InvalidParameters"
614//   You must specify values for all required parameters in the Systems Manager
615//   document. You can only supply values to parameters defined in the Systems
616//   Manager document.
617//
618//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
619//   You cannot specify an instance ID in more than one association.
620//
621//   * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded"
622//   You can have at most 2,000 active associations.
623//
624//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
625//   The document does not support the platform type of the given instance ID(s).
626//   For example, you sent an document for a Windows instance to a Linux instance.
627//
628//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
629//   The output location is not valid or does not exist.
630//
631//   * ErrCodeInvalidTarget "InvalidTarget"
632//   The target is not valid or does not exist. It might not be configured for
633//   EC2 Systems Manager or you might not have permission to perform the operation.
634//
635//   * ErrCodeInvalidSchedule "InvalidSchedule"
636//   The schedule is invalid. Verify your cron or rate expression and try again.
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
639func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) {
640	req, out := c.CreateAssociationBatchRequest(input)
641	return out, req.Send()
642}
643
644// CreateAssociationBatchWithContext is the same as CreateAssociationBatch with the addition of
645// the ability to pass a context and additional request options.
646//
647// See CreateAssociationBatch for details on how to use this API operation.
648//
649// The context must be non-nil and will be used for request cancellation. If
650// the context is nil a panic will occur. In the future the SDK may create
651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
652// for more information on using Contexts.
653func (c *SSM) CreateAssociationBatchWithContext(ctx aws.Context, input *CreateAssociationBatchInput, opts ...request.Option) (*CreateAssociationBatchOutput, error) {
654	req, out := c.CreateAssociationBatchRequest(input)
655	req.SetContext(ctx)
656	req.ApplyOptions(opts...)
657	return out, req.Send()
658}
659
660const opCreateDocument = "CreateDocument"
661
662// CreateDocumentRequest generates a "aws/request.Request" representing the
663// client's request for the CreateDocument operation. The "output" return
664// value will be populated with the request's response once the request completes
665// successfully.
666//
667// Use "Send" method on the returned Request to send the API call to the service.
668// the "output" return value is not valid until after Send returns without error.
669//
670// See CreateDocument for more information on using the CreateDocument
671// API call, and error handling.
672//
673// This method is useful when you want to inject custom logic or configuration
674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
675//
676//
677//    // Example sending a request using the CreateDocumentRequest method.
678//    req, resp := client.CreateDocumentRequest(params)
679//
680//    err := req.Send()
681//    if err == nil { // resp is now filled
682//        fmt.Println(resp)
683//    }
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
686func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) {
687	op := &request.Operation{
688		Name:       opCreateDocument,
689		HTTPMethod: "POST",
690		HTTPPath:   "/",
691	}
692
693	if input == nil {
694		input = &CreateDocumentInput{}
695	}
696
697	output = &CreateDocumentOutput{}
698	req = c.newRequest(op, input, output)
699	return
700}
701
702// CreateDocument API operation for Amazon Simple Systems Manager (SSM).
703//
704// Creates a Systems Manager document.
705//
706// After you create a document, you can use CreateAssociation to associate it
707// with one or more running instances.
708//
709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
710// with awserr.Error's Code and Message methods to get detailed information about
711// the error.
712//
713// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
714// API operation CreateDocument for usage and error information.
715//
716// Returned Error Codes:
717//   * ErrCodeDocumentAlreadyExists "DocumentAlreadyExists"
718//   The specified document already exists.
719//
720//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
721//   The size limit of a document is 64 KB.
722//
723//   * ErrCodeInternalServerError "InternalServerError"
724//   An error occurred on the server side.
725//
726//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
727//   The content for the document is not valid.
728//
729//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
730//   You can have at most 500 active Systems Manager documents.
731//
732//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
733//   The version of the document schema is not supported.
734//
735// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
736func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) {
737	req, out := c.CreateDocumentRequest(input)
738	return out, req.Send()
739}
740
741// CreateDocumentWithContext is the same as CreateDocument with the addition of
742// the ability to pass a context and additional request options.
743//
744// See CreateDocument for details on how to use this API operation.
745//
746// The context must be non-nil and will be used for request cancellation. If
747// the context is nil a panic will occur. In the future the SDK may create
748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
749// for more information on using Contexts.
750func (c *SSM) CreateDocumentWithContext(ctx aws.Context, input *CreateDocumentInput, opts ...request.Option) (*CreateDocumentOutput, error) {
751	req, out := c.CreateDocumentRequest(input)
752	req.SetContext(ctx)
753	req.ApplyOptions(opts...)
754	return out, req.Send()
755}
756
757const opCreateMaintenanceWindow = "CreateMaintenanceWindow"
758
759// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the
760// client's request for the CreateMaintenanceWindow operation. The "output" return
761// value will be populated with the request's response once the request completes
762// successfully.
763//
764// Use "Send" method on the returned Request to send the API call to the service.
765// the "output" return value is not valid until after Send returns without error.
766//
767// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow
768// API call, and error handling.
769//
770// This method is useful when you want to inject custom logic or configuration
771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
772//
773//
774//    // Example sending a request using the CreateMaintenanceWindowRequest method.
775//    req, resp := client.CreateMaintenanceWindowRequest(params)
776//
777//    err := req.Send()
778//    if err == nil { // resp is now filled
779//        fmt.Println(resp)
780//    }
781//
782// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
783func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) {
784	op := &request.Operation{
785		Name:       opCreateMaintenanceWindow,
786		HTTPMethod: "POST",
787		HTTPPath:   "/",
788	}
789
790	if input == nil {
791		input = &CreateMaintenanceWindowInput{}
792	}
793
794	output = &CreateMaintenanceWindowOutput{}
795	req = c.newRequest(op, input, output)
796	return
797}
798
799// CreateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
800//
801// Creates a new maintenance window.
802//
803// The value you specify for Duration determines the specific end time for the
804// maintenance window based on the time it begins. No maintenance window tasks
805// are permitted to start after the resulting endtime minus the number of hours
806// you specify for Cutoff. For example, if the maintenance window starts at
807// 3 PM, the duration is three hours, and the value you specify for Cutoff is
808// one hour, no maintenance window tasks can start after 5 PM.
809//
810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
811// with awserr.Error's Code and Message methods to get detailed information about
812// the error.
813//
814// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
815// API operation CreateMaintenanceWindow for usage and error information.
816//
817// Returned Error Codes:
818//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
819//   Error returned when an idempotent operation is retried and the parameters
820//   don't match the original call to the API with the same idempotency token.
821//
822//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
823//   Error returned when the caller has exceeded the default resource limits.
824//   For example, too many maintenance windows or patch baselines have been created.
825//
826//   For information about resource limits in Systems Manager, see AWS Systems
827//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
828//
829//   * ErrCodeInternalServerError "InternalServerError"
830//   An error occurred on the server side.
831//
832// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
833func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) {
834	req, out := c.CreateMaintenanceWindowRequest(input)
835	return out, req.Send()
836}
837
838// CreateMaintenanceWindowWithContext is the same as CreateMaintenanceWindow with the addition of
839// the ability to pass a context and additional request options.
840//
841// See CreateMaintenanceWindow for details on how to use this API operation.
842//
843// The context must be non-nil and will be used for request cancellation. If
844// the context is nil a panic will occur. In the future the SDK may create
845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
846// for more information on using Contexts.
847func (c *SSM) CreateMaintenanceWindowWithContext(ctx aws.Context, input *CreateMaintenanceWindowInput, opts ...request.Option) (*CreateMaintenanceWindowOutput, error) {
848	req, out := c.CreateMaintenanceWindowRequest(input)
849	req.SetContext(ctx)
850	req.ApplyOptions(opts...)
851	return out, req.Send()
852}
853
854const opCreateOpsItem = "CreateOpsItem"
855
856// CreateOpsItemRequest generates a "aws/request.Request" representing the
857// client's request for the CreateOpsItem operation. The "output" return
858// value will be populated with the request's response once the request completes
859// successfully.
860//
861// Use "Send" method on the returned Request to send the API call to the service.
862// the "output" return value is not valid until after Send returns without error.
863//
864// See CreateOpsItem for more information on using the CreateOpsItem
865// API call, and error handling.
866//
867// This method is useful when you want to inject custom logic or configuration
868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
869//
870//
871//    // Example sending a request using the CreateOpsItemRequest method.
872//    req, resp := client.CreateOpsItemRequest(params)
873//
874//    err := req.Send()
875//    if err == nil { // resp is now filled
876//        fmt.Println(resp)
877//    }
878//
879// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
880func (c *SSM) CreateOpsItemRequest(input *CreateOpsItemInput) (req *request.Request, output *CreateOpsItemOutput) {
881	op := &request.Operation{
882		Name:       opCreateOpsItem,
883		HTTPMethod: "POST",
884		HTTPPath:   "/",
885	}
886
887	if input == nil {
888		input = &CreateOpsItemInput{}
889	}
890
891	output = &CreateOpsItemOutput{}
892	req = c.newRequest(op, input, output)
893	return
894}
895
896// CreateOpsItem API operation for Amazon Simple Systems Manager (SSM).
897//
898// Creates a new OpsItem. You must have permission in AWS Identity and Access
899// Management (IAM) to create a new OpsItem. For more information, see Getting
900// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
901// in the AWS Systems Manager User Guide.
902//
903// Operations engineers and IT professionals use OpsCenter to view, investigate,
904// and remediate operational issues impacting the performance and health of
905// their AWS resources. For more information, see AWS Systems Manager OpsCenter
906// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
907// in the AWS Systems Manager User Guide.
908//
909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
910// with awserr.Error's Code and Message methods to get detailed information about
911// the error.
912//
913// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
914// API operation CreateOpsItem for usage and error information.
915//
916// Returned Error Codes:
917//   * ErrCodeInternalServerError "InternalServerError"
918//   An error occurred on the server side.
919//
920//   * ErrCodeOpsItemAlreadyExistsException "OpsItemAlreadyExistsException"
921//   The OpsItem already exists.
922//
923//   * ErrCodeOpsItemLimitExceededException "OpsItemLimitExceededException"
924//   The request caused OpsItems to exceed one or more limits. For information
925//   about OpsItem limits, see What are the resource limits for OpsCenter? (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
926//
927//   * ErrCodeOpsItemInvalidParameterException "OpsItemInvalidParameterException"
928//   A specified parameter argument isn't valid. Verify the available arguments
929//   and try again.
930//
931// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
932func (c *SSM) CreateOpsItem(input *CreateOpsItemInput) (*CreateOpsItemOutput, error) {
933	req, out := c.CreateOpsItemRequest(input)
934	return out, req.Send()
935}
936
937// CreateOpsItemWithContext is the same as CreateOpsItem with the addition of
938// the ability to pass a context and additional request options.
939//
940// See CreateOpsItem for details on how to use this API operation.
941//
942// The context must be non-nil and will be used for request cancellation. If
943// the context is nil a panic will occur. In the future the SDK may create
944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
945// for more information on using Contexts.
946func (c *SSM) CreateOpsItemWithContext(ctx aws.Context, input *CreateOpsItemInput, opts ...request.Option) (*CreateOpsItemOutput, error) {
947	req, out := c.CreateOpsItemRequest(input)
948	req.SetContext(ctx)
949	req.ApplyOptions(opts...)
950	return out, req.Send()
951}
952
953const opCreatePatchBaseline = "CreatePatchBaseline"
954
955// CreatePatchBaselineRequest generates a "aws/request.Request" representing the
956// client's request for the CreatePatchBaseline operation. The "output" return
957// value will be populated with the request's response once the request completes
958// successfully.
959//
960// Use "Send" method on the returned Request to send the API call to the service.
961// the "output" return value is not valid until after Send returns without error.
962//
963// See CreatePatchBaseline for more information on using the CreatePatchBaseline
964// API call, and error handling.
965//
966// This method is useful when you want to inject custom logic or configuration
967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
968//
969//
970//    // Example sending a request using the CreatePatchBaselineRequest method.
971//    req, resp := client.CreatePatchBaselineRequest(params)
972//
973//    err := req.Send()
974//    if err == nil { // resp is now filled
975//        fmt.Println(resp)
976//    }
977//
978// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
979func (c *SSM) CreatePatchBaselineRequest(input *CreatePatchBaselineInput) (req *request.Request, output *CreatePatchBaselineOutput) {
980	op := &request.Operation{
981		Name:       opCreatePatchBaseline,
982		HTTPMethod: "POST",
983		HTTPPath:   "/",
984	}
985
986	if input == nil {
987		input = &CreatePatchBaselineInput{}
988	}
989
990	output = &CreatePatchBaselineOutput{}
991	req = c.newRequest(op, input, output)
992	return
993}
994
995// CreatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
996//
997// Creates a patch baseline.
998//
999// For information about valid key and value pairs in PatchFilters for each
1000// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html).
1001//
1002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1003// with awserr.Error's Code and Message methods to get detailed information about
1004// the error.
1005//
1006// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1007// API operation CreatePatchBaseline for usage and error information.
1008//
1009// Returned Error Codes:
1010//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
1011//   Error returned when an idempotent operation is retried and the parameters
1012//   don't match the original call to the API with the same idempotency token.
1013//
1014//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
1015//   Error returned when the caller has exceeded the default resource limits.
1016//   For example, too many maintenance windows or patch baselines have been created.
1017//
1018//   For information about resource limits in Systems Manager, see AWS Systems
1019//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
1020//
1021//   * ErrCodeInternalServerError "InternalServerError"
1022//   An error occurred on the server side.
1023//
1024// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
1025func (c *SSM) CreatePatchBaseline(input *CreatePatchBaselineInput) (*CreatePatchBaselineOutput, error) {
1026	req, out := c.CreatePatchBaselineRequest(input)
1027	return out, req.Send()
1028}
1029
1030// CreatePatchBaselineWithContext is the same as CreatePatchBaseline with the addition of
1031// the ability to pass a context and additional request options.
1032//
1033// See CreatePatchBaseline for details on how to use this API operation.
1034//
1035// The context must be non-nil and will be used for request cancellation. If
1036// the context is nil a panic will occur. In the future the SDK may create
1037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1038// for more information on using Contexts.
1039func (c *SSM) CreatePatchBaselineWithContext(ctx aws.Context, input *CreatePatchBaselineInput, opts ...request.Option) (*CreatePatchBaselineOutput, error) {
1040	req, out := c.CreatePatchBaselineRequest(input)
1041	req.SetContext(ctx)
1042	req.ApplyOptions(opts...)
1043	return out, req.Send()
1044}
1045
1046const opCreateResourceDataSync = "CreateResourceDataSync"
1047
1048// CreateResourceDataSyncRequest generates a "aws/request.Request" representing the
1049// client's request for the CreateResourceDataSync operation. The "output" return
1050// value will be populated with the request's response once the request completes
1051// successfully.
1052//
1053// Use "Send" method on the returned Request to send the API call to the service.
1054// the "output" return value is not valid until after Send returns without error.
1055//
1056// See CreateResourceDataSync for more information on using the CreateResourceDataSync
1057// API call, and error handling.
1058//
1059// This method is useful when you want to inject custom logic or configuration
1060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1061//
1062//
1063//    // Example sending a request using the CreateResourceDataSyncRequest method.
1064//    req, resp := client.CreateResourceDataSyncRequest(params)
1065//
1066//    err := req.Send()
1067//    if err == nil { // resp is now filled
1068//        fmt.Println(resp)
1069//    }
1070//
1071// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1072func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) (req *request.Request, output *CreateResourceDataSyncOutput) {
1073	op := &request.Operation{
1074		Name:       opCreateResourceDataSync,
1075		HTTPMethod: "POST",
1076		HTTPPath:   "/",
1077	}
1078
1079	if input == nil {
1080		input = &CreateResourceDataSyncInput{}
1081	}
1082
1083	output = &CreateResourceDataSyncOutput{}
1084	req = c.newRequest(op, input, output)
1085	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1086	return
1087}
1088
1089// CreateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1090//
1091// A resource data sync helps you view data from multiple sources in a single
1092// location. Systems Manager offers two types of resource data sync: SyncToDestination
1093// and SyncFromSource.
1094//
1095// You can configure Systems Manager Inventory to use the SyncToDestination
1096// type to synchronize Inventory data from multiple AWS Regions to a single
1097// Amazon S3 bucket. For more information, see Configuring Resource Data Sync
1098// for Inventory (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html)
1099// in the AWS Systems Manager User Guide.
1100//
1101// You can configure Systems Manager Explorer to use the SyncToDestination type
1102// to synchronize operational work items (OpsItems) and operational data (OpsData)
1103// from multiple AWS Regions to a single Amazon S3 bucket. You can also configure
1104// Explorer to use the SyncFromSource type. This type synchronizes OpsItems
1105// and OpsData from multiple AWS accounts and Regions by using AWS Organizations.
1106// For more information, see Setting Up Explorer to Display Data from Multiple
1107// Accounts and Regions (http://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html)
1108// in the AWS Systems Manager User Guide.
1109//
1110// A resource data sync is an asynchronous operation that returns immediately.
1111// After a successful initial sync is completed, the system continuously syncs
1112// data. To check the status of a sync, use the ListResourceDataSync.
1113//
1114// By default, data is not encrypted in Amazon S3. We strongly recommend that
1115// you enable encryption in Amazon S3 to ensure secure data storage. We also
1116// recommend that you secure access to the Amazon S3 bucket by creating a restrictive
1117// bucket policy.
1118//
1119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1120// with awserr.Error's Code and Message methods to get detailed information about
1121// the error.
1122//
1123// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1124// API operation CreateResourceDataSync for usage and error information.
1125//
1126// Returned Error Codes:
1127//   * ErrCodeInternalServerError "InternalServerError"
1128//   An error occurred on the server side.
1129//
1130//   * ErrCodeResourceDataSyncCountExceededException "ResourceDataSyncCountExceededException"
1131//   You have exceeded the allowed maximum sync configurations.
1132//
1133//   * ErrCodeResourceDataSyncAlreadyExistsException "ResourceDataSyncAlreadyExistsException"
1134//   A sync configuration with the same name already exists.
1135//
1136//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
1137//   The specified sync configuration is invalid.
1138//
1139// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1140func (c *SSM) CreateResourceDataSync(input *CreateResourceDataSyncInput) (*CreateResourceDataSyncOutput, error) {
1141	req, out := c.CreateResourceDataSyncRequest(input)
1142	return out, req.Send()
1143}
1144
1145// CreateResourceDataSyncWithContext is the same as CreateResourceDataSync with the addition of
1146// the ability to pass a context and additional request options.
1147//
1148// See CreateResourceDataSync for details on how to use this API operation.
1149//
1150// The context must be non-nil and will be used for request cancellation. If
1151// the context is nil a panic will occur. In the future the SDK may create
1152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1153// for more information on using Contexts.
1154func (c *SSM) CreateResourceDataSyncWithContext(ctx aws.Context, input *CreateResourceDataSyncInput, opts ...request.Option) (*CreateResourceDataSyncOutput, error) {
1155	req, out := c.CreateResourceDataSyncRequest(input)
1156	req.SetContext(ctx)
1157	req.ApplyOptions(opts...)
1158	return out, req.Send()
1159}
1160
1161const opDeleteActivation = "DeleteActivation"
1162
1163// DeleteActivationRequest generates a "aws/request.Request" representing the
1164// client's request for the DeleteActivation operation. The "output" return
1165// value will be populated with the request's response once the request completes
1166// successfully.
1167//
1168// Use "Send" method on the returned Request to send the API call to the service.
1169// the "output" return value is not valid until after Send returns without error.
1170//
1171// See DeleteActivation for more information on using the DeleteActivation
1172// API call, and error handling.
1173//
1174// This method is useful when you want to inject custom logic or configuration
1175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1176//
1177//
1178//    // Example sending a request using the DeleteActivationRequest method.
1179//    req, resp := client.DeleteActivationRequest(params)
1180//
1181//    err := req.Send()
1182//    if err == nil { // resp is now filled
1183//        fmt.Println(resp)
1184//    }
1185//
1186// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1187func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) {
1188	op := &request.Operation{
1189		Name:       opDeleteActivation,
1190		HTTPMethod: "POST",
1191		HTTPPath:   "/",
1192	}
1193
1194	if input == nil {
1195		input = &DeleteActivationInput{}
1196	}
1197
1198	output = &DeleteActivationOutput{}
1199	req = c.newRequest(op, input, output)
1200	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1201	return
1202}
1203
1204// DeleteActivation API operation for Amazon Simple Systems Manager (SSM).
1205//
1206// Deletes an activation. You are not required to delete an activation. If you
1207// delete an activation, you can no longer use it to register additional managed
1208// instances. Deleting an activation does not de-register managed instances.
1209// You must manually de-register managed instances.
1210//
1211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1212// with awserr.Error's Code and Message methods to get detailed information about
1213// the error.
1214//
1215// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1216// API operation DeleteActivation for usage and error information.
1217//
1218// Returned Error Codes:
1219//   * ErrCodeInvalidActivationId "InvalidActivationId"
1220//   The activation ID is not valid. Verify the you entered the correct ActivationId
1221//   or ActivationCode and try again.
1222//
1223//   * ErrCodeInvalidActivation "InvalidActivation"
1224//   The activation is not valid. The activation might have been deleted, or the
1225//   ActivationId and the ActivationCode do not match.
1226//
1227//   * ErrCodeInternalServerError "InternalServerError"
1228//   An error occurred on the server side.
1229//
1230//   * ErrCodeTooManyUpdates "TooManyUpdates"
1231//   There are concurrent updates for a resource that supports one update at a
1232//   time.
1233//
1234// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1235func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) {
1236	req, out := c.DeleteActivationRequest(input)
1237	return out, req.Send()
1238}
1239
1240// DeleteActivationWithContext is the same as DeleteActivation with the addition of
1241// the ability to pass a context and additional request options.
1242//
1243// See DeleteActivation for details on how to use this API operation.
1244//
1245// The context must be non-nil and will be used for request cancellation. If
1246// the context is nil a panic will occur. In the future the SDK may create
1247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1248// for more information on using Contexts.
1249func (c *SSM) DeleteActivationWithContext(ctx aws.Context, input *DeleteActivationInput, opts ...request.Option) (*DeleteActivationOutput, error) {
1250	req, out := c.DeleteActivationRequest(input)
1251	req.SetContext(ctx)
1252	req.ApplyOptions(opts...)
1253	return out, req.Send()
1254}
1255
1256const opDeleteAssociation = "DeleteAssociation"
1257
1258// DeleteAssociationRequest generates a "aws/request.Request" representing the
1259// client's request for the DeleteAssociation operation. The "output" return
1260// value will be populated with the request's response once the request completes
1261// successfully.
1262//
1263// Use "Send" method on the returned Request to send the API call to the service.
1264// the "output" return value is not valid until after Send returns without error.
1265//
1266// See DeleteAssociation for more information on using the DeleteAssociation
1267// API call, and error handling.
1268//
1269// This method is useful when you want to inject custom logic or configuration
1270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1271//
1272//
1273//    // Example sending a request using the DeleteAssociationRequest method.
1274//    req, resp := client.DeleteAssociationRequest(params)
1275//
1276//    err := req.Send()
1277//    if err == nil { // resp is now filled
1278//        fmt.Println(resp)
1279//    }
1280//
1281// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1282func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) {
1283	op := &request.Operation{
1284		Name:       opDeleteAssociation,
1285		HTTPMethod: "POST",
1286		HTTPPath:   "/",
1287	}
1288
1289	if input == nil {
1290		input = &DeleteAssociationInput{}
1291	}
1292
1293	output = &DeleteAssociationOutput{}
1294	req = c.newRequest(op, input, output)
1295	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1296	return
1297}
1298
1299// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM).
1300//
1301// Disassociates the specified Systems Manager document from the specified instance.
1302//
1303// When you disassociate a document from an instance, it does not change the
1304// configuration of the instance. To change the configuration state of an instance
1305// after you disassociate a document, you must create a new document with the
1306// desired configuration and associate it with the instance.
1307//
1308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1309// with awserr.Error's Code and Message methods to get detailed information about
1310// the error.
1311//
1312// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1313// API operation DeleteAssociation for usage and error information.
1314//
1315// Returned Error Codes:
1316//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
1317//   The specified association does not exist.
1318//
1319//   * ErrCodeInternalServerError "InternalServerError"
1320//   An error occurred on the server side.
1321//
1322//   * ErrCodeInvalidDocument "InvalidDocument"
1323//   The specified document does not exist.
1324//
1325//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
1326//   The following problems can cause this exception:
1327//
1328//   You do not have permission to access the instance.
1329//
1330//   SSM Agent is not running. Verify that SSM Agent is running.
1331//
1332//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
1333//
1334//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
1335//   Stopping. Invalid states are: Shutting-down and Terminated.
1336//
1337//   * ErrCodeTooManyUpdates "TooManyUpdates"
1338//   There are concurrent updates for a resource that supports one update at a
1339//   time.
1340//
1341// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1342func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) {
1343	req, out := c.DeleteAssociationRequest(input)
1344	return out, req.Send()
1345}
1346
1347// DeleteAssociationWithContext is the same as DeleteAssociation with the addition of
1348// the ability to pass a context and additional request options.
1349//
1350// See DeleteAssociation for details on how to use this API operation.
1351//
1352// The context must be non-nil and will be used for request cancellation. If
1353// the context is nil a panic will occur. In the future the SDK may create
1354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1355// for more information on using Contexts.
1356func (c *SSM) DeleteAssociationWithContext(ctx aws.Context, input *DeleteAssociationInput, opts ...request.Option) (*DeleteAssociationOutput, error) {
1357	req, out := c.DeleteAssociationRequest(input)
1358	req.SetContext(ctx)
1359	req.ApplyOptions(opts...)
1360	return out, req.Send()
1361}
1362
1363const opDeleteDocument = "DeleteDocument"
1364
1365// DeleteDocumentRequest generates a "aws/request.Request" representing the
1366// client's request for the DeleteDocument operation. The "output" return
1367// value will be populated with the request's response once the request completes
1368// successfully.
1369//
1370// Use "Send" method on the returned Request to send the API call to the service.
1371// the "output" return value is not valid until after Send returns without error.
1372//
1373// See DeleteDocument for more information on using the DeleteDocument
1374// API call, and error handling.
1375//
1376// This method is useful when you want to inject custom logic or configuration
1377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1378//
1379//
1380//    // Example sending a request using the DeleteDocumentRequest method.
1381//    req, resp := client.DeleteDocumentRequest(params)
1382//
1383//    err := req.Send()
1384//    if err == nil { // resp is now filled
1385//        fmt.Println(resp)
1386//    }
1387//
1388// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1389func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1390	op := &request.Operation{
1391		Name:       opDeleteDocument,
1392		HTTPMethod: "POST",
1393		HTTPPath:   "/",
1394	}
1395
1396	if input == nil {
1397		input = &DeleteDocumentInput{}
1398	}
1399
1400	output = &DeleteDocumentOutput{}
1401	req = c.newRequest(op, input, output)
1402	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1403	return
1404}
1405
1406// DeleteDocument API operation for Amazon Simple Systems Manager (SSM).
1407//
1408// Deletes the Systems Manager document and all instance associations to the
1409// document.
1410//
1411// Before you delete the document, we recommend that you use DeleteAssociation
1412// to disassociate all instances that are associated with the document.
1413//
1414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1415// with awserr.Error's Code and Message methods to get detailed information about
1416// the error.
1417//
1418// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1419// API operation DeleteDocument for usage and error information.
1420//
1421// Returned Error Codes:
1422//   * ErrCodeInternalServerError "InternalServerError"
1423//   An error occurred on the server side.
1424//
1425//   * ErrCodeInvalidDocument "InvalidDocument"
1426//   The specified document does not exist.
1427//
1428//   * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation"
1429//   You attempted to delete a document while it is still shared. You must stop
1430//   sharing the document before you can delete it.
1431//
1432//   * ErrCodeAssociatedInstances "AssociatedInstances"
1433//   You must disassociate a document from all instances before you can delete
1434//   it.
1435//
1436// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1437func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1438	req, out := c.DeleteDocumentRequest(input)
1439	return out, req.Send()
1440}
1441
1442// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1443// the ability to pass a context and additional request options.
1444//
1445// See DeleteDocument for details on how to use this API operation.
1446//
1447// The context must be non-nil and will be used for request cancellation. If
1448// the context is nil a panic will occur. In the future the SDK may create
1449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1450// for more information on using Contexts.
1451func (c *SSM) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1452	req, out := c.DeleteDocumentRequest(input)
1453	req.SetContext(ctx)
1454	req.ApplyOptions(opts...)
1455	return out, req.Send()
1456}
1457
1458const opDeleteInventory = "DeleteInventory"
1459
1460// DeleteInventoryRequest generates a "aws/request.Request" representing the
1461// client's request for the DeleteInventory operation. The "output" return
1462// value will be populated with the request's response once the request completes
1463// successfully.
1464//
1465// Use "Send" method on the returned Request to send the API call to the service.
1466// the "output" return value is not valid until after Send returns without error.
1467//
1468// See DeleteInventory for more information on using the DeleteInventory
1469// API call, and error handling.
1470//
1471// This method is useful when you want to inject custom logic or configuration
1472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1473//
1474//
1475//    // Example sending a request using the DeleteInventoryRequest method.
1476//    req, resp := client.DeleteInventoryRequest(params)
1477//
1478//    err := req.Send()
1479//    if err == nil { // resp is now filled
1480//        fmt.Println(resp)
1481//    }
1482//
1483// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1484func (c *SSM) DeleteInventoryRequest(input *DeleteInventoryInput) (req *request.Request, output *DeleteInventoryOutput) {
1485	op := &request.Operation{
1486		Name:       opDeleteInventory,
1487		HTTPMethod: "POST",
1488		HTTPPath:   "/",
1489	}
1490
1491	if input == nil {
1492		input = &DeleteInventoryInput{}
1493	}
1494
1495	output = &DeleteInventoryOutput{}
1496	req = c.newRequest(op, input, output)
1497	return
1498}
1499
1500// DeleteInventory API operation for Amazon Simple Systems Manager (SSM).
1501//
1502// Delete a custom inventory type, or the data associated with a custom Inventory
1503// type. Deleting a custom inventory type is also referred to as deleting a
1504// custom inventory schema.
1505//
1506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1507// with awserr.Error's Code and Message methods to get detailed information about
1508// the error.
1509//
1510// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1511// API operation DeleteInventory for usage and error information.
1512//
1513// Returned Error Codes:
1514//   * ErrCodeInternalServerError "InternalServerError"
1515//   An error occurred on the server side.
1516//
1517//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
1518//   The parameter type name is not valid.
1519//
1520//   * ErrCodeInvalidOptionException "InvalidOptionException"
1521//   The delete inventory option specified is not valid. Verify the option and
1522//   try again.
1523//
1524//   * ErrCodeInvalidDeleteInventoryParametersException "InvalidDeleteInventoryParametersException"
1525//   One or more of the parameters specified for the delete operation is not valid.
1526//   Verify all parameters and try again.
1527//
1528//   * ErrCodeInvalidInventoryRequestException "InvalidInventoryRequestException"
1529//   The request is not valid.
1530//
1531// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1532func (c *SSM) DeleteInventory(input *DeleteInventoryInput) (*DeleteInventoryOutput, error) {
1533	req, out := c.DeleteInventoryRequest(input)
1534	return out, req.Send()
1535}
1536
1537// DeleteInventoryWithContext is the same as DeleteInventory with the addition of
1538// the ability to pass a context and additional request options.
1539//
1540// See DeleteInventory for details on how to use this API operation.
1541//
1542// The context must be non-nil and will be used for request cancellation. If
1543// the context is nil a panic will occur. In the future the SDK may create
1544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1545// for more information on using Contexts.
1546func (c *SSM) DeleteInventoryWithContext(ctx aws.Context, input *DeleteInventoryInput, opts ...request.Option) (*DeleteInventoryOutput, error) {
1547	req, out := c.DeleteInventoryRequest(input)
1548	req.SetContext(ctx)
1549	req.ApplyOptions(opts...)
1550	return out, req.Send()
1551}
1552
1553const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow"
1554
1555// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the
1556// client's request for the DeleteMaintenanceWindow operation. The "output" return
1557// value will be populated with the request's response once the request completes
1558// successfully.
1559//
1560// Use "Send" method on the returned Request to send the API call to the service.
1561// the "output" return value is not valid until after Send returns without error.
1562//
1563// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow
1564// API call, and error handling.
1565//
1566// This method is useful when you want to inject custom logic or configuration
1567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1568//
1569//
1570//    // Example sending a request using the DeleteMaintenanceWindowRequest method.
1571//    req, resp := client.DeleteMaintenanceWindowRequest(params)
1572//
1573//    err := req.Send()
1574//    if err == nil { // resp is now filled
1575//        fmt.Println(resp)
1576//    }
1577//
1578// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1579func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) {
1580	op := &request.Operation{
1581		Name:       opDeleteMaintenanceWindow,
1582		HTTPMethod: "POST",
1583		HTTPPath:   "/",
1584	}
1585
1586	if input == nil {
1587		input = &DeleteMaintenanceWindowInput{}
1588	}
1589
1590	output = &DeleteMaintenanceWindowOutput{}
1591	req = c.newRequest(op, input, output)
1592	return
1593}
1594
1595// DeleteMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1596//
1597// Deletes a maintenance window.
1598//
1599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1600// with awserr.Error's Code and Message methods to get detailed information about
1601// the error.
1602//
1603// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1604// API operation DeleteMaintenanceWindow for usage and error information.
1605//
1606// Returned Error Codes:
1607//   * ErrCodeInternalServerError "InternalServerError"
1608//   An error occurred on the server side.
1609//
1610// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1611func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) {
1612	req, out := c.DeleteMaintenanceWindowRequest(input)
1613	return out, req.Send()
1614}
1615
1616// DeleteMaintenanceWindowWithContext is the same as DeleteMaintenanceWindow with the addition of
1617// the ability to pass a context and additional request options.
1618//
1619// See DeleteMaintenanceWindow for details on how to use this API operation.
1620//
1621// The context must be non-nil and will be used for request cancellation. If
1622// the context is nil a panic will occur. In the future the SDK may create
1623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1624// for more information on using Contexts.
1625func (c *SSM) DeleteMaintenanceWindowWithContext(ctx aws.Context, input *DeleteMaintenanceWindowInput, opts ...request.Option) (*DeleteMaintenanceWindowOutput, error) {
1626	req, out := c.DeleteMaintenanceWindowRequest(input)
1627	req.SetContext(ctx)
1628	req.ApplyOptions(opts...)
1629	return out, req.Send()
1630}
1631
1632const opDeleteParameter = "DeleteParameter"
1633
1634// DeleteParameterRequest generates a "aws/request.Request" representing the
1635// client's request for the DeleteParameter operation. The "output" return
1636// value will be populated with the request's response once the request completes
1637// successfully.
1638//
1639// Use "Send" method on the returned Request to send the API call to the service.
1640// the "output" return value is not valid until after Send returns without error.
1641//
1642// See DeleteParameter for more information on using the DeleteParameter
1643// API call, and error handling.
1644//
1645// This method is useful when you want to inject custom logic or configuration
1646// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1647//
1648//
1649//    // Example sending a request using the DeleteParameterRequest method.
1650//    req, resp := client.DeleteParameterRequest(params)
1651//
1652//    err := req.Send()
1653//    if err == nil { // resp is now filled
1654//        fmt.Println(resp)
1655//    }
1656//
1657// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1658func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) {
1659	op := &request.Operation{
1660		Name:       opDeleteParameter,
1661		HTTPMethod: "POST",
1662		HTTPPath:   "/",
1663	}
1664
1665	if input == nil {
1666		input = &DeleteParameterInput{}
1667	}
1668
1669	output = &DeleteParameterOutput{}
1670	req = c.newRequest(op, input, output)
1671	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1672	return
1673}
1674
1675// DeleteParameter API operation for Amazon Simple Systems Manager (SSM).
1676//
1677// Delete a parameter from the system.
1678//
1679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1680// with awserr.Error's Code and Message methods to get detailed information about
1681// the error.
1682//
1683// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1684// API operation DeleteParameter for usage and error information.
1685//
1686// Returned Error Codes:
1687//   * ErrCodeInternalServerError "InternalServerError"
1688//   An error occurred on the server side.
1689//
1690//   * ErrCodeParameterNotFound "ParameterNotFound"
1691//   The parameter could not be found. Verify the name and try again.
1692//
1693// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1694func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) {
1695	req, out := c.DeleteParameterRequest(input)
1696	return out, req.Send()
1697}
1698
1699// DeleteParameterWithContext is the same as DeleteParameter with the addition of
1700// the ability to pass a context and additional request options.
1701//
1702// See DeleteParameter for details on how to use this API operation.
1703//
1704// The context must be non-nil and will be used for request cancellation. If
1705// the context is nil a panic will occur. In the future the SDK may create
1706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1707// for more information on using Contexts.
1708func (c *SSM) DeleteParameterWithContext(ctx aws.Context, input *DeleteParameterInput, opts ...request.Option) (*DeleteParameterOutput, error) {
1709	req, out := c.DeleteParameterRequest(input)
1710	req.SetContext(ctx)
1711	req.ApplyOptions(opts...)
1712	return out, req.Send()
1713}
1714
1715const opDeleteParameters = "DeleteParameters"
1716
1717// DeleteParametersRequest generates a "aws/request.Request" representing the
1718// client's request for the DeleteParameters operation. The "output" return
1719// value will be populated with the request's response once the request completes
1720// successfully.
1721//
1722// Use "Send" method on the returned Request to send the API call to the service.
1723// the "output" return value is not valid until after Send returns without error.
1724//
1725// See DeleteParameters for more information on using the DeleteParameters
1726// API call, and error handling.
1727//
1728// This method is useful when you want to inject custom logic or configuration
1729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1730//
1731//
1732//    // Example sending a request using the DeleteParametersRequest method.
1733//    req, resp := client.DeleteParametersRequest(params)
1734//
1735//    err := req.Send()
1736//    if err == nil { // resp is now filled
1737//        fmt.Println(resp)
1738//    }
1739//
1740// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1741func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *request.Request, output *DeleteParametersOutput) {
1742	op := &request.Operation{
1743		Name:       opDeleteParameters,
1744		HTTPMethod: "POST",
1745		HTTPPath:   "/",
1746	}
1747
1748	if input == nil {
1749		input = &DeleteParametersInput{}
1750	}
1751
1752	output = &DeleteParametersOutput{}
1753	req = c.newRequest(op, input, output)
1754	return
1755}
1756
1757// DeleteParameters API operation for Amazon Simple Systems Manager (SSM).
1758//
1759// Delete a list of parameters.
1760//
1761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1762// with awserr.Error's Code and Message methods to get detailed information about
1763// the error.
1764//
1765// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1766// API operation DeleteParameters for usage and error information.
1767//
1768// Returned Error Codes:
1769//   * ErrCodeInternalServerError "InternalServerError"
1770//   An error occurred on the server side.
1771//
1772// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
1773func (c *SSM) DeleteParameters(input *DeleteParametersInput) (*DeleteParametersOutput, error) {
1774	req, out := c.DeleteParametersRequest(input)
1775	return out, req.Send()
1776}
1777
1778// DeleteParametersWithContext is the same as DeleteParameters with the addition of
1779// the ability to pass a context and additional request options.
1780//
1781// See DeleteParameters for details on how to use this API operation.
1782//
1783// The context must be non-nil and will be used for request cancellation. If
1784// the context is nil a panic will occur. In the future the SDK may create
1785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1786// for more information on using Contexts.
1787func (c *SSM) DeleteParametersWithContext(ctx aws.Context, input *DeleteParametersInput, opts ...request.Option) (*DeleteParametersOutput, error) {
1788	req, out := c.DeleteParametersRequest(input)
1789	req.SetContext(ctx)
1790	req.ApplyOptions(opts...)
1791	return out, req.Send()
1792}
1793
1794const opDeletePatchBaseline = "DeletePatchBaseline"
1795
1796// DeletePatchBaselineRequest generates a "aws/request.Request" representing the
1797// client's request for the DeletePatchBaseline operation. The "output" return
1798// value will be populated with the request's response once the request completes
1799// successfully.
1800//
1801// Use "Send" method on the returned Request to send the API call to the service.
1802// the "output" return value is not valid until after Send returns without error.
1803//
1804// See DeletePatchBaseline for more information on using the DeletePatchBaseline
1805// API call, and error handling.
1806//
1807// This method is useful when you want to inject custom logic or configuration
1808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1809//
1810//
1811//    // Example sending a request using the DeletePatchBaselineRequest method.
1812//    req, resp := client.DeletePatchBaselineRequest(params)
1813//
1814//    err := req.Send()
1815//    if err == nil { // resp is now filled
1816//        fmt.Println(resp)
1817//    }
1818//
1819// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1820func (c *SSM) DeletePatchBaselineRequest(input *DeletePatchBaselineInput) (req *request.Request, output *DeletePatchBaselineOutput) {
1821	op := &request.Operation{
1822		Name:       opDeletePatchBaseline,
1823		HTTPMethod: "POST",
1824		HTTPPath:   "/",
1825	}
1826
1827	if input == nil {
1828		input = &DeletePatchBaselineInput{}
1829	}
1830
1831	output = &DeletePatchBaselineOutput{}
1832	req = c.newRequest(op, input, output)
1833	return
1834}
1835
1836// DeletePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
1837//
1838// Deletes a patch baseline.
1839//
1840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1841// with awserr.Error's Code and Message methods to get detailed information about
1842// the error.
1843//
1844// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1845// API operation DeletePatchBaseline for usage and error information.
1846//
1847// Returned Error Codes:
1848//   * ErrCodeResourceInUseException "ResourceInUseException"
1849//   Error returned if an attempt is made to delete a patch baseline that is registered
1850//   for a patch group.
1851//
1852//   * ErrCodeInternalServerError "InternalServerError"
1853//   An error occurred on the server side.
1854//
1855// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
1856func (c *SSM) DeletePatchBaseline(input *DeletePatchBaselineInput) (*DeletePatchBaselineOutput, error) {
1857	req, out := c.DeletePatchBaselineRequest(input)
1858	return out, req.Send()
1859}
1860
1861// DeletePatchBaselineWithContext is the same as DeletePatchBaseline with the addition of
1862// the ability to pass a context and additional request options.
1863//
1864// See DeletePatchBaseline for details on how to use this API operation.
1865//
1866// The context must be non-nil and will be used for request cancellation. If
1867// the context is nil a panic will occur. In the future the SDK may create
1868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1869// for more information on using Contexts.
1870func (c *SSM) DeletePatchBaselineWithContext(ctx aws.Context, input *DeletePatchBaselineInput, opts ...request.Option) (*DeletePatchBaselineOutput, error) {
1871	req, out := c.DeletePatchBaselineRequest(input)
1872	req.SetContext(ctx)
1873	req.ApplyOptions(opts...)
1874	return out, req.Send()
1875}
1876
1877const opDeleteResourceDataSync = "DeleteResourceDataSync"
1878
1879// DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the
1880// client's request for the DeleteResourceDataSync operation. The "output" return
1881// value will be populated with the request's response once the request completes
1882// successfully.
1883//
1884// Use "Send" method on the returned Request to send the API call to the service.
1885// the "output" return value is not valid until after Send returns without error.
1886//
1887// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync
1888// API call, and error handling.
1889//
1890// This method is useful when you want to inject custom logic or configuration
1891// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1892//
1893//
1894//    // Example sending a request using the DeleteResourceDataSyncRequest method.
1895//    req, resp := client.DeleteResourceDataSyncRequest(params)
1896//
1897//    err := req.Send()
1898//    if err == nil { // resp is now filled
1899//        fmt.Println(resp)
1900//    }
1901//
1902// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1903func (c *SSM) DeleteResourceDataSyncRequest(input *DeleteResourceDataSyncInput) (req *request.Request, output *DeleteResourceDataSyncOutput) {
1904	op := &request.Operation{
1905		Name:       opDeleteResourceDataSync,
1906		HTTPMethod: "POST",
1907		HTTPPath:   "/",
1908	}
1909
1910	if input == nil {
1911		input = &DeleteResourceDataSyncInput{}
1912	}
1913
1914	output = &DeleteResourceDataSyncOutput{}
1915	req = c.newRequest(op, input, output)
1916	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1917	return
1918}
1919
1920// DeleteResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1921//
1922// Deletes a Resource Data Sync configuration. After the configuration is deleted,
1923// changes to data on managed instances are no longer synced to or from the
1924// target. Deleting a sync configuration does not delete data.
1925//
1926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1927// with awserr.Error's Code and Message methods to get detailed information about
1928// the error.
1929//
1930// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1931// API operation DeleteResourceDataSync for usage and error information.
1932//
1933// Returned Error Codes:
1934//   * ErrCodeInternalServerError "InternalServerError"
1935//   An error occurred on the server side.
1936//
1937//   * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException"
1938//   The specified sync name was not found.
1939//
1940//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
1941//   The specified sync configuration is invalid.
1942//
1943// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
1944func (c *SSM) DeleteResourceDataSync(input *DeleteResourceDataSyncInput) (*DeleteResourceDataSyncOutput, error) {
1945	req, out := c.DeleteResourceDataSyncRequest(input)
1946	return out, req.Send()
1947}
1948
1949// DeleteResourceDataSyncWithContext is the same as DeleteResourceDataSync with the addition of
1950// the ability to pass a context and additional request options.
1951//
1952// See DeleteResourceDataSync for details on how to use this API operation.
1953//
1954// The context must be non-nil and will be used for request cancellation. If
1955// the context is nil a panic will occur. In the future the SDK may create
1956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1957// for more information on using Contexts.
1958func (c *SSM) DeleteResourceDataSyncWithContext(ctx aws.Context, input *DeleteResourceDataSyncInput, opts ...request.Option) (*DeleteResourceDataSyncOutput, error) {
1959	req, out := c.DeleteResourceDataSyncRequest(input)
1960	req.SetContext(ctx)
1961	req.ApplyOptions(opts...)
1962	return out, req.Send()
1963}
1964
1965const opDeregisterManagedInstance = "DeregisterManagedInstance"
1966
1967// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the
1968// client's request for the DeregisterManagedInstance operation. The "output" return
1969// value will be populated with the request's response once the request completes
1970// successfully.
1971//
1972// Use "Send" method on the returned Request to send the API call to the service.
1973// the "output" return value is not valid until after Send returns without error.
1974//
1975// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance
1976// API call, and error handling.
1977//
1978// This method is useful when you want to inject custom logic or configuration
1979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1980//
1981//
1982//    // Example sending a request using the DeregisterManagedInstanceRequest method.
1983//    req, resp := client.DeregisterManagedInstanceRequest(params)
1984//
1985//    err := req.Send()
1986//    if err == nil { // resp is now filled
1987//        fmt.Println(resp)
1988//    }
1989//
1990// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
1991func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) {
1992	op := &request.Operation{
1993		Name:       opDeregisterManagedInstance,
1994		HTTPMethod: "POST",
1995		HTTPPath:   "/",
1996	}
1997
1998	if input == nil {
1999		input = &DeregisterManagedInstanceInput{}
2000	}
2001
2002	output = &DeregisterManagedInstanceOutput{}
2003	req = c.newRequest(op, input, output)
2004	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2005	return
2006}
2007
2008// DeregisterManagedInstance API operation for Amazon Simple Systems Manager (SSM).
2009//
2010// Removes the server or virtual machine from the list of registered servers.
2011// You can reregister the instance again at any time. If you don't plan to use
2012// Run Command on the server, we suggest uninstalling SSM Agent first.
2013//
2014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2015// with awserr.Error's Code and Message methods to get detailed information about
2016// the error.
2017//
2018// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2019// API operation DeregisterManagedInstance for usage and error information.
2020//
2021// Returned Error Codes:
2022//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2023//   The following problems can cause this exception:
2024//
2025//   You do not have permission to access the instance.
2026//
2027//   SSM Agent is not running. Verify that SSM Agent is running.
2028//
2029//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
2030//
2031//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2032//   Stopping. Invalid states are: Shutting-down and Terminated.
2033//
2034//   * ErrCodeInternalServerError "InternalServerError"
2035//   An error occurred on the server side.
2036//
2037// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
2038func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) {
2039	req, out := c.DeregisterManagedInstanceRequest(input)
2040	return out, req.Send()
2041}
2042
2043// DeregisterManagedInstanceWithContext is the same as DeregisterManagedInstance with the addition of
2044// the ability to pass a context and additional request options.
2045//
2046// See DeregisterManagedInstance for details on how to use this API operation.
2047//
2048// The context must be non-nil and will be used for request cancellation. If
2049// the context is nil a panic will occur. In the future the SDK may create
2050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2051// for more information on using Contexts.
2052func (c *SSM) DeregisterManagedInstanceWithContext(ctx aws.Context, input *DeregisterManagedInstanceInput, opts ...request.Option) (*DeregisterManagedInstanceOutput, error) {
2053	req, out := c.DeregisterManagedInstanceRequest(input)
2054	req.SetContext(ctx)
2055	req.ApplyOptions(opts...)
2056	return out, req.Send()
2057}
2058
2059const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchGroup"
2060
2061// DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
2062// client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfully.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method.
2077//    req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2085func (c *SSM) DeregisterPatchBaselineForPatchGroupRequest(input *DeregisterPatchBaselineForPatchGroupInput) (req *request.Request, output *DeregisterPatchBaselineForPatchGroupOutput) {
2086	op := &request.Operation{
2087		Name:       opDeregisterPatchBaselineForPatchGroup,
2088		HTTPMethod: "POST",
2089		HTTPPath:   "/",
2090	}
2091
2092	if input == nil {
2093		input = &DeregisterPatchBaselineForPatchGroupInput{}
2094	}
2095
2096	output = &DeregisterPatchBaselineForPatchGroupOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// DeregisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
2102//
2103// Removes a patch group from a patch baseline.
2104//
2105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2106// with awserr.Error's Code and Message methods to get detailed information about
2107// the error.
2108//
2109// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2110// API operation DeregisterPatchBaselineForPatchGroup for usage and error information.
2111//
2112// Returned Error Codes:
2113//   * ErrCodeInvalidResourceId "InvalidResourceId"
2114//   The resource ID is not valid. Verify that you entered the correct ID and
2115//   try again.
2116//
2117//   * ErrCodeInternalServerError "InternalServerError"
2118//   An error occurred on the server side.
2119//
2120// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2121func (c *SSM) DeregisterPatchBaselineForPatchGroup(input *DeregisterPatchBaselineForPatchGroupInput) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2122	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2123	return out, req.Send()
2124}
2125
2126// DeregisterPatchBaselineForPatchGroupWithContext is the same as DeregisterPatchBaselineForPatchGroup with the addition of
2127// the ability to pass a context and additional request options.
2128//
2129// See DeregisterPatchBaselineForPatchGroup for details on how to use this API operation.
2130//
2131// The context must be non-nil and will be used for request cancellation. If
2132// the context is nil a panic will occur. In the future the SDK may create
2133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2134// for more information on using Contexts.
2135func (c *SSM) DeregisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *DeregisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2136	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2137	req.SetContext(ctx)
2138	req.ApplyOptions(opts...)
2139	return out, req.Send()
2140}
2141
2142const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow"
2143
2144// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2145// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return
2146// value will be populated with the request's response once the request completes
2147// successfully.
2148//
2149// Use "Send" method on the returned Request to send the API call to the service.
2150// the "output" return value is not valid until after Send returns without error.
2151//
2152// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow
2153// API call, and error handling.
2154//
2155// This method is useful when you want to inject custom logic or configuration
2156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2157//
2158//
2159//    // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method.
2160//    req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params)
2161//
2162//    err := req.Send()
2163//    if err == nil { // resp is now filled
2164//        fmt.Println(resp)
2165//    }
2166//
2167// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2168func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) {
2169	op := &request.Operation{
2170		Name:       opDeregisterTargetFromMaintenanceWindow,
2171		HTTPMethod: "POST",
2172		HTTPPath:   "/",
2173	}
2174
2175	if input == nil {
2176		input = &DeregisterTargetFromMaintenanceWindowInput{}
2177	}
2178
2179	output = &DeregisterTargetFromMaintenanceWindowOutput{}
2180	req = c.newRequest(op, input, output)
2181	return
2182}
2183
2184// DeregisterTargetFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2185//
2186// Removes a target from a maintenance window.
2187//
2188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2189// with awserr.Error's Code and Message methods to get detailed information about
2190// the error.
2191//
2192// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2193// API operation DeregisterTargetFromMaintenanceWindow for usage and error information.
2194//
2195// Returned Error Codes:
2196//   * ErrCodeDoesNotExistException "DoesNotExistException"
2197//   Error returned when the ID specified for a resource, such as a maintenance
2198//   window or Patch baseline, doesn't exist.
2199//
2200//   For information about resource limits in Systems Manager, see AWS Systems
2201//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
2202//
2203//   * ErrCodeInternalServerError "InternalServerError"
2204//   An error occurred on the server side.
2205//
2206//   * ErrCodeTargetInUseException "TargetInUseException"
2207//   You specified the Safe option for the DeregisterTargetFromMaintenanceWindow
2208//   operation, but the target is still referenced in a task.
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2211func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2212	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2213	return out, req.Send()
2214}
2215
2216// DeregisterTargetFromMaintenanceWindowWithContext is the same as DeregisterTargetFromMaintenanceWindow with the addition of
2217// the ability to pass a context and additional request options.
2218//
2219// See DeregisterTargetFromMaintenanceWindow for details on how to use this API operation.
2220//
2221// The context must be non-nil and will be used for request cancellation. If
2222// the context is nil a panic will occur. In the future the SDK may create
2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2224// for more information on using Contexts.
2225func (c *SSM) DeregisterTargetFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTargetFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2226	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2227	req.SetContext(ctx)
2228	req.ApplyOptions(opts...)
2229	return out, req.Send()
2230}
2231
2232const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow"
2233
2234// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2235// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return
2236// value will be populated with the request's response once the request completes
2237// successfully.
2238//
2239// Use "Send" method on the returned Request to send the API call to the service.
2240// the "output" return value is not valid until after Send returns without error.
2241//
2242// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow
2243// API call, and error handling.
2244//
2245// This method is useful when you want to inject custom logic or configuration
2246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2247//
2248//
2249//    // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method.
2250//    req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params)
2251//
2252//    err := req.Send()
2253//    if err == nil { // resp is now filled
2254//        fmt.Println(resp)
2255//    }
2256//
2257// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2258func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) {
2259	op := &request.Operation{
2260		Name:       opDeregisterTaskFromMaintenanceWindow,
2261		HTTPMethod: "POST",
2262		HTTPPath:   "/",
2263	}
2264
2265	if input == nil {
2266		input = &DeregisterTaskFromMaintenanceWindowInput{}
2267	}
2268
2269	output = &DeregisterTaskFromMaintenanceWindowOutput{}
2270	req = c.newRequest(op, input, output)
2271	return
2272}
2273
2274// DeregisterTaskFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2275//
2276// Removes a task from a maintenance window.
2277//
2278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2279// with awserr.Error's Code and Message methods to get detailed information about
2280// the error.
2281//
2282// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2283// API operation DeregisterTaskFromMaintenanceWindow for usage and error information.
2284//
2285// Returned Error Codes:
2286//   * ErrCodeDoesNotExistException "DoesNotExistException"
2287//   Error returned when the ID specified for a resource, such as a maintenance
2288//   window or Patch baseline, doesn't exist.
2289//
2290//   For information about resource limits in Systems Manager, see AWS Systems
2291//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
2292//
2293//   * ErrCodeInternalServerError "InternalServerError"
2294//   An error occurred on the server side.
2295//
2296// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2297func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2298	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2299	return out, req.Send()
2300}
2301
2302// DeregisterTaskFromMaintenanceWindowWithContext is the same as DeregisterTaskFromMaintenanceWindow with the addition of
2303// the ability to pass a context and additional request options.
2304//
2305// See DeregisterTaskFromMaintenanceWindow for details on how to use this API operation.
2306//
2307// The context must be non-nil and will be used for request cancellation. If
2308// the context is nil a panic will occur. In the future the SDK may create
2309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2310// for more information on using Contexts.
2311func (c *SSM) DeregisterTaskFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTaskFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2312	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2313	req.SetContext(ctx)
2314	req.ApplyOptions(opts...)
2315	return out, req.Send()
2316}
2317
2318const opDescribeActivations = "DescribeActivations"
2319
2320// DescribeActivationsRequest generates a "aws/request.Request" representing the
2321// client's request for the DescribeActivations operation. The "output" return
2322// value will be populated with the request's response once the request completes
2323// successfully.
2324//
2325// Use "Send" method on the returned Request to send the API call to the service.
2326// the "output" return value is not valid until after Send returns without error.
2327//
2328// See DescribeActivations for more information on using the DescribeActivations
2329// API call, and error handling.
2330//
2331// This method is useful when you want to inject custom logic or configuration
2332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2333//
2334//
2335//    // Example sending a request using the DescribeActivationsRequest method.
2336//    req, resp := client.DescribeActivationsRequest(params)
2337//
2338//    err := req.Send()
2339//    if err == nil { // resp is now filled
2340//        fmt.Println(resp)
2341//    }
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2344func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) {
2345	op := &request.Operation{
2346		Name:       opDescribeActivations,
2347		HTTPMethod: "POST",
2348		HTTPPath:   "/",
2349		Paginator: &request.Paginator{
2350			InputTokens:     []string{"NextToken"},
2351			OutputTokens:    []string{"NextToken"},
2352			LimitToken:      "MaxResults",
2353			TruncationToken: "",
2354		},
2355	}
2356
2357	if input == nil {
2358		input = &DescribeActivationsInput{}
2359	}
2360
2361	output = &DescribeActivationsOutput{}
2362	req = c.newRequest(op, input, output)
2363	return
2364}
2365
2366// DescribeActivations API operation for Amazon Simple Systems Manager (SSM).
2367//
2368// Describes details about the activation, such as the date and time the activation
2369// was created, its expiration date, the IAM role assigned to the instances
2370// in the activation, and the number of instances registered by using this activation.
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 DescribeActivations for usage and error information.
2378//
2379// Returned Error Codes:
2380//   * ErrCodeInvalidFilter "InvalidFilter"
2381//   The filter name is not valid. Verify the you entered the correct name and
2382//   try again.
2383//
2384//   * ErrCodeInvalidNextToken "InvalidNextToken"
2385//   The specified token is not valid.
2386//
2387//   * ErrCodeInternalServerError "InternalServerError"
2388//   An error occurred on the server side.
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2391func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) {
2392	req, out := c.DescribeActivationsRequest(input)
2393	return out, req.Send()
2394}
2395
2396// DescribeActivationsWithContext is the same as DescribeActivations with the addition of
2397// the ability to pass a context and additional request options.
2398//
2399// See DescribeActivations for details on how to use this API operation.
2400//
2401// The context must be non-nil and will be used for request cancellation. If
2402// the context is nil a panic will occur. In the future the SDK may create
2403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2404// for more information on using Contexts.
2405func (c *SSM) DescribeActivationsWithContext(ctx aws.Context, input *DescribeActivationsInput, opts ...request.Option) (*DescribeActivationsOutput, error) {
2406	req, out := c.DescribeActivationsRequest(input)
2407	req.SetContext(ctx)
2408	req.ApplyOptions(opts...)
2409	return out, req.Send()
2410}
2411
2412// DescribeActivationsPages iterates over the pages of a DescribeActivations operation,
2413// calling the "fn" function with the response data for each page. To stop
2414// iterating, return false from the fn function.
2415//
2416// See DescribeActivations method for more information on how to use this operation.
2417//
2418// Note: This operation can generate multiple requests to a service.
2419//
2420//    // Example iterating over at most 3 pages of a DescribeActivations operation.
2421//    pageNum := 0
2422//    err := client.DescribeActivationsPages(params,
2423//        func(page *ssm.DescribeActivationsOutput, lastPage bool) bool {
2424//            pageNum++
2425//            fmt.Println(page)
2426//            return pageNum <= 3
2427//        })
2428//
2429func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool) error {
2430	return c.DescribeActivationsPagesWithContext(aws.BackgroundContext(), input, fn)
2431}
2432
2433// DescribeActivationsPagesWithContext same as DescribeActivationsPages except
2434// it takes a Context and allows setting request options on the pages.
2435//
2436// The context must be non-nil and will be used for request cancellation. If
2437// the context is nil a panic will occur. In the future the SDK may create
2438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2439// for more information on using Contexts.
2440func (c *SSM) DescribeActivationsPagesWithContext(ctx aws.Context, input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool, opts ...request.Option) error {
2441	p := request.Pagination{
2442		NewRequest: func() (*request.Request, error) {
2443			var inCpy *DescribeActivationsInput
2444			if input != nil {
2445				tmp := *input
2446				inCpy = &tmp
2447			}
2448			req, _ := c.DescribeActivationsRequest(inCpy)
2449			req.SetContext(ctx)
2450			req.ApplyOptions(opts...)
2451			return req, nil
2452		},
2453	}
2454
2455	for p.Next() {
2456		if !fn(p.Page().(*DescribeActivationsOutput), !p.HasNextPage()) {
2457			break
2458		}
2459	}
2460
2461	return p.Err()
2462}
2463
2464const opDescribeAssociation = "DescribeAssociation"
2465
2466// DescribeAssociationRequest generates a "aws/request.Request" representing the
2467// client's request for the DescribeAssociation operation. The "output" return
2468// value will be populated with the request's response once the request completes
2469// successfully.
2470//
2471// Use "Send" method on the returned Request to send the API call to the service.
2472// the "output" return value is not valid until after Send returns without error.
2473//
2474// See DescribeAssociation for more information on using the DescribeAssociation
2475// API call, and error handling.
2476//
2477// This method is useful when you want to inject custom logic or configuration
2478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2479//
2480//
2481//    // Example sending a request using the DescribeAssociationRequest method.
2482//    req, resp := client.DescribeAssociationRequest(params)
2483//
2484//    err := req.Send()
2485//    if err == nil { // resp is now filled
2486//        fmt.Println(resp)
2487//    }
2488//
2489// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2490func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) {
2491	op := &request.Operation{
2492		Name:       opDescribeAssociation,
2493		HTTPMethod: "POST",
2494		HTTPPath:   "/",
2495	}
2496
2497	if input == nil {
2498		input = &DescribeAssociationInput{}
2499	}
2500
2501	output = &DescribeAssociationOutput{}
2502	req = c.newRequest(op, input, output)
2503	return
2504}
2505
2506// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM).
2507//
2508// Describes the association for the specified target or instance. If you created
2509// the association by using the Targets parameter, then you must retrieve the
2510// association by using the association ID. If you created the association by
2511// specifying an instance ID and a Systems Manager document, then you retrieve
2512// the association by specifying the document name and the instance ID.
2513//
2514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2515// with awserr.Error's Code and Message methods to get detailed information about
2516// the error.
2517//
2518// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2519// API operation DescribeAssociation for usage and error information.
2520//
2521// Returned Error Codes:
2522//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2523//   The specified association does not exist.
2524//
2525//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
2526//   The version you specified is not valid. Use ListAssociationVersions to view
2527//   all versions of an association according to the association ID. Or, use the
2528//   $LATEST parameter to view the latest version of the association.
2529//
2530//   * ErrCodeInternalServerError "InternalServerError"
2531//   An error occurred on the server side.
2532//
2533//   * ErrCodeInvalidDocument "InvalidDocument"
2534//   The specified document does not exist.
2535//
2536//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
2537//   The following problems can cause this exception:
2538//
2539//   You do not have permission to access the instance.
2540//
2541//   SSM Agent is not running. Verify that SSM Agent is running.
2542//
2543//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
2544//
2545//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
2546//   Stopping. Invalid states are: Shutting-down and Terminated.
2547//
2548// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2549func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) {
2550	req, out := c.DescribeAssociationRequest(input)
2551	return out, req.Send()
2552}
2553
2554// DescribeAssociationWithContext is the same as DescribeAssociation with the addition of
2555// the ability to pass a context and additional request options.
2556//
2557// See DescribeAssociation for details on how to use this API operation.
2558//
2559// The context must be non-nil and will be used for request cancellation. If
2560// the context is nil a panic will occur. In the future the SDK may create
2561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2562// for more information on using Contexts.
2563func (c *SSM) DescribeAssociationWithContext(ctx aws.Context, input *DescribeAssociationInput, opts ...request.Option) (*DescribeAssociationOutput, error) {
2564	req, out := c.DescribeAssociationRequest(input)
2565	req.SetContext(ctx)
2566	req.ApplyOptions(opts...)
2567	return out, req.Send()
2568}
2569
2570const opDescribeAssociationExecutionTargets = "DescribeAssociationExecutionTargets"
2571
2572// DescribeAssociationExecutionTargetsRequest generates a "aws/request.Request" representing the
2573// client's request for the DescribeAssociationExecutionTargets operation. The "output" return
2574// value will be populated with the request's response once the request completes
2575// successfully.
2576//
2577// Use "Send" method on the returned Request to send the API call to the service.
2578// the "output" return value is not valid until after Send returns without error.
2579//
2580// See DescribeAssociationExecutionTargets for more information on using the DescribeAssociationExecutionTargets
2581// API call, and error handling.
2582//
2583// This method is useful when you want to inject custom logic or configuration
2584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2585//
2586//
2587//    // Example sending a request using the DescribeAssociationExecutionTargetsRequest method.
2588//    req, resp := client.DescribeAssociationExecutionTargetsRequest(params)
2589//
2590//    err := req.Send()
2591//    if err == nil { // resp is now filled
2592//        fmt.Println(resp)
2593//    }
2594//
2595// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2596func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociationExecutionTargetsInput) (req *request.Request, output *DescribeAssociationExecutionTargetsOutput) {
2597	op := &request.Operation{
2598		Name:       opDescribeAssociationExecutionTargets,
2599		HTTPMethod: "POST",
2600		HTTPPath:   "/",
2601	}
2602
2603	if input == nil {
2604		input = &DescribeAssociationExecutionTargetsInput{}
2605	}
2606
2607	output = &DescribeAssociationExecutionTargetsOutput{}
2608	req = c.newRequest(op, input, output)
2609	return
2610}
2611
2612// DescribeAssociationExecutionTargets API operation for Amazon Simple Systems Manager (SSM).
2613//
2614// Use this API action to view information about a specific execution of a specific
2615// association.
2616//
2617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2618// with awserr.Error's Code and Message methods to get detailed information about
2619// the error.
2620//
2621// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2622// API operation DescribeAssociationExecutionTargets for usage and error information.
2623//
2624// Returned Error Codes:
2625//   * ErrCodeInternalServerError "InternalServerError"
2626//   An error occurred on the server side.
2627//
2628//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2629//   The specified association does not exist.
2630//
2631//   * ErrCodeInvalidNextToken "InvalidNextToken"
2632//   The specified token is not valid.
2633//
2634//   * ErrCodeAssociationExecutionDoesNotExist "AssociationExecutionDoesNotExist"
2635//   The specified execution ID does not exist. Verify the ID number and try again.
2636//
2637// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2638func (c *SSM) DescribeAssociationExecutionTargets(input *DescribeAssociationExecutionTargetsInput) (*DescribeAssociationExecutionTargetsOutput, error) {
2639	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2640	return out, req.Send()
2641}
2642
2643// DescribeAssociationExecutionTargetsWithContext is the same as DescribeAssociationExecutionTargets with the addition of
2644// the ability to pass a context and additional request options.
2645//
2646// See DescribeAssociationExecutionTargets for details on how to use this API operation.
2647//
2648// The context must be non-nil and will be used for request cancellation. If
2649// the context is nil a panic will occur. In the future the SDK may create
2650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2651// for more information on using Contexts.
2652func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, opts ...request.Option) (*DescribeAssociationExecutionTargetsOutput, error) {
2653	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2654	req.SetContext(ctx)
2655	req.ApplyOptions(opts...)
2656	return out, req.Send()
2657}
2658
2659const opDescribeAssociationExecutions = "DescribeAssociationExecutions"
2660
2661// DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the
2662// client's request for the DescribeAssociationExecutions operation. The "output" return
2663// value will be populated with the request's response once the request completes
2664// successfully.
2665//
2666// Use "Send" method on the returned Request to send the API call to the service.
2667// the "output" return value is not valid until after Send returns without error.
2668//
2669// See DescribeAssociationExecutions for more information on using the DescribeAssociationExecutions
2670// API call, and error handling.
2671//
2672// This method is useful when you want to inject custom logic or configuration
2673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2674//
2675//
2676//    // Example sending a request using the DescribeAssociationExecutionsRequest method.
2677//    req, resp := client.DescribeAssociationExecutionsRequest(params)
2678//
2679//    err := req.Send()
2680//    if err == nil { // resp is now filled
2681//        fmt.Println(resp)
2682//    }
2683//
2684// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
2685func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExecutionsInput) (req *request.Request, output *DescribeAssociationExecutionsOutput) {
2686	op := &request.Operation{
2687		Name:       opDescribeAssociationExecutions,
2688		HTTPMethod: "POST",
2689		HTTPPath:   "/",
2690	}
2691
2692	if input == nil {
2693		input = &DescribeAssociationExecutionsInput{}
2694	}
2695
2696	output = &DescribeAssociationExecutionsOutput{}
2697	req = c.newRequest(op, input, output)
2698	return
2699}
2700
2701// DescribeAssociationExecutions API operation for Amazon Simple Systems Manager (SSM).
2702//
2703// Use this API action to view all executions for a specific association ID.
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2710// API operation DescribeAssociationExecutions for usage and error information.
2711//
2712// Returned Error Codes:
2713//   * ErrCodeInternalServerError "InternalServerError"
2714//   An error occurred on the server side.
2715//
2716//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
2717//   The specified association does not exist.
2718//
2719//   * ErrCodeInvalidNextToken "InvalidNextToken"
2720//   The specified token is not valid.
2721//
2722// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
2723func (c *SSM) DescribeAssociationExecutions(input *DescribeAssociationExecutionsInput) (*DescribeAssociationExecutionsOutput, error) {
2724	req, out := c.DescribeAssociationExecutionsRequest(input)
2725	return out, req.Send()
2726}
2727
2728// DescribeAssociationExecutionsWithContext is the same as DescribeAssociationExecutions with the addition of
2729// the ability to pass a context and additional request options.
2730//
2731// See DescribeAssociationExecutions for details on how to use this API operation.
2732//
2733// The context must be non-nil and will be used for request cancellation. If
2734// the context is nil a panic will occur. In the future the SDK may create
2735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2736// for more information on using Contexts.
2737func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, opts ...request.Option) (*DescribeAssociationExecutionsOutput, error) {
2738	req, out := c.DescribeAssociationExecutionsRequest(input)
2739	req.SetContext(ctx)
2740	req.ApplyOptions(opts...)
2741	return out, req.Send()
2742}
2743
2744const opDescribeAutomationExecutions = "DescribeAutomationExecutions"
2745
2746// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the
2747// client's request for the DescribeAutomationExecutions operation. The "output" return
2748// value will be populated with the request's response once the request completes
2749// successfully.
2750//
2751// Use "Send" method on the returned Request to send the API call to the service.
2752// the "output" return value is not valid until after Send returns without error.
2753//
2754// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions
2755// API call, and error handling.
2756//
2757// This method is useful when you want to inject custom logic or configuration
2758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2759//
2760//
2761//    // Example sending a request using the DescribeAutomationExecutionsRequest method.
2762//    req, resp := client.DescribeAutomationExecutionsRequest(params)
2763//
2764//    err := req.Send()
2765//    if err == nil { // resp is now filled
2766//        fmt.Println(resp)
2767//    }
2768//
2769// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2770func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) {
2771	op := &request.Operation{
2772		Name:       opDescribeAutomationExecutions,
2773		HTTPMethod: "POST",
2774		HTTPPath:   "/",
2775	}
2776
2777	if input == nil {
2778		input = &DescribeAutomationExecutionsInput{}
2779	}
2780
2781	output = &DescribeAutomationExecutionsOutput{}
2782	req = c.newRequest(op, input, output)
2783	return
2784}
2785
2786// DescribeAutomationExecutions API operation for Amazon Simple Systems Manager (SSM).
2787//
2788// Provides details about all active and terminated Automation executions.
2789//
2790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2791// with awserr.Error's Code and Message methods to get detailed information about
2792// the error.
2793//
2794// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2795// API operation DescribeAutomationExecutions for usage and error information.
2796//
2797// Returned Error Codes:
2798//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
2799//   The specified key is not valid.
2800//
2801//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
2802//   The filter value is not valid. Verify the value and try again.
2803//
2804//   * ErrCodeInvalidNextToken "InvalidNextToken"
2805//   The specified token is not valid.
2806//
2807//   * ErrCodeInternalServerError "InternalServerError"
2808//   An error occurred on the server side.
2809//
2810// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
2811func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) {
2812	req, out := c.DescribeAutomationExecutionsRequest(input)
2813	return out, req.Send()
2814}
2815
2816// DescribeAutomationExecutionsWithContext is the same as DescribeAutomationExecutions with the addition of
2817// the ability to pass a context and additional request options.
2818//
2819// See DescribeAutomationExecutions for details on how to use this API operation.
2820//
2821// The context must be non-nil and will be used for request cancellation. If
2822// the context is nil a panic will occur. In the future the SDK may create
2823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2824// for more information on using Contexts.
2825func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, opts ...request.Option) (*DescribeAutomationExecutionsOutput, error) {
2826	req, out := c.DescribeAutomationExecutionsRequest(input)
2827	req.SetContext(ctx)
2828	req.ApplyOptions(opts...)
2829	return out, req.Send()
2830}
2831
2832const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions"
2833
2834// DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the
2835// client's request for the DescribeAutomationStepExecutions operation. The "output" return
2836// value will be populated with the request's response once the request completes
2837// successfully.
2838//
2839// Use "Send" method on the returned Request to send the API call to the service.
2840// the "output" return value is not valid until after Send returns without error.
2841//
2842// See DescribeAutomationStepExecutions for more information on using the DescribeAutomationStepExecutions
2843// API call, and error handling.
2844//
2845// This method is useful when you want to inject custom logic or configuration
2846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2847//
2848//
2849//    // Example sending a request using the DescribeAutomationStepExecutionsRequest method.
2850//    req, resp := client.DescribeAutomationStepExecutionsRequest(params)
2851//
2852//    err := req.Send()
2853//    if err == nil { // resp is now filled
2854//        fmt.Println(resp)
2855//    }
2856//
2857// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
2858func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationStepExecutionsInput) (req *request.Request, output *DescribeAutomationStepExecutionsOutput) {
2859	op := &request.Operation{
2860		Name:       opDescribeAutomationStepExecutions,
2861		HTTPMethod: "POST",
2862		HTTPPath:   "/",
2863	}
2864
2865	if input == nil {
2866		input = &DescribeAutomationStepExecutionsInput{}
2867	}
2868
2869	output = &DescribeAutomationStepExecutionsOutput{}
2870	req = c.newRequest(op, input, output)
2871	return
2872}
2873
2874// DescribeAutomationStepExecutions API operation for Amazon Simple Systems Manager (SSM).
2875//
2876// Information about all active and terminated step executions in an Automation
2877// workflow.
2878//
2879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2880// with awserr.Error's Code and Message methods to get detailed information about
2881// the error.
2882//
2883// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2884// API operation DescribeAutomationStepExecutions for usage and error information.
2885//
2886// Returned Error Codes:
2887//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
2888//   There is no automation execution information for the requested automation
2889//   execution ID.
2890//
2891//   * ErrCodeInvalidNextToken "InvalidNextToken"
2892//   The specified token is not valid.
2893//
2894//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
2895//   The specified key is not valid.
2896//
2897//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
2898//   The filter value is not valid. Verify the value and try again.
2899//
2900//   * ErrCodeInternalServerError "InternalServerError"
2901//   An error occurred on the server side.
2902//
2903// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
2904func (c *SSM) DescribeAutomationStepExecutions(input *DescribeAutomationStepExecutionsInput) (*DescribeAutomationStepExecutionsOutput, error) {
2905	req, out := c.DescribeAutomationStepExecutionsRequest(input)
2906	return out, req.Send()
2907}
2908
2909// DescribeAutomationStepExecutionsWithContext is the same as DescribeAutomationStepExecutions with the addition of
2910// the ability to pass a context and additional request options.
2911//
2912// See DescribeAutomationStepExecutions for details on how to use this API operation.
2913//
2914// The context must be non-nil and will be used for request cancellation. If
2915// the context is nil a panic will occur. In the future the SDK may create
2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2917// for more information on using Contexts.
2918func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, opts ...request.Option) (*DescribeAutomationStepExecutionsOutput, error) {
2919	req, out := c.DescribeAutomationStepExecutionsRequest(input)
2920	req.SetContext(ctx)
2921	req.ApplyOptions(opts...)
2922	return out, req.Send()
2923}
2924
2925const opDescribeAvailablePatches = "DescribeAvailablePatches"
2926
2927// DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the
2928// client's request for the DescribeAvailablePatches operation. The "output" return
2929// value will be populated with the request's response once the request completes
2930// successfully.
2931//
2932// Use "Send" method on the returned Request to send the API call to the service.
2933// the "output" return value is not valid until after Send returns without error.
2934//
2935// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches
2936// API call, and error handling.
2937//
2938// This method is useful when you want to inject custom logic or configuration
2939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2940//
2941//
2942//    // Example sending a request using the DescribeAvailablePatchesRequest method.
2943//    req, resp := client.DescribeAvailablePatchesRequest(params)
2944//
2945//    err := req.Send()
2946//    if err == nil { // resp is now filled
2947//        fmt.Println(resp)
2948//    }
2949//
2950// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2951func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInput) (req *request.Request, output *DescribeAvailablePatchesOutput) {
2952	op := &request.Operation{
2953		Name:       opDescribeAvailablePatches,
2954		HTTPMethod: "POST",
2955		HTTPPath:   "/",
2956	}
2957
2958	if input == nil {
2959		input = &DescribeAvailablePatchesInput{}
2960	}
2961
2962	output = &DescribeAvailablePatchesOutput{}
2963	req = c.newRequest(op, input, output)
2964	return
2965}
2966
2967// DescribeAvailablePatches API operation for Amazon Simple Systems Manager (SSM).
2968//
2969// Lists all patches eligible to be included in a patch baseline.
2970//
2971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2972// with awserr.Error's Code and Message methods to get detailed information about
2973// the error.
2974//
2975// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2976// API operation DescribeAvailablePatches for usage and error information.
2977//
2978// Returned Error Codes:
2979//   * ErrCodeInternalServerError "InternalServerError"
2980//   An error occurred on the server side.
2981//
2982// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
2983func (c *SSM) DescribeAvailablePatches(input *DescribeAvailablePatchesInput) (*DescribeAvailablePatchesOutput, error) {
2984	req, out := c.DescribeAvailablePatchesRequest(input)
2985	return out, req.Send()
2986}
2987
2988// DescribeAvailablePatchesWithContext is the same as DescribeAvailablePatches with the addition of
2989// the ability to pass a context and additional request options.
2990//
2991// See DescribeAvailablePatches for details on how to use this API operation.
2992//
2993// The context must be non-nil and will be used for request cancellation. If
2994// the context is nil a panic will occur. In the future the SDK may create
2995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2996// for more information on using Contexts.
2997func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, opts ...request.Option) (*DescribeAvailablePatchesOutput, error) {
2998	req, out := c.DescribeAvailablePatchesRequest(input)
2999	req.SetContext(ctx)
3000	req.ApplyOptions(opts...)
3001	return out, req.Send()
3002}
3003
3004const opDescribeDocument = "DescribeDocument"
3005
3006// DescribeDocumentRequest generates a "aws/request.Request" representing the
3007// client's request for the DescribeDocument operation. The "output" return
3008// value will be populated with the request's response once the request completes
3009// successfully.
3010//
3011// Use "Send" method on the returned Request to send the API call to the service.
3012// the "output" return value is not valid until after Send returns without error.
3013//
3014// See DescribeDocument for more information on using the DescribeDocument
3015// API call, and error handling.
3016//
3017// This method is useful when you want to inject custom logic or configuration
3018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3019//
3020//
3021//    // Example sending a request using the DescribeDocumentRequest method.
3022//    req, resp := client.DescribeDocumentRequest(params)
3023//
3024//    err := req.Send()
3025//    if err == nil { // resp is now filled
3026//        fmt.Println(resp)
3027//    }
3028//
3029// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3030func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) {
3031	op := &request.Operation{
3032		Name:       opDescribeDocument,
3033		HTTPMethod: "POST",
3034		HTTPPath:   "/",
3035	}
3036
3037	if input == nil {
3038		input = &DescribeDocumentInput{}
3039	}
3040
3041	output = &DescribeDocumentOutput{}
3042	req = c.newRequest(op, input, output)
3043	return
3044}
3045
3046// DescribeDocument API operation for Amazon Simple Systems Manager (SSM).
3047//
3048// Describes the specified Systems Manager document.
3049//
3050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3051// with awserr.Error's Code and Message methods to get detailed information about
3052// the error.
3053//
3054// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3055// API operation DescribeDocument for usage and error information.
3056//
3057// Returned Error Codes:
3058//   * ErrCodeInternalServerError "InternalServerError"
3059//   An error occurred on the server side.
3060//
3061//   * ErrCodeInvalidDocument "InvalidDocument"
3062//   The specified document does not exist.
3063//
3064//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
3065//   The document version is not valid or does not exist.
3066//
3067// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3068func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) {
3069	req, out := c.DescribeDocumentRequest(input)
3070	return out, req.Send()
3071}
3072
3073// DescribeDocumentWithContext is the same as DescribeDocument with the addition of
3074// the ability to pass a context and additional request options.
3075//
3076// See DescribeDocument for details on how to use this API operation.
3077//
3078// The context must be non-nil and will be used for request cancellation. If
3079// the context is nil a panic will occur. In the future the SDK may create
3080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3081// for more information on using Contexts.
3082func (c *SSM) DescribeDocumentWithContext(ctx aws.Context, input *DescribeDocumentInput, opts ...request.Option) (*DescribeDocumentOutput, error) {
3083	req, out := c.DescribeDocumentRequest(input)
3084	req.SetContext(ctx)
3085	req.ApplyOptions(opts...)
3086	return out, req.Send()
3087}
3088
3089const opDescribeDocumentPermission = "DescribeDocumentPermission"
3090
3091// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the
3092// client's request for the DescribeDocumentPermission operation. The "output" return
3093// value will be populated with the request's response once the request completes
3094// successfully.
3095//
3096// Use "Send" method on the returned Request to send the API call to the service.
3097// the "output" return value is not valid until after Send returns without error.
3098//
3099// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission
3100// API call, and error handling.
3101//
3102// This method is useful when you want to inject custom logic or configuration
3103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3104//
3105//
3106//    // Example sending a request using the DescribeDocumentPermissionRequest method.
3107//    req, resp := client.DescribeDocumentPermissionRequest(params)
3108//
3109//    err := req.Send()
3110//    if err == nil { // resp is now filled
3111//        fmt.Println(resp)
3112//    }
3113//
3114// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3115func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) {
3116	op := &request.Operation{
3117		Name:       opDescribeDocumentPermission,
3118		HTTPMethod: "POST",
3119		HTTPPath:   "/",
3120	}
3121
3122	if input == nil {
3123		input = &DescribeDocumentPermissionInput{}
3124	}
3125
3126	output = &DescribeDocumentPermissionOutput{}
3127	req = c.newRequest(op, input, output)
3128	return
3129}
3130
3131// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
3132//
3133// Describes the permissions for a Systems Manager document. If you created
3134// the document, you are the owner. If a document is shared, it can either be
3135// shared privately (by specifying a user's AWS account ID) or publicly (All).
3136//
3137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3138// with awserr.Error's Code and Message methods to get detailed information about
3139// the error.
3140//
3141// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3142// API operation DescribeDocumentPermission for usage and error information.
3143//
3144// Returned Error Codes:
3145//   * ErrCodeInternalServerError "InternalServerError"
3146//   An error occurred on the server side.
3147//
3148//   * ErrCodeInvalidDocument "InvalidDocument"
3149//   The specified document does not exist.
3150//
3151//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
3152//   The permission type is not supported. Share is the only supported permission
3153//   type.
3154//
3155// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3156func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) {
3157	req, out := c.DescribeDocumentPermissionRequest(input)
3158	return out, req.Send()
3159}
3160
3161// DescribeDocumentPermissionWithContext is the same as DescribeDocumentPermission with the addition of
3162// the ability to pass a context and additional request options.
3163//
3164// See DescribeDocumentPermission for details on how to use this API operation.
3165//
3166// The context must be non-nil and will be used for request cancellation. If
3167// the context is nil a panic will occur. In the future the SDK may create
3168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3169// for more information on using Contexts.
3170func (c *SSM) DescribeDocumentPermissionWithContext(ctx aws.Context, input *DescribeDocumentPermissionInput, opts ...request.Option) (*DescribeDocumentPermissionOutput, error) {
3171	req, out := c.DescribeDocumentPermissionRequest(input)
3172	req.SetContext(ctx)
3173	req.ApplyOptions(opts...)
3174	return out, req.Send()
3175}
3176
3177const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations"
3178
3179// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the
3180// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return
3181// value will be populated with the request's response once the request completes
3182// successfully.
3183//
3184// Use "Send" method on the returned Request to send the API call to the service.
3185// the "output" return value is not valid until after Send returns without error.
3186//
3187// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations
3188// API call, and error handling.
3189//
3190// This method is useful when you want to inject custom logic or configuration
3191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3192//
3193//
3194//    // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method.
3195//    req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params)
3196//
3197//    err := req.Send()
3198//    if err == nil { // resp is now filled
3199//        fmt.Println(resp)
3200//    }
3201//
3202// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3203func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) {
3204	op := &request.Operation{
3205		Name:       opDescribeEffectiveInstanceAssociations,
3206		HTTPMethod: "POST",
3207		HTTPPath:   "/",
3208	}
3209
3210	if input == nil {
3211		input = &DescribeEffectiveInstanceAssociationsInput{}
3212	}
3213
3214	output = &DescribeEffectiveInstanceAssociationsOutput{}
3215	req = c.newRequest(op, input, output)
3216	return
3217}
3218
3219// DescribeEffectiveInstanceAssociations API operation for Amazon Simple Systems Manager (SSM).
3220//
3221// All associations for the instance(s).
3222//
3223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3224// with awserr.Error's Code and Message methods to get detailed information about
3225// the error.
3226//
3227// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3228// API operation DescribeEffectiveInstanceAssociations for usage and error information.
3229//
3230// Returned Error Codes:
3231//   * ErrCodeInternalServerError "InternalServerError"
3232//   An error occurred on the server side.
3233//
3234//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3235//   The following problems can cause this exception:
3236//
3237//   You do not have permission to access the instance.
3238//
3239//   SSM Agent is not running. Verify that SSM Agent is running.
3240//
3241//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3242//
3243//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3244//   Stopping. Invalid states are: Shutting-down and Terminated.
3245//
3246//   * ErrCodeInvalidNextToken "InvalidNextToken"
3247//   The specified token is not valid.
3248//
3249// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3250func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3251	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3252	return out, req.Send()
3253}
3254
3255// DescribeEffectiveInstanceAssociationsWithContext is the same as DescribeEffectiveInstanceAssociations with the addition of
3256// the ability to pass a context and additional request options.
3257//
3258// See DescribeEffectiveInstanceAssociations for details on how to use this API operation.
3259//
3260// The context must be non-nil and will be used for request cancellation. If
3261// the context is nil a panic will occur. In the future the SDK may create
3262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3263// for more information on using Contexts.
3264func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, opts ...request.Option) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3265	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3266	req.SetContext(ctx)
3267	req.ApplyOptions(opts...)
3268	return out, req.Send()
3269}
3270
3271const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline"
3272
3273// DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the
3274// client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return
3275// value will be populated with the request's response once the request completes
3276// successfully.
3277//
3278// Use "Send" method on the returned Request to send the API call to the service.
3279// the "output" return value is not valid until after Send returns without error.
3280//
3281// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline
3282// API call, and error handling.
3283//
3284// This method is useful when you want to inject custom logic or configuration
3285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3286//
3287//
3288//    // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method.
3289//    req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params)
3290//
3291//    err := req.Send()
3292//    if err == nil { // resp is now filled
3293//        fmt.Println(resp)
3294//    }
3295//
3296// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
3297func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEffectivePatchesForPatchBaselineInput) (req *request.Request, output *DescribeEffectivePatchesForPatchBaselineOutput) {
3298	op := &request.Operation{
3299		Name:       opDescribeEffectivePatchesForPatchBaseline,
3300		HTTPMethod: "POST",
3301		HTTPPath:   "/",
3302	}
3303
3304	if input == nil {
3305		input = &DescribeEffectivePatchesForPatchBaselineInput{}
3306	}
3307
3308	output = &DescribeEffectivePatchesForPatchBaselineOutput{}
3309	req = c.newRequest(op, input, output)
3310	return
3311}
3312
3313// DescribeEffectivePatchesForPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
3314//
3315// Retrieves the current effective patches (the patch and the approval state)
3316// for the specified patch baseline. Note that this API applies only to Windows
3317// patch baselines.
3318//
3319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3320// with awserr.Error's Code and Message methods to get detailed information about
3321// the error.
3322//
3323// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3324// API operation DescribeEffectivePatchesForPatchBaseline for usage and error information.
3325//
3326// Returned Error Codes:
3327//   * ErrCodeInvalidResourceId "InvalidResourceId"
3328//   The resource ID is not valid. Verify that you entered the correct ID and
3329//   try again.
3330//
3331//   * ErrCodeDoesNotExistException "DoesNotExistException"
3332//   Error returned when the ID specified for a resource, such as a maintenance
3333//   window or Patch baseline, doesn't exist.
3334//
3335//   For information about resource limits in Systems Manager, see AWS Systems
3336//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
3337//
3338//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
3339//   The operating systems you specified is not supported, or the operation is
3340//   not supported for the operating system. Valid operating systems include:
3341//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
3342//
3343//   * ErrCodeInternalServerError "InternalServerError"
3344//   An error occurred on the server side.
3345//
3346// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
3347func (c *SSM) DescribeEffectivePatchesForPatchBaseline(input *DescribeEffectivePatchesForPatchBaselineInput) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
3348	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
3349	return out, req.Send()
3350}
3351
3352// DescribeEffectivePatchesForPatchBaselineWithContext is the same as DescribeEffectivePatchesForPatchBaseline with the addition of
3353// the ability to pass a context and additional request options.
3354//
3355// See DescribeEffectivePatchesForPatchBaseline for details on how to use this API operation.
3356//
3357// The context must be non-nil and will be used for request cancellation. If
3358// the context is nil a panic will occur. In the future the SDK may create
3359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3360// for more information on using Contexts.
3361func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, opts ...request.Option) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
3362	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
3363	req.SetContext(ctx)
3364	req.ApplyOptions(opts...)
3365	return out, req.Send()
3366}
3367
3368const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus"
3369
3370// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the
3371// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return
3372// value will be populated with the request's response once the request completes
3373// successfully.
3374//
3375// Use "Send" method on the returned Request to send the API call to the service.
3376// the "output" return value is not valid until after Send returns without error.
3377//
3378// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus
3379// API call, and error handling.
3380//
3381// This method is useful when you want to inject custom logic or configuration
3382// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3383//
3384//
3385//    // Example sending a request using the DescribeInstanceAssociationsStatusRequest method.
3386//    req, resp := client.DescribeInstanceAssociationsStatusRequest(params)
3387//
3388//    err := req.Send()
3389//    if err == nil { // resp is now filled
3390//        fmt.Println(resp)
3391//    }
3392//
3393// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
3394func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) {
3395	op := &request.Operation{
3396		Name:       opDescribeInstanceAssociationsStatus,
3397		HTTPMethod: "POST",
3398		HTTPPath:   "/",
3399	}
3400
3401	if input == nil {
3402		input = &DescribeInstanceAssociationsStatusInput{}
3403	}
3404
3405	output = &DescribeInstanceAssociationsStatusOutput{}
3406	req = c.newRequest(op, input, output)
3407	return
3408}
3409
3410// DescribeInstanceAssociationsStatus API operation for Amazon Simple Systems Manager (SSM).
3411//
3412// The status of the associations for the instance(s).
3413//
3414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3415// with awserr.Error's Code and Message methods to get detailed information about
3416// the error.
3417//
3418// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3419// API operation DescribeInstanceAssociationsStatus for usage and error information.
3420//
3421// Returned Error Codes:
3422//   * ErrCodeInternalServerError "InternalServerError"
3423//   An error occurred on the server side.
3424//
3425//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3426//   The following problems can cause this exception:
3427//
3428//   You do not have permission to access the instance.
3429//
3430//   SSM Agent is not running. Verify that SSM Agent is running.
3431//
3432//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3433//
3434//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3435//   Stopping. Invalid states are: Shutting-down and Terminated.
3436//
3437//   * ErrCodeInvalidNextToken "InvalidNextToken"
3438//   The specified token is not valid.
3439//
3440// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
3441func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) {
3442	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
3443	return out, req.Send()
3444}
3445
3446// DescribeInstanceAssociationsStatusWithContext is the same as DescribeInstanceAssociationsStatus with the addition of
3447// the ability to pass a context and additional request options.
3448//
3449// See DescribeInstanceAssociationsStatus for details on how to use this API operation.
3450//
3451// The context must be non-nil and will be used for request cancellation. If
3452// the context is nil a panic will occur. In the future the SDK may create
3453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3454// for more information on using Contexts.
3455func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, opts ...request.Option) (*DescribeInstanceAssociationsStatusOutput, error) {
3456	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
3457	req.SetContext(ctx)
3458	req.ApplyOptions(opts...)
3459	return out, req.Send()
3460}
3461
3462const opDescribeInstanceInformation = "DescribeInstanceInformation"
3463
3464// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the
3465// client's request for the DescribeInstanceInformation operation. The "output" return
3466// value will be populated with the request's response once the request completes
3467// successfully.
3468//
3469// Use "Send" method on the returned Request to send the API call to the service.
3470// the "output" return value is not valid until after Send returns without error.
3471//
3472// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation
3473// API call, and error handling.
3474//
3475// This method is useful when you want to inject custom logic or configuration
3476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3477//
3478//
3479//    // Example sending a request using the DescribeInstanceInformationRequest method.
3480//    req, resp := client.DescribeInstanceInformationRequest(params)
3481//
3482//    err := req.Send()
3483//    if err == nil { // resp is now filled
3484//        fmt.Println(resp)
3485//    }
3486//
3487// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
3488func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) {
3489	op := &request.Operation{
3490		Name:       opDescribeInstanceInformation,
3491		HTTPMethod: "POST",
3492		HTTPPath:   "/",
3493		Paginator: &request.Paginator{
3494			InputTokens:     []string{"NextToken"},
3495			OutputTokens:    []string{"NextToken"},
3496			LimitToken:      "MaxResults",
3497			TruncationToken: "",
3498		},
3499	}
3500
3501	if input == nil {
3502		input = &DescribeInstanceInformationInput{}
3503	}
3504
3505	output = &DescribeInstanceInformationOutput{}
3506	req = c.newRequest(op, input, output)
3507	return
3508}
3509
3510// DescribeInstanceInformation API operation for Amazon Simple Systems Manager (SSM).
3511//
3512// Describes one or more of your instances. You can use this to get information
3513// about instances like the operating system platform, the SSM Agent version
3514// (Linux), status etc. If you specify one or more instance IDs, it returns
3515// information for those instances. If you do not specify instance IDs, it returns
3516// information for all your instances. If you specify an instance ID that is
3517// not valid or an instance that you do not own, you receive an error.
3518//
3519// The IamRole field for this API action is the Amazon Identity and Access Management
3520// (IAM) role assigned to on-premises instances. This call does not return the
3521// IAM role for Amazon EC2 instances.
3522//
3523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3524// with awserr.Error's Code and Message methods to get detailed information about
3525// the error.
3526//
3527// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3528// API operation DescribeInstanceInformation for usage and error information.
3529//
3530// Returned Error Codes:
3531//   * ErrCodeInternalServerError "InternalServerError"
3532//   An error occurred on the server side.
3533//
3534//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3535//   The following problems can cause this exception:
3536//
3537//   You do not have permission to access the instance.
3538//
3539//   SSM Agent is not running. Verify that SSM Agent is running.
3540//
3541//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3542//
3543//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3544//   Stopping. Invalid states are: Shutting-down and Terminated.
3545//
3546//   * ErrCodeInvalidNextToken "InvalidNextToken"
3547//   The specified token is not valid.
3548//
3549//   * ErrCodeInvalidInstanceInformationFilterValue "InvalidInstanceInformationFilterValue"
3550//   The specified filter value is not valid.
3551//
3552//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
3553//   The specified key is not valid.
3554//
3555// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
3556func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) {
3557	req, out := c.DescribeInstanceInformationRequest(input)
3558	return out, req.Send()
3559}
3560
3561// DescribeInstanceInformationWithContext is the same as DescribeInstanceInformation with the addition of
3562// the ability to pass a context and additional request options.
3563//
3564// See DescribeInstanceInformation for details on how to use this API operation.
3565//
3566// The context must be non-nil and will be used for request cancellation. If
3567// the context is nil a panic will occur. In the future the SDK may create
3568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3569// for more information on using Contexts.
3570func (c *SSM) DescribeInstanceInformationWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, opts ...request.Option) (*DescribeInstanceInformationOutput, error) {
3571	req, out := c.DescribeInstanceInformationRequest(input)
3572	req.SetContext(ctx)
3573	req.ApplyOptions(opts...)
3574	return out, req.Send()
3575}
3576
3577// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation,
3578// calling the "fn" function with the response data for each page. To stop
3579// iterating, return false from the fn function.
3580//
3581// See DescribeInstanceInformation method for more information on how to use this operation.
3582//
3583// Note: This operation can generate multiple requests to a service.
3584//
3585//    // Example iterating over at most 3 pages of a DescribeInstanceInformation operation.
3586//    pageNum := 0
3587//    err := client.DescribeInstanceInformationPages(params,
3588//        func(page *ssm.DescribeInstanceInformationOutput, lastPage bool) bool {
3589//            pageNum++
3590//            fmt.Println(page)
3591//            return pageNum <= 3
3592//        })
3593//
3594func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool) error {
3595	return c.DescribeInstanceInformationPagesWithContext(aws.BackgroundContext(), input, fn)
3596}
3597
3598// DescribeInstanceInformationPagesWithContext same as DescribeInstanceInformationPages except
3599// it takes a Context and allows setting request options on the pages.
3600//
3601// The context must be non-nil and will be used for request cancellation. If
3602// the context is nil a panic will occur. In the future the SDK may create
3603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3604// for more information on using Contexts.
3605func (c *SSM) DescribeInstanceInformationPagesWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool, opts ...request.Option) error {
3606	p := request.Pagination{
3607		NewRequest: func() (*request.Request, error) {
3608			var inCpy *DescribeInstanceInformationInput
3609			if input != nil {
3610				tmp := *input
3611				inCpy = &tmp
3612			}
3613			req, _ := c.DescribeInstanceInformationRequest(inCpy)
3614			req.SetContext(ctx)
3615			req.ApplyOptions(opts...)
3616			return req, nil
3617		},
3618	}
3619
3620	for p.Next() {
3621		if !fn(p.Page().(*DescribeInstanceInformationOutput), !p.HasNextPage()) {
3622			break
3623		}
3624	}
3625
3626	return p.Err()
3627}
3628
3629const opDescribeInstancePatchStates = "DescribeInstancePatchStates"
3630
3631// DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the
3632// client's request for the DescribeInstancePatchStates operation. The "output" return
3633// value will be populated with the request's response once the request completes
3634// successfully.
3635//
3636// Use "Send" method on the returned Request to send the API call to the service.
3637// the "output" return value is not valid until after Send returns without error.
3638//
3639// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates
3640// API call, and error handling.
3641//
3642// This method is useful when you want to inject custom logic or configuration
3643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3644//
3645//
3646//    // Example sending a request using the DescribeInstancePatchStatesRequest method.
3647//    req, resp := client.DescribeInstancePatchStatesRequest(params)
3648//
3649//    err := req.Send()
3650//    if err == nil { // resp is now filled
3651//        fmt.Println(resp)
3652//    }
3653//
3654// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3655func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchStatesInput) (req *request.Request, output *DescribeInstancePatchStatesOutput) {
3656	op := &request.Operation{
3657		Name:       opDescribeInstancePatchStates,
3658		HTTPMethod: "POST",
3659		HTTPPath:   "/",
3660	}
3661
3662	if input == nil {
3663		input = &DescribeInstancePatchStatesInput{}
3664	}
3665
3666	output = &DescribeInstancePatchStatesOutput{}
3667	req = c.newRequest(op, input, output)
3668	return
3669}
3670
3671// DescribeInstancePatchStates API operation for Amazon Simple Systems Manager (SSM).
3672//
3673// Retrieves the high-level patch state of one or more instances.
3674//
3675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3676// with awserr.Error's Code and Message methods to get detailed information about
3677// the error.
3678//
3679// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3680// API operation DescribeInstancePatchStates for usage and error information.
3681//
3682// Returned Error Codes:
3683//   * ErrCodeInternalServerError "InternalServerError"
3684//   An error occurred on the server side.
3685//
3686//   * ErrCodeInvalidNextToken "InvalidNextToken"
3687//   The specified token is not valid.
3688//
3689// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
3690func (c *SSM) DescribeInstancePatchStates(input *DescribeInstancePatchStatesInput) (*DescribeInstancePatchStatesOutput, error) {
3691	req, out := c.DescribeInstancePatchStatesRequest(input)
3692	return out, req.Send()
3693}
3694
3695// DescribeInstancePatchStatesWithContext is the same as DescribeInstancePatchStates with the addition of
3696// the ability to pass a context and additional request options.
3697//
3698// See DescribeInstancePatchStates for details on how to use this API operation.
3699//
3700// The context must be non-nil and will be used for request cancellation. If
3701// the context is nil a panic will occur. In the future the SDK may create
3702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3703// for more information on using Contexts.
3704func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, opts ...request.Option) (*DescribeInstancePatchStatesOutput, error) {
3705	req, out := c.DescribeInstancePatchStatesRequest(input)
3706	req.SetContext(ctx)
3707	req.ApplyOptions(opts...)
3708	return out, req.Send()
3709}
3710
3711const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup"
3712
3713// DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the
3714// client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return
3715// value will be populated with the request's response once the request completes
3716// successfully.
3717//
3718// Use "Send" method on the returned Request to send the API call to the service.
3719// the "output" return value is not valid until after Send returns without error.
3720//
3721// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup
3722// API call, and error handling.
3723//
3724// This method is useful when you want to inject custom logic or configuration
3725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3726//
3727//
3728//    // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method.
3729//    req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params)
3730//
3731//    err := req.Send()
3732//    if err == nil { // resp is now filled
3733//        fmt.Println(resp)
3734//    }
3735//
3736// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3737func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeInstancePatchStatesForPatchGroupInput) (req *request.Request, output *DescribeInstancePatchStatesForPatchGroupOutput) {
3738	op := &request.Operation{
3739		Name:       opDescribeInstancePatchStatesForPatchGroup,
3740		HTTPMethod: "POST",
3741		HTTPPath:   "/",
3742	}
3743
3744	if input == nil {
3745		input = &DescribeInstancePatchStatesForPatchGroupInput{}
3746	}
3747
3748	output = &DescribeInstancePatchStatesForPatchGroupOutput{}
3749	req = c.newRequest(op, input, output)
3750	return
3751}
3752
3753// DescribeInstancePatchStatesForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
3754//
3755// Retrieves the high-level patch state for the instances in the specified patch
3756// group.
3757//
3758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3759// with awserr.Error's Code and Message methods to get detailed information about
3760// the error.
3761//
3762// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3763// API operation DescribeInstancePatchStatesForPatchGroup for usage and error information.
3764//
3765// Returned Error Codes:
3766//   * ErrCodeInternalServerError "InternalServerError"
3767//   An error occurred on the server side.
3768//
3769//   * ErrCodeInvalidFilter "InvalidFilter"
3770//   The filter name is not valid. Verify the you entered the correct name and
3771//   try again.
3772//
3773//   * ErrCodeInvalidNextToken "InvalidNextToken"
3774//   The specified token is not valid.
3775//
3776// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
3777func (c *SSM) DescribeInstancePatchStatesForPatchGroup(input *DescribeInstancePatchStatesForPatchGroupInput) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3778	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3779	return out, req.Send()
3780}
3781
3782// DescribeInstancePatchStatesForPatchGroupWithContext is the same as DescribeInstancePatchStatesForPatchGroup with the addition of
3783// the ability to pass a context and additional request options.
3784//
3785// See DescribeInstancePatchStatesForPatchGroup for details on how to use this API operation.
3786//
3787// The context must be non-nil and will be used for request cancellation. If
3788// the context is nil a panic will occur. In the future the SDK may create
3789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3790// for more information on using Contexts.
3791func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, opts ...request.Option) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
3792	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
3793	req.SetContext(ctx)
3794	req.ApplyOptions(opts...)
3795	return out, req.Send()
3796}
3797
3798const opDescribeInstancePatches = "DescribeInstancePatches"
3799
3800// DescribeInstancePatchesRequest generates a "aws/request.Request" representing the
3801// client's request for the DescribeInstancePatches operation. The "output" return
3802// value will be populated with the request's response once the request completes
3803// successfully.
3804//
3805// Use "Send" method on the returned Request to send the API call to the service.
3806// the "output" return value is not valid until after Send returns without error.
3807//
3808// See DescribeInstancePatches for more information on using the DescribeInstancePatches
3809// API call, and error handling.
3810//
3811// This method is useful when you want to inject custom logic or configuration
3812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3813//
3814//
3815//    // Example sending a request using the DescribeInstancePatchesRequest method.
3816//    req, resp := client.DescribeInstancePatchesRequest(params)
3817//
3818//    err := req.Send()
3819//    if err == nil { // resp is now filled
3820//        fmt.Println(resp)
3821//    }
3822//
3823// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3824func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput) (req *request.Request, output *DescribeInstancePatchesOutput) {
3825	op := &request.Operation{
3826		Name:       opDescribeInstancePatches,
3827		HTTPMethod: "POST",
3828		HTTPPath:   "/",
3829	}
3830
3831	if input == nil {
3832		input = &DescribeInstancePatchesInput{}
3833	}
3834
3835	output = &DescribeInstancePatchesOutput{}
3836	req = c.newRequest(op, input, output)
3837	return
3838}
3839
3840// DescribeInstancePatches API operation for Amazon Simple Systems Manager (SSM).
3841//
3842// Retrieves information about the patches on the specified instance and their
3843// state relative to the patch baseline being used for the instance.
3844//
3845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3846// with awserr.Error's Code and Message methods to get detailed information about
3847// the error.
3848//
3849// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3850// API operation DescribeInstancePatches for usage and error information.
3851//
3852// Returned Error Codes:
3853//   * ErrCodeInternalServerError "InternalServerError"
3854//   An error occurred on the server side.
3855//
3856//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
3857//   The following problems can cause this exception:
3858//
3859//   You do not have permission to access the instance.
3860//
3861//   SSM Agent is not running. Verify that SSM Agent is running.
3862//
3863//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
3864//
3865//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
3866//   Stopping. Invalid states are: Shutting-down and Terminated.
3867//
3868//   * ErrCodeInvalidFilter "InvalidFilter"
3869//   The filter name is not valid. Verify the you entered the correct name and
3870//   try again.
3871//
3872//   * ErrCodeInvalidNextToken "InvalidNextToken"
3873//   The specified token is not valid.
3874//
3875// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
3876func (c *SSM) DescribeInstancePatches(input *DescribeInstancePatchesInput) (*DescribeInstancePatchesOutput, error) {
3877	req, out := c.DescribeInstancePatchesRequest(input)
3878	return out, req.Send()
3879}
3880
3881// DescribeInstancePatchesWithContext is the same as DescribeInstancePatches with the addition of
3882// the ability to pass a context and additional request options.
3883//
3884// See DescribeInstancePatches for details on how to use this API operation.
3885//
3886// The context must be non-nil and will be used for request cancellation. If
3887// the context is nil a panic will occur. In the future the SDK may create
3888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3889// for more information on using Contexts.
3890func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, opts ...request.Option) (*DescribeInstancePatchesOutput, error) {
3891	req, out := c.DescribeInstancePatchesRequest(input)
3892	req.SetContext(ctx)
3893	req.ApplyOptions(opts...)
3894	return out, req.Send()
3895}
3896
3897const opDescribeInventoryDeletions = "DescribeInventoryDeletions"
3898
3899// DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the
3900// client's request for the DescribeInventoryDeletions operation. The "output" return
3901// value will be populated with the request's response once the request completes
3902// successfully.
3903//
3904// Use "Send" method on the returned Request to send the API call to the service.
3905// the "output" return value is not valid until after Send returns without error.
3906//
3907// See DescribeInventoryDeletions for more information on using the DescribeInventoryDeletions
3908// API call, and error handling.
3909//
3910// This method is useful when you want to inject custom logic or configuration
3911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3912//
3913//
3914//    // Example sending a request using the DescribeInventoryDeletionsRequest method.
3915//    req, resp := client.DescribeInventoryDeletionsRequest(params)
3916//
3917//    err := req.Send()
3918//    if err == nil { // resp is now filled
3919//        fmt.Println(resp)
3920//    }
3921//
3922// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
3923func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletionsInput) (req *request.Request, output *DescribeInventoryDeletionsOutput) {
3924	op := &request.Operation{
3925		Name:       opDescribeInventoryDeletions,
3926		HTTPMethod: "POST",
3927		HTTPPath:   "/",
3928	}
3929
3930	if input == nil {
3931		input = &DescribeInventoryDeletionsInput{}
3932	}
3933
3934	output = &DescribeInventoryDeletionsOutput{}
3935	req = c.newRequest(op, input, output)
3936	return
3937}
3938
3939// DescribeInventoryDeletions API operation for Amazon Simple Systems Manager (SSM).
3940//
3941// Describes a specific delete inventory operation.
3942//
3943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3944// with awserr.Error's Code and Message methods to get detailed information about
3945// the error.
3946//
3947// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3948// API operation DescribeInventoryDeletions for usage and error information.
3949//
3950// Returned Error Codes:
3951//   * ErrCodeInternalServerError "InternalServerError"
3952//   An error occurred on the server side.
3953//
3954//   * ErrCodeInvalidDeletionIdException "InvalidDeletionIdException"
3955//   The ID specified for the delete operation does not exist or is not valid.
3956//   Verify the ID and try again.
3957//
3958//   * ErrCodeInvalidNextToken "InvalidNextToken"
3959//   The specified token is not valid.
3960//
3961// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
3962func (c *SSM) DescribeInventoryDeletions(input *DescribeInventoryDeletionsInput) (*DescribeInventoryDeletionsOutput, error) {
3963	req, out := c.DescribeInventoryDeletionsRequest(input)
3964	return out, req.Send()
3965}
3966
3967// DescribeInventoryDeletionsWithContext is the same as DescribeInventoryDeletions with the addition of
3968// the ability to pass a context and additional request options.
3969//
3970// See DescribeInventoryDeletions for details on how to use this API operation.
3971//
3972// The context must be non-nil and will be used for request cancellation. If
3973// the context is nil a panic will occur. In the future the SDK may create
3974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3975// for more information on using Contexts.
3976func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, opts ...request.Option) (*DescribeInventoryDeletionsOutput, error) {
3977	req, out := c.DescribeInventoryDeletionsRequest(input)
3978	req.SetContext(ctx)
3979	req.ApplyOptions(opts...)
3980	return out, req.Send()
3981}
3982
3983const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations"
3984
3985// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the
3986// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return
3987// value will be populated with the request's response once the request completes
3988// successfully.
3989//
3990// Use "Send" method on the returned Request to send the API call to the service.
3991// the "output" return value is not valid until after Send returns without error.
3992//
3993// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations
3994// API call, and error handling.
3995//
3996// This method is useful when you want to inject custom logic or configuration
3997// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3998//
3999//
4000//    // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method.
4001//    req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params)
4002//
4003//    err := req.Send()
4004//    if err == nil { // resp is now filled
4005//        fmt.Println(resp)
4006//    }
4007//
4008// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
4009func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) {
4010	op := &request.Operation{
4011		Name:       opDescribeMaintenanceWindowExecutionTaskInvocations,
4012		HTTPMethod: "POST",
4013		HTTPPath:   "/",
4014	}
4015
4016	if input == nil {
4017		input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{}
4018	}
4019
4020	output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{}
4021	req = c.newRequest(op, input, output)
4022	return
4023}
4024
4025// DescribeMaintenanceWindowExecutionTaskInvocations API operation for Amazon Simple Systems Manager (SSM).
4026//
4027// Retrieves the individual task executions (one per target) for a particular
4028// task run as part of a maintenance window execution.
4029//
4030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4031// with awserr.Error's Code and Message methods to get detailed information about
4032// the error.
4033//
4034// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4035// API operation DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information.
4036//
4037// Returned Error Codes:
4038//   * ErrCodeDoesNotExistException "DoesNotExistException"
4039//   Error returned when the ID specified for a resource, such as a maintenance
4040//   window or Patch baseline, doesn't exist.
4041//
4042//   For information about resource limits in Systems Manager, see AWS Systems
4043//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4044//
4045//   * ErrCodeInternalServerError "InternalServerError"
4046//   An error occurred on the server side.
4047//
4048// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
4049func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
4050	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
4051	return out, req.Send()
4052}
4053
4054// DescribeMaintenanceWindowExecutionTaskInvocationsWithContext is the same as DescribeMaintenanceWindowExecutionTaskInvocations with the addition of
4055// the ability to pass a context and additional request options.
4056//
4057// See DescribeMaintenanceWindowExecutionTaskInvocations for details on how to use this API operation.
4058//
4059// The context must be non-nil and will be used for request cancellation. If
4060// the context is nil a panic will occur. In the future the SDK may create
4061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4062// for more information on using Contexts.
4063func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
4064	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
4065	req.SetContext(ctx)
4066	req.ApplyOptions(opts...)
4067	return out, req.Send()
4068}
4069
4070const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks"
4071
4072// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the
4073// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return
4074// value will be populated with the request's response once the request completes
4075// successfully.
4076//
4077// Use "Send" method on the returned Request to send the API call to the service.
4078// the "output" return value is not valid until after Send returns without error.
4079//
4080// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks
4081// API call, and error handling.
4082//
4083// This method is useful when you want to inject custom logic or configuration
4084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4085//
4086//
4087//    // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method.
4088//    req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params)
4089//
4090//    err := req.Send()
4091//    if err == nil { // resp is now filled
4092//        fmt.Println(resp)
4093//    }
4094//
4095// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
4096func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) {
4097	op := &request.Operation{
4098		Name:       opDescribeMaintenanceWindowExecutionTasks,
4099		HTTPMethod: "POST",
4100		HTTPPath:   "/",
4101	}
4102
4103	if input == nil {
4104		input = &DescribeMaintenanceWindowExecutionTasksInput{}
4105	}
4106
4107	output = &DescribeMaintenanceWindowExecutionTasksOutput{}
4108	req = c.newRequest(op, input, output)
4109	return
4110}
4111
4112// DescribeMaintenanceWindowExecutionTasks API operation for Amazon Simple Systems Manager (SSM).
4113//
4114// For a given maintenance window execution, lists the tasks that were run.
4115//
4116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4117// with awserr.Error's Code and Message methods to get detailed information about
4118// the error.
4119//
4120// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4121// API operation DescribeMaintenanceWindowExecutionTasks for usage and error information.
4122//
4123// Returned Error Codes:
4124//   * ErrCodeDoesNotExistException "DoesNotExistException"
4125//   Error returned when the ID specified for a resource, such as a maintenance
4126//   window or Patch baseline, doesn't exist.
4127//
4128//   For information about resource limits in Systems Manager, see AWS Systems
4129//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4130//
4131//   * ErrCodeInternalServerError "InternalServerError"
4132//   An error occurred on the server side.
4133//
4134// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
4135func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
4136	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
4137	return out, req.Send()
4138}
4139
4140// DescribeMaintenanceWindowExecutionTasksWithContext is the same as DescribeMaintenanceWindowExecutionTasks with the addition of
4141// the ability to pass a context and additional request options.
4142//
4143// See DescribeMaintenanceWindowExecutionTasks for details on how to use this API operation.
4144//
4145// The context must be non-nil and will be used for request cancellation. If
4146// the context is nil a panic will occur. In the future the SDK may create
4147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4148// for more information on using Contexts.
4149func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
4150	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
4151	req.SetContext(ctx)
4152	req.ApplyOptions(opts...)
4153	return out, req.Send()
4154}
4155
4156const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions"
4157
4158// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the
4159// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return
4160// value will be populated with the request's response once the request completes
4161// successfully.
4162//
4163// Use "Send" method on the returned Request to send the API call to the service.
4164// the "output" return value is not valid until after Send returns without error.
4165//
4166// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions
4167// API call, and error handling.
4168//
4169// This method is useful when you want to inject custom logic or configuration
4170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4171//
4172//
4173//    // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method.
4174//    req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params)
4175//
4176//    err := req.Send()
4177//    if err == nil { // resp is now filled
4178//        fmt.Println(resp)
4179//    }
4180//
4181// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
4182func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) {
4183	op := &request.Operation{
4184		Name:       opDescribeMaintenanceWindowExecutions,
4185		HTTPMethod: "POST",
4186		HTTPPath:   "/",
4187	}
4188
4189	if input == nil {
4190		input = &DescribeMaintenanceWindowExecutionsInput{}
4191	}
4192
4193	output = &DescribeMaintenanceWindowExecutionsOutput{}
4194	req = c.newRequest(op, input, output)
4195	return
4196}
4197
4198// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM).
4199//
4200// Lists the executions of a maintenance window. This includes information about
4201// when the maintenance window was scheduled to be active, and information about
4202// tasks registered and run with the maintenance window.
4203//
4204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4205// with awserr.Error's Code and Message methods to get detailed information about
4206// the error.
4207//
4208// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4209// API operation DescribeMaintenanceWindowExecutions for usage and error information.
4210//
4211// Returned Error Codes:
4212//   * ErrCodeInternalServerError "InternalServerError"
4213//   An error occurred on the server side.
4214//
4215// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
4216func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) {
4217	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
4218	return out, req.Send()
4219}
4220
4221// DescribeMaintenanceWindowExecutionsWithContext is the same as DescribeMaintenanceWindowExecutions with the addition of
4222// the ability to pass a context and additional request options.
4223//
4224// See DescribeMaintenanceWindowExecutions for details on how to use this API operation.
4225//
4226// The context must be non-nil and will be used for request cancellation. If
4227// the context is nil a panic will occur. In the future the SDK may create
4228// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4229// for more information on using Contexts.
4230func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionsOutput, error) {
4231	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
4232	req.SetContext(ctx)
4233	req.ApplyOptions(opts...)
4234	return out, req.Send()
4235}
4236
4237const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule"
4238
4239// DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the
4240// client's request for the DescribeMaintenanceWindowSchedule operation. The "output" return
4241// value will be populated with the request's response once the request completes
4242// successfully.
4243//
4244// Use "Send" method on the returned Request to send the API call to the service.
4245// the "output" return value is not valid until after Send returns without error.
4246//
4247// See DescribeMaintenanceWindowSchedule for more information on using the DescribeMaintenanceWindowSchedule
4248// API call, and error handling.
4249//
4250// This method is useful when you want to inject custom logic or configuration
4251// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4252//
4253//
4254//    // Example sending a request using the DescribeMaintenanceWindowScheduleRequest method.
4255//    req, resp := client.DescribeMaintenanceWindowScheduleRequest(params)
4256//
4257//    err := req.Send()
4258//    if err == nil { // resp is now filled
4259//        fmt.Println(resp)
4260//    }
4261//
4262// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
4263func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanceWindowScheduleInput) (req *request.Request, output *DescribeMaintenanceWindowScheduleOutput) {
4264	op := &request.Operation{
4265		Name:       opDescribeMaintenanceWindowSchedule,
4266		HTTPMethod: "POST",
4267		HTTPPath:   "/",
4268	}
4269
4270	if input == nil {
4271		input = &DescribeMaintenanceWindowScheduleInput{}
4272	}
4273
4274	output = &DescribeMaintenanceWindowScheduleOutput{}
4275	req = c.newRequest(op, input, output)
4276	return
4277}
4278
4279// DescribeMaintenanceWindowSchedule API operation for Amazon Simple Systems Manager (SSM).
4280//
4281// Retrieves information about upcoming executions of a maintenance window.
4282//
4283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4284// with awserr.Error's Code and Message methods to get detailed information about
4285// the error.
4286//
4287// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4288// API operation DescribeMaintenanceWindowSchedule for usage and error information.
4289//
4290// Returned Error Codes:
4291//   * ErrCodeInternalServerError "InternalServerError"
4292//   An error occurred on the server side.
4293//
4294//   * ErrCodeDoesNotExistException "DoesNotExistException"
4295//   Error returned when the ID specified for a resource, such as a maintenance
4296//   window or Patch baseline, doesn't exist.
4297//
4298//   For information about resource limits in Systems Manager, see AWS Systems
4299//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4300//
4301// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
4302func (c *SSM) DescribeMaintenanceWindowSchedule(input *DescribeMaintenanceWindowScheduleInput) (*DescribeMaintenanceWindowScheduleOutput, error) {
4303	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
4304	return out, req.Send()
4305}
4306
4307// DescribeMaintenanceWindowScheduleWithContext is the same as DescribeMaintenanceWindowSchedule with the addition of
4308// the ability to pass a context and additional request options.
4309//
4310// See DescribeMaintenanceWindowSchedule for details on how to use this API operation.
4311//
4312// The context must be non-nil and will be used for request cancellation. If
4313// the context is nil a panic will occur. In the future the SDK may create
4314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4315// for more information on using Contexts.
4316func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, opts ...request.Option) (*DescribeMaintenanceWindowScheduleOutput, error) {
4317	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
4318	req.SetContext(ctx)
4319	req.ApplyOptions(opts...)
4320	return out, req.Send()
4321}
4322
4323const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets"
4324
4325// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the
4326// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return
4327// value will be populated with the request's response once the request completes
4328// successfully.
4329//
4330// Use "Send" method on the returned Request to send the API call to the service.
4331// the "output" return value is not valid until after Send returns without error.
4332//
4333// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets
4334// API call, and error handling.
4335//
4336// This method is useful when you want to inject custom logic or configuration
4337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4338//
4339//
4340//    // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method.
4341//    req, resp := client.DescribeMaintenanceWindowTargetsRequest(params)
4342//
4343//    err := req.Send()
4344//    if err == nil { // resp is now filled
4345//        fmt.Println(resp)
4346//    }
4347//
4348// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
4349func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) {
4350	op := &request.Operation{
4351		Name:       opDescribeMaintenanceWindowTargets,
4352		HTTPMethod: "POST",
4353		HTTPPath:   "/",
4354	}
4355
4356	if input == nil {
4357		input = &DescribeMaintenanceWindowTargetsInput{}
4358	}
4359
4360	output = &DescribeMaintenanceWindowTargetsOutput{}
4361	req = c.newRequest(op, input, output)
4362	return
4363}
4364
4365// DescribeMaintenanceWindowTargets API operation for Amazon Simple Systems Manager (SSM).
4366//
4367// Lists the targets registered with the maintenance window.
4368//
4369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4370// with awserr.Error's Code and Message methods to get detailed information about
4371// the error.
4372//
4373// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4374// API operation DescribeMaintenanceWindowTargets for usage and error information.
4375//
4376// Returned Error Codes:
4377//   * ErrCodeDoesNotExistException "DoesNotExistException"
4378//   Error returned when the ID specified for a resource, such as a maintenance
4379//   window or Patch baseline, doesn't exist.
4380//
4381//   For information about resource limits in Systems Manager, see AWS Systems
4382//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4383//
4384//   * ErrCodeInternalServerError "InternalServerError"
4385//   An error occurred on the server side.
4386//
4387// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
4388func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) {
4389	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
4390	return out, req.Send()
4391}
4392
4393// DescribeMaintenanceWindowTargetsWithContext is the same as DescribeMaintenanceWindowTargets with the addition of
4394// the ability to pass a context and additional request options.
4395//
4396// See DescribeMaintenanceWindowTargets for details on how to use this API operation.
4397//
4398// The context must be non-nil and will be used for request cancellation. If
4399// the context is nil a panic will occur. In the future the SDK may create
4400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4401// for more information on using Contexts.
4402func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, opts ...request.Option) (*DescribeMaintenanceWindowTargetsOutput, error) {
4403	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
4404	req.SetContext(ctx)
4405	req.ApplyOptions(opts...)
4406	return out, req.Send()
4407}
4408
4409const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks"
4410
4411// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the
4412// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return
4413// value will be populated with the request's response once the request completes
4414// successfully.
4415//
4416// Use "Send" method on the returned Request to send the API call to the service.
4417// the "output" return value is not valid until after Send returns without error.
4418//
4419// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks
4420// API call, and error handling.
4421//
4422// This method is useful when you want to inject custom logic or configuration
4423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4424//
4425//
4426//    // Example sending a request using the DescribeMaintenanceWindowTasksRequest method.
4427//    req, resp := client.DescribeMaintenanceWindowTasksRequest(params)
4428//
4429//    err := req.Send()
4430//    if err == nil { // resp is now filled
4431//        fmt.Println(resp)
4432//    }
4433//
4434// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
4435func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) {
4436	op := &request.Operation{
4437		Name:       opDescribeMaintenanceWindowTasks,
4438		HTTPMethod: "POST",
4439		HTTPPath:   "/",
4440	}
4441
4442	if input == nil {
4443		input = &DescribeMaintenanceWindowTasksInput{}
4444	}
4445
4446	output = &DescribeMaintenanceWindowTasksOutput{}
4447	req = c.newRequest(op, input, output)
4448	return
4449}
4450
4451// DescribeMaintenanceWindowTasks API operation for Amazon Simple Systems Manager (SSM).
4452//
4453// Lists the tasks in a maintenance window.
4454//
4455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4456// with awserr.Error's Code and Message methods to get detailed information about
4457// the error.
4458//
4459// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4460// API operation DescribeMaintenanceWindowTasks for usage and error information.
4461//
4462// Returned Error Codes:
4463//   * ErrCodeDoesNotExistException "DoesNotExistException"
4464//   Error returned when the ID specified for a resource, such as a maintenance
4465//   window or Patch baseline, doesn't exist.
4466//
4467//   For information about resource limits in Systems Manager, see AWS Systems
4468//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
4469//
4470//   * ErrCodeInternalServerError "InternalServerError"
4471//   An error occurred on the server side.
4472//
4473// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
4474func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) {
4475	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
4476	return out, req.Send()
4477}
4478
4479// DescribeMaintenanceWindowTasksWithContext is the same as DescribeMaintenanceWindowTasks with the addition of
4480// the ability to pass a context and additional request options.
4481//
4482// See DescribeMaintenanceWindowTasks for details on how to use this API operation.
4483//
4484// The context must be non-nil and will be used for request cancellation. If
4485// the context is nil a panic will occur. In the future the SDK may create
4486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4487// for more information on using Contexts.
4488func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowTasksOutput, error) {
4489	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
4490	req.SetContext(ctx)
4491	req.ApplyOptions(opts...)
4492	return out, req.Send()
4493}
4494
4495const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows"
4496
4497// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the
4498// client's request for the DescribeMaintenanceWindows operation. The "output" return
4499// value will be populated with the request's response once the request completes
4500// successfully.
4501//
4502// Use "Send" method on the returned Request to send the API call to the service.
4503// the "output" return value is not valid until after Send returns without error.
4504//
4505// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows
4506// API call, and error handling.
4507//
4508// This method is useful when you want to inject custom logic or configuration
4509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4510//
4511//
4512//    // Example sending a request using the DescribeMaintenanceWindowsRequest method.
4513//    req, resp := client.DescribeMaintenanceWindowsRequest(params)
4514//
4515//    err := req.Send()
4516//    if err == nil { // resp is now filled
4517//        fmt.Println(resp)
4518//    }
4519//
4520// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
4521func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) {
4522	op := &request.Operation{
4523		Name:       opDescribeMaintenanceWindows,
4524		HTTPMethod: "POST",
4525		HTTPPath:   "/",
4526	}
4527
4528	if input == nil {
4529		input = &DescribeMaintenanceWindowsInput{}
4530	}
4531
4532	output = &DescribeMaintenanceWindowsOutput{}
4533	req = c.newRequest(op, input, output)
4534	return
4535}
4536
4537// DescribeMaintenanceWindows API operation for Amazon Simple Systems Manager (SSM).
4538//
4539// Retrieves the maintenance windows in an AWS account.
4540//
4541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4542// with awserr.Error's Code and Message methods to get detailed information about
4543// the error.
4544//
4545// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4546// API operation DescribeMaintenanceWindows for usage and error information.
4547//
4548// Returned Error Codes:
4549//   * ErrCodeInternalServerError "InternalServerError"
4550//   An error occurred on the server side.
4551//
4552// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
4553func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) {
4554	req, out := c.DescribeMaintenanceWindowsRequest(input)
4555	return out, req.Send()
4556}
4557
4558// DescribeMaintenanceWindowsWithContext is the same as DescribeMaintenanceWindows with the addition of
4559// the ability to pass a context and additional request options.
4560//
4561// See DescribeMaintenanceWindows for details on how to use this API operation.
4562//
4563// The context must be non-nil and will be used for request cancellation. If
4564// the context is nil a panic will occur. In the future the SDK may create
4565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4566// for more information on using Contexts.
4567func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, opts ...request.Option) (*DescribeMaintenanceWindowsOutput, error) {
4568	req, out := c.DescribeMaintenanceWindowsRequest(input)
4569	req.SetContext(ctx)
4570	req.ApplyOptions(opts...)
4571	return out, req.Send()
4572}
4573
4574const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget"
4575
4576// DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the
4577// client's request for the DescribeMaintenanceWindowsForTarget operation. The "output" return
4578// value will be populated with the request's response once the request completes
4579// successfully.
4580//
4581// Use "Send" method on the returned Request to send the API call to the service.
4582// the "output" return value is not valid until after Send returns without error.
4583//
4584// See DescribeMaintenanceWindowsForTarget for more information on using the DescribeMaintenanceWindowsForTarget
4585// API call, and error handling.
4586//
4587// This method is useful when you want to inject custom logic or configuration
4588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4589//
4590//
4591//    // Example sending a request using the DescribeMaintenanceWindowsForTargetRequest method.
4592//    req, resp := client.DescribeMaintenanceWindowsForTargetRequest(params)
4593//
4594//    err := req.Send()
4595//    if err == nil { // resp is now filled
4596//        fmt.Println(resp)
4597//    }
4598//
4599// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
4600func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintenanceWindowsForTargetInput) (req *request.Request, output *DescribeMaintenanceWindowsForTargetOutput) {
4601	op := &request.Operation{
4602		Name:       opDescribeMaintenanceWindowsForTarget,
4603		HTTPMethod: "POST",
4604		HTTPPath:   "/",
4605	}
4606
4607	if input == nil {
4608		input = &DescribeMaintenanceWindowsForTargetInput{}
4609	}
4610
4611	output = &DescribeMaintenanceWindowsForTargetOutput{}
4612	req = c.newRequest(op, input, output)
4613	return
4614}
4615
4616// DescribeMaintenanceWindowsForTarget API operation for Amazon Simple Systems Manager (SSM).
4617//
4618// Retrieves information about the maintenance window targets or tasks that
4619// an instance is associated with.
4620//
4621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4622// with awserr.Error's Code and Message methods to get detailed information about
4623// the error.
4624//
4625// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4626// API operation DescribeMaintenanceWindowsForTarget for usage and error information.
4627//
4628// Returned Error Codes:
4629//   * ErrCodeInternalServerError "InternalServerError"
4630//   An error occurred on the server side.
4631//
4632// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
4633func (c *SSM) DescribeMaintenanceWindowsForTarget(input *DescribeMaintenanceWindowsForTargetInput) (*DescribeMaintenanceWindowsForTargetOutput, error) {
4634	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
4635	return out, req.Send()
4636}
4637
4638// DescribeMaintenanceWindowsForTargetWithContext is the same as DescribeMaintenanceWindowsForTarget with the addition of
4639// the ability to pass a context and additional request options.
4640//
4641// See DescribeMaintenanceWindowsForTarget for details on how to use this API operation.
4642//
4643// The context must be non-nil and will be used for request cancellation. If
4644// the context is nil a panic will occur. In the future the SDK may create
4645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4646// for more information on using Contexts.
4647func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, opts ...request.Option) (*DescribeMaintenanceWindowsForTargetOutput, error) {
4648	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
4649	req.SetContext(ctx)
4650	req.ApplyOptions(opts...)
4651	return out, req.Send()
4652}
4653
4654const opDescribeOpsItems = "DescribeOpsItems"
4655
4656// DescribeOpsItemsRequest generates a "aws/request.Request" representing the
4657// client's request for the DescribeOpsItems operation. The "output" return
4658// value will be populated with the request's response once the request completes
4659// successfully.
4660//
4661// Use "Send" method on the returned Request to send the API call to the service.
4662// the "output" return value is not valid until after Send returns without error.
4663//
4664// See DescribeOpsItems for more information on using the DescribeOpsItems
4665// API call, and error handling.
4666//
4667// This method is useful when you want to inject custom logic or configuration
4668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4669//
4670//
4671//    // Example sending a request using the DescribeOpsItemsRequest method.
4672//    req, resp := client.DescribeOpsItemsRequest(params)
4673//
4674//    err := req.Send()
4675//    if err == nil { // resp is now filled
4676//        fmt.Println(resp)
4677//    }
4678//
4679// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
4680func (c *SSM) DescribeOpsItemsRequest(input *DescribeOpsItemsInput) (req *request.Request, output *DescribeOpsItemsOutput) {
4681	op := &request.Operation{
4682		Name:       opDescribeOpsItems,
4683		HTTPMethod: "POST",
4684		HTTPPath:   "/",
4685	}
4686
4687	if input == nil {
4688		input = &DescribeOpsItemsInput{}
4689	}
4690
4691	output = &DescribeOpsItemsOutput{}
4692	req = c.newRequest(op, input, output)
4693	return
4694}
4695
4696// DescribeOpsItems API operation for Amazon Simple Systems Manager (SSM).
4697//
4698// Query a set of OpsItems. You must have permission in AWS Identity and Access
4699// Management (IAM) to query a list of OpsItems. For more information, see Getting
4700// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
4701// in the AWS Systems Manager User Guide.
4702//
4703// Operations engineers and IT professionals use OpsCenter to view, investigate,
4704// and remediate operational issues impacting the performance and health of
4705// their AWS resources. For more information, see AWS Systems Manager OpsCenter
4706// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
4707// in the AWS Systems Manager User Guide.
4708//
4709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4710// with awserr.Error's Code and Message methods to get detailed information about
4711// the error.
4712//
4713// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4714// API operation DescribeOpsItems for usage and error information.
4715//
4716// Returned Error Codes:
4717//   * ErrCodeInternalServerError "InternalServerError"
4718//   An error occurred on the server side.
4719//
4720// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
4721func (c *SSM) DescribeOpsItems(input *DescribeOpsItemsInput) (*DescribeOpsItemsOutput, error) {
4722	req, out := c.DescribeOpsItemsRequest(input)
4723	return out, req.Send()
4724}
4725
4726// DescribeOpsItemsWithContext is the same as DescribeOpsItems with the addition of
4727// the ability to pass a context and additional request options.
4728//
4729// See DescribeOpsItems for details on how to use this API operation.
4730//
4731// The context must be non-nil and will be used for request cancellation. If
4732// the context is nil a panic will occur. In the future the SDK may create
4733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4734// for more information on using Contexts.
4735func (c *SSM) DescribeOpsItemsWithContext(ctx aws.Context, input *DescribeOpsItemsInput, opts ...request.Option) (*DescribeOpsItemsOutput, error) {
4736	req, out := c.DescribeOpsItemsRequest(input)
4737	req.SetContext(ctx)
4738	req.ApplyOptions(opts...)
4739	return out, req.Send()
4740}
4741
4742const opDescribeParameters = "DescribeParameters"
4743
4744// DescribeParametersRequest generates a "aws/request.Request" representing the
4745// client's request for the DescribeParameters operation. The "output" return
4746// value will be populated with the request's response once the request completes
4747// successfully.
4748//
4749// Use "Send" method on the returned Request to send the API call to the service.
4750// the "output" return value is not valid until after Send returns without error.
4751//
4752// See DescribeParameters for more information on using the DescribeParameters
4753// API call, and error handling.
4754//
4755// This method is useful when you want to inject custom logic or configuration
4756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4757//
4758//
4759//    // Example sending a request using the DescribeParametersRequest method.
4760//    req, resp := client.DescribeParametersRequest(params)
4761//
4762//    err := req.Send()
4763//    if err == nil { // resp is now filled
4764//        fmt.Println(resp)
4765//    }
4766//
4767// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
4768func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
4769	op := &request.Operation{
4770		Name:       opDescribeParameters,
4771		HTTPMethod: "POST",
4772		HTTPPath:   "/",
4773		Paginator: &request.Paginator{
4774			InputTokens:     []string{"NextToken"},
4775			OutputTokens:    []string{"NextToken"},
4776			LimitToken:      "MaxResults",
4777			TruncationToken: "",
4778		},
4779	}
4780
4781	if input == nil {
4782		input = &DescribeParametersInput{}
4783	}
4784
4785	output = &DescribeParametersOutput{}
4786	req = c.newRequest(op, input, output)
4787	return
4788}
4789
4790// DescribeParameters API operation for Amazon Simple Systems Manager (SSM).
4791//
4792// Get information about a parameter.
4793//
4794// Request results are returned on a best-effort basis. If you specify MaxResults
4795// in the request, the response includes information up to the limit specified.
4796// The number of items returned, however, can be between zero and the value
4797// of MaxResults. If the service reaches an internal limit while processing
4798// the results, it stops the operation and returns the matching values up to
4799// that point and a NextToken. You can specify the NextToken in a subsequent
4800// call to get the next set of results.
4801//
4802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4803// with awserr.Error's Code and Message methods to get detailed information about
4804// the error.
4805//
4806// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4807// API operation DescribeParameters for usage and error information.
4808//
4809// Returned Error Codes:
4810//   * ErrCodeInternalServerError "InternalServerError"
4811//   An error occurred on the server side.
4812//
4813//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
4814//   The specified key is not valid.
4815//
4816//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
4817//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
4818//   For Path filter, valid options are Recursive and OneLevel.
4819//
4820//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
4821//   The filter value is not valid. Verify the value and try again.
4822//
4823//   * ErrCodeInvalidNextToken "InvalidNextToken"
4824//   The specified token is not valid.
4825//
4826// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
4827func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
4828	req, out := c.DescribeParametersRequest(input)
4829	return out, req.Send()
4830}
4831
4832// DescribeParametersWithContext is the same as DescribeParameters with the addition of
4833// the ability to pass a context and additional request options.
4834//
4835// See DescribeParameters for details on how to use this API operation.
4836//
4837// The context must be non-nil and will be used for request cancellation. If
4838// the context is nil a panic will occur. In the future the SDK may create
4839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4840// for more information on using Contexts.
4841func (c *SSM) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
4842	req, out := c.DescribeParametersRequest(input)
4843	req.SetContext(ctx)
4844	req.ApplyOptions(opts...)
4845	return out, req.Send()
4846}
4847
4848// DescribeParametersPages iterates over the pages of a DescribeParameters operation,
4849// calling the "fn" function with the response data for each page. To stop
4850// iterating, return false from the fn function.
4851//
4852// See DescribeParameters method for more information on how to use this operation.
4853//
4854// Note: This operation can generate multiple requests to a service.
4855//
4856//    // Example iterating over at most 3 pages of a DescribeParameters operation.
4857//    pageNum := 0
4858//    err := client.DescribeParametersPages(params,
4859//        func(page *ssm.DescribeParametersOutput, lastPage bool) bool {
4860//            pageNum++
4861//            fmt.Println(page)
4862//            return pageNum <= 3
4863//        })
4864//
4865func (c *SSM) DescribeParametersPages(input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool) error {
4866	return c.DescribeParametersPagesWithContext(aws.BackgroundContext(), input, fn)
4867}
4868
4869// DescribeParametersPagesWithContext same as DescribeParametersPages except
4870// it takes a Context and allows setting request options on the pages.
4871//
4872// The context must be non-nil and will be used for request cancellation. If
4873// the context is nil a panic will occur. In the future the SDK may create
4874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4875// for more information on using Contexts.
4876func (c *SSM) DescribeParametersPagesWithContext(ctx aws.Context, input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool, opts ...request.Option) error {
4877	p := request.Pagination{
4878		NewRequest: func() (*request.Request, error) {
4879			var inCpy *DescribeParametersInput
4880			if input != nil {
4881				tmp := *input
4882				inCpy = &tmp
4883			}
4884			req, _ := c.DescribeParametersRequest(inCpy)
4885			req.SetContext(ctx)
4886			req.ApplyOptions(opts...)
4887			return req, nil
4888		},
4889	}
4890
4891	for p.Next() {
4892		if !fn(p.Page().(*DescribeParametersOutput), !p.HasNextPage()) {
4893			break
4894		}
4895	}
4896
4897	return p.Err()
4898}
4899
4900const opDescribePatchBaselines = "DescribePatchBaselines"
4901
4902// DescribePatchBaselinesRequest generates a "aws/request.Request" representing the
4903// client's request for the DescribePatchBaselines operation. The "output" return
4904// value will be populated with the request's response once the request completes
4905// successfully.
4906//
4907// Use "Send" method on the returned Request to send the API call to the service.
4908// the "output" return value is not valid until after Send returns without error.
4909//
4910// See DescribePatchBaselines for more information on using the DescribePatchBaselines
4911// API call, and error handling.
4912//
4913// This method is useful when you want to inject custom logic or configuration
4914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4915//
4916//
4917//    // Example sending a request using the DescribePatchBaselinesRequest method.
4918//    req, resp := client.DescribePatchBaselinesRequest(params)
4919//
4920//    err := req.Send()
4921//    if err == nil { // resp is now filled
4922//        fmt.Println(resp)
4923//    }
4924//
4925// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
4926func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) (req *request.Request, output *DescribePatchBaselinesOutput) {
4927	op := &request.Operation{
4928		Name:       opDescribePatchBaselines,
4929		HTTPMethod: "POST",
4930		HTTPPath:   "/",
4931	}
4932
4933	if input == nil {
4934		input = &DescribePatchBaselinesInput{}
4935	}
4936
4937	output = &DescribePatchBaselinesOutput{}
4938	req = c.newRequest(op, input, output)
4939	return
4940}
4941
4942// DescribePatchBaselines API operation for Amazon Simple Systems Manager (SSM).
4943//
4944// Lists the patch baselines in your AWS account.
4945//
4946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4947// with awserr.Error's Code and Message methods to get detailed information about
4948// the error.
4949//
4950// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4951// API operation DescribePatchBaselines for usage and error information.
4952//
4953// Returned Error Codes:
4954//   * ErrCodeInternalServerError "InternalServerError"
4955//   An error occurred on the server side.
4956//
4957// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
4958func (c *SSM) DescribePatchBaselines(input *DescribePatchBaselinesInput) (*DescribePatchBaselinesOutput, error) {
4959	req, out := c.DescribePatchBaselinesRequest(input)
4960	return out, req.Send()
4961}
4962
4963// DescribePatchBaselinesWithContext is the same as DescribePatchBaselines with the addition of
4964// the ability to pass a context and additional request options.
4965//
4966// See DescribePatchBaselines for details on how to use this API operation.
4967//
4968// The context must be non-nil and will be used for request cancellation. If
4969// the context is nil a panic will occur. In the future the SDK may create
4970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4971// for more information on using Contexts.
4972func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, opts ...request.Option) (*DescribePatchBaselinesOutput, error) {
4973	req, out := c.DescribePatchBaselinesRequest(input)
4974	req.SetContext(ctx)
4975	req.ApplyOptions(opts...)
4976	return out, req.Send()
4977}
4978
4979const opDescribePatchGroupState = "DescribePatchGroupState"
4980
4981// DescribePatchGroupStateRequest generates a "aws/request.Request" representing the
4982// client's request for the DescribePatchGroupState operation. The "output" return
4983// value will be populated with the request's response once the request completes
4984// successfully.
4985//
4986// Use "Send" method on the returned Request to send the API call to the service.
4987// the "output" return value is not valid until after Send returns without error.
4988//
4989// See DescribePatchGroupState for more information on using the DescribePatchGroupState
4990// API call, and error handling.
4991//
4992// This method is useful when you want to inject custom logic or configuration
4993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4994//
4995//
4996//    // Example sending a request using the DescribePatchGroupStateRequest method.
4997//    req, resp := client.DescribePatchGroupStateRequest(params)
4998//
4999//    err := req.Send()
5000//    if err == nil { // resp is now filled
5001//        fmt.Println(resp)
5002//    }
5003//
5004// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
5005func (c *SSM) DescribePatchGroupStateRequest(input *DescribePatchGroupStateInput) (req *request.Request, output *DescribePatchGroupStateOutput) {
5006	op := &request.Operation{
5007		Name:       opDescribePatchGroupState,
5008		HTTPMethod: "POST",
5009		HTTPPath:   "/",
5010	}
5011
5012	if input == nil {
5013		input = &DescribePatchGroupStateInput{}
5014	}
5015
5016	output = &DescribePatchGroupStateOutput{}
5017	req = c.newRequest(op, input, output)
5018	return
5019}
5020
5021// DescribePatchGroupState API operation for Amazon Simple Systems Manager (SSM).
5022//
5023// Returns high-level aggregated patch compliance state for a patch group.
5024//
5025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5026// with awserr.Error's Code and Message methods to get detailed information about
5027// the error.
5028//
5029// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5030// API operation DescribePatchGroupState for usage and error information.
5031//
5032// Returned Error Codes:
5033//   * ErrCodeInternalServerError "InternalServerError"
5034//   An error occurred on the server side.
5035//
5036//   * ErrCodeInvalidNextToken "InvalidNextToken"
5037//   The specified token is not valid.
5038//
5039// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
5040func (c *SSM) DescribePatchGroupState(input *DescribePatchGroupStateInput) (*DescribePatchGroupStateOutput, error) {
5041	req, out := c.DescribePatchGroupStateRequest(input)
5042	return out, req.Send()
5043}
5044
5045// DescribePatchGroupStateWithContext is the same as DescribePatchGroupState with the addition of
5046// the ability to pass a context and additional request options.
5047//
5048// See DescribePatchGroupState for details on how to use this API operation.
5049//
5050// The context must be non-nil and will be used for request cancellation. If
5051// the context is nil a panic will occur. In the future the SDK may create
5052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5053// for more information on using Contexts.
5054func (c *SSM) DescribePatchGroupStateWithContext(ctx aws.Context, input *DescribePatchGroupStateInput, opts ...request.Option) (*DescribePatchGroupStateOutput, error) {
5055	req, out := c.DescribePatchGroupStateRequest(input)
5056	req.SetContext(ctx)
5057	req.ApplyOptions(opts...)
5058	return out, req.Send()
5059}
5060
5061const opDescribePatchGroups = "DescribePatchGroups"
5062
5063// DescribePatchGroupsRequest generates a "aws/request.Request" representing the
5064// client's request for the DescribePatchGroups operation. The "output" return
5065// value will be populated with the request's response once the request completes
5066// successfully.
5067//
5068// Use "Send" method on the returned Request to send the API call to the service.
5069// the "output" return value is not valid until after Send returns without error.
5070//
5071// See DescribePatchGroups for more information on using the DescribePatchGroups
5072// API call, and error handling.
5073//
5074// This method is useful when you want to inject custom logic or configuration
5075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5076//
5077//
5078//    // Example sending a request using the DescribePatchGroupsRequest method.
5079//    req, resp := client.DescribePatchGroupsRequest(params)
5080//
5081//    err := req.Send()
5082//    if err == nil { // resp is now filled
5083//        fmt.Println(resp)
5084//    }
5085//
5086// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
5087func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req *request.Request, output *DescribePatchGroupsOutput) {
5088	op := &request.Operation{
5089		Name:       opDescribePatchGroups,
5090		HTTPMethod: "POST",
5091		HTTPPath:   "/",
5092	}
5093
5094	if input == nil {
5095		input = &DescribePatchGroupsInput{}
5096	}
5097
5098	output = &DescribePatchGroupsOutput{}
5099	req = c.newRequest(op, input, output)
5100	return
5101}
5102
5103// DescribePatchGroups API operation for Amazon Simple Systems Manager (SSM).
5104//
5105// Lists all patch groups that have been registered with patch baselines.
5106//
5107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5108// with awserr.Error's Code and Message methods to get detailed information about
5109// the error.
5110//
5111// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5112// API operation DescribePatchGroups for usage and error information.
5113//
5114// Returned Error Codes:
5115//   * ErrCodeInternalServerError "InternalServerError"
5116//   An error occurred on the server side.
5117//
5118// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
5119func (c *SSM) DescribePatchGroups(input *DescribePatchGroupsInput) (*DescribePatchGroupsOutput, error) {
5120	req, out := c.DescribePatchGroupsRequest(input)
5121	return out, req.Send()
5122}
5123
5124// DescribePatchGroupsWithContext is the same as DescribePatchGroups with the addition of
5125// the ability to pass a context and additional request options.
5126//
5127// See DescribePatchGroups for details on how to use this API operation.
5128//
5129// The context must be non-nil and will be used for request cancellation. If
5130// the context is nil a panic will occur. In the future the SDK may create
5131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5132// for more information on using Contexts.
5133func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePatchGroupsInput, opts ...request.Option) (*DescribePatchGroupsOutput, error) {
5134	req, out := c.DescribePatchGroupsRequest(input)
5135	req.SetContext(ctx)
5136	req.ApplyOptions(opts...)
5137	return out, req.Send()
5138}
5139
5140const opDescribePatchProperties = "DescribePatchProperties"
5141
5142// DescribePatchPropertiesRequest generates a "aws/request.Request" representing the
5143// client's request for the DescribePatchProperties operation. The "output" return
5144// value will be populated with the request's response once the request completes
5145// successfully.
5146//
5147// Use "Send" method on the returned Request to send the API call to the service.
5148// the "output" return value is not valid until after Send returns without error.
5149//
5150// See DescribePatchProperties for more information on using the DescribePatchProperties
5151// API call, and error handling.
5152//
5153// This method is useful when you want to inject custom logic or configuration
5154// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5155//
5156//
5157//    // Example sending a request using the DescribePatchPropertiesRequest method.
5158//    req, resp := client.DescribePatchPropertiesRequest(params)
5159//
5160//    err := req.Send()
5161//    if err == nil { // resp is now filled
5162//        fmt.Println(resp)
5163//    }
5164//
5165// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
5166func (c *SSM) DescribePatchPropertiesRequest(input *DescribePatchPropertiesInput) (req *request.Request, output *DescribePatchPropertiesOutput) {
5167	op := &request.Operation{
5168		Name:       opDescribePatchProperties,
5169		HTTPMethod: "POST",
5170		HTTPPath:   "/",
5171	}
5172
5173	if input == nil {
5174		input = &DescribePatchPropertiesInput{}
5175	}
5176
5177	output = &DescribePatchPropertiesOutput{}
5178	req = c.newRequest(op, input, output)
5179	return
5180}
5181
5182// DescribePatchProperties API operation for Amazon Simple Systems Manager (SSM).
5183//
5184// Lists the properties of available patches organized by product, product family,
5185// classification, severity, and other properties of available patches. You
5186// can use the reported properties in the filters you specify in requests for
5187// actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches,
5188// and DescribePatchBaselines.
5189//
5190// The following section lists the properties that can be used in filters for
5191// each major operating system type:
5192//
5193// WINDOWS
5194//
5195// Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY
5196//
5197// AMAZON_LINUX
5198//
5199// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5200//
5201// AMAZON_LINUX_2
5202//
5203// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5204//
5205// UBUNTU
5206//
5207// Valid properties: PRODUCT, PRIORITY
5208//
5209// REDHAT_ENTERPRISE_LINUX
5210//
5211// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5212//
5213// SUSE
5214//
5215// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5216//
5217// CENTOS
5218//
5219// Valid properties: PRODUCT, CLASSIFICATION, SEVERITY
5220//
5221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5222// with awserr.Error's Code and Message methods to get detailed information about
5223// the error.
5224//
5225// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5226// API operation DescribePatchProperties for usage and error information.
5227//
5228// Returned Error Codes:
5229//   * ErrCodeInternalServerError "InternalServerError"
5230//   An error occurred on the server side.
5231//
5232// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
5233func (c *SSM) DescribePatchProperties(input *DescribePatchPropertiesInput) (*DescribePatchPropertiesOutput, error) {
5234	req, out := c.DescribePatchPropertiesRequest(input)
5235	return out, req.Send()
5236}
5237
5238// DescribePatchPropertiesWithContext is the same as DescribePatchProperties with the addition of
5239// the ability to pass a context and additional request options.
5240//
5241// See DescribePatchProperties for details on how to use this API operation.
5242//
5243// The context must be non-nil and will be used for request cancellation. If
5244// the context is nil a panic will occur. In the future the SDK may create
5245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5246// for more information on using Contexts.
5247func (c *SSM) DescribePatchPropertiesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, opts ...request.Option) (*DescribePatchPropertiesOutput, error) {
5248	req, out := c.DescribePatchPropertiesRequest(input)
5249	req.SetContext(ctx)
5250	req.ApplyOptions(opts...)
5251	return out, req.Send()
5252}
5253
5254const opDescribeSessions = "DescribeSessions"
5255
5256// DescribeSessionsRequest generates a "aws/request.Request" representing the
5257// client's request for the DescribeSessions operation. The "output" return
5258// value will be populated with the request's response once the request completes
5259// successfully.
5260//
5261// Use "Send" method on the returned Request to send the API call to the service.
5262// the "output" return value is not valid until after Send returns without error.
5263//
5264// See DescribeSessions for more information on using the DescribeSessions
5265// API call, and error handling.
5266//
5267// This method is useful when you want to inject custom logic or configuration
5268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5269//
5270//
5271//    // Example sending a request using the DescribeSessionsRequest method.
5272//    req, resp := client.DescribeSessionsRequest(params)
5273//
5274//    err := req.Send()
5275//    if err == nil { // resp is now filled
5276//        fmt.Println(resp)
5277//    }
5278//
5279// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
5280func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) {
5281	op := &request.Operation{
5282		Name:       opDescribeSessions,
5283		HTTPMethod: "POST",
5284		HTTPPath:   "/",
5285	}
5286
5287	if input == nil {
5288		input = &DescribeSessionsInput{}
5289	}
5290
5291	output = &DescribeSessionsOutput{}
5292	req = c.newRequest(op, input, output)
5293	return
5294}
5295
5296// DescribeSessions API operation for Amazon Simple Systems Manager (SSM).
5297//
5298// Retrieves a list of all active sessions (both connected and disconnected)
5299// or terminated sessions from the past 30 days.
5300//
5301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5302// with awserr.Error's Code and Message methods to get detailed information about
5303// the error.
5304//
5305// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5306// API operation DescribeSessions for usage and error information.
5307//
5308// Returned Error Codes:
5309//   * ErrCodeInternalServerError "InternalServerError"
5310//   An error occurred on the server side.
5311//
5312//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
5313//   The specified key is not valid.
5314//
5315//   * ErrCodeInvalidNextToken "InvalidNextToken"
5316//   The specified token is not valid.
5317//
5318// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
5319func (c *SSM) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) {
5320	req, out := c.DescribeSessionsRequest(input)
5321	return out, req.Send()
5322}
5323
5324// DescribeSessionsWithContext is the same as DescribeSessions with the addition of
5325// the ability to pass a context and additional request options.
5326//
5327// See DescribeSessions for details on how to use this API operation.
5328//
5329// The context must be non-nil and will be used for request cancellation. If
5330// the context is nil a panic will occur. In the future the SDK may create
5331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5332// for more information on using Contexts.
5333func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) {
5334	req, out := c.DescribeSessionsRequest(input)
5335	req.SetContext(ctx)
5336	req.ApplyOptions(opts...)
5337	return out, req.Send()
5338}
5339
5340const opGetAutomationExecution = "GetAutomationExecution"
5341
5342// GetAutomationExecutionRequest generates a "aws/request.Request" representing the
5343// client's request for the GetAutomationExecution operation. The "output" return
5344// value will be populated with the request's response once the request completes
5345// successfully.
5346//
5347// Use "Send" method on the returned Request to send the API call to the service.
5348// the "output" return value is not valid until after Send returns without error.
5349//
5350// See GetAutomationExecution for more information on using the GetAutomationExecution
5351// API call, and error handling.
5352//
5353// This method is useful when you want to inject custom logic or configuration
5354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5355//
5356//
5357//    // Example sending a request using the GetAutomationExecutionRequest method.
5358//    req, resp := client.GetAutomationExecutionRequest(params)
5359//
5360//    err := req.Send()
5361//    if err == nil { // resp is now filled
5362//        fmt.Println(resp)
5363//    }
5364//
5365// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
5366func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) {
5367	op := &request.Operation{
5368		Name:       opGetAutomationExecution,
5369		HTTPMethod: "POST",
5370		HTTPPath:   "/",
5371	}
5372
5373	if input == nil {
5374		input = &GetAutomationExecutionInput{}
5375	}
5376
5377	output = &GetAutomationExecutionOutput{}
5378	req = c.newRequest(op, input, output)
5379	return
5380}
5381
5382// GetAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
5383//
5384// Get detailed information about a particular Automation execution.
5385//
5386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5387// with awserr.Error's Code and Message methods to get detailed information about
5388// the error.
5389//
5390// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5391// API operation GetAutomationExecution for usage and error information.
5392//
5393// Returned Error Codes:
5394//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
5395//   There is no automation execution information for the requested automation
5396//   execution ID.
5397//
5398//   * ErrCodeInternalServerError "InternalServerError"
5399//   An error occurred on the server side.
5400//
5401// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
5402func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) {
5403	req, out := c.GetAutomationExecutionRequest(input)
5404	return out, req.Send()
5405}
5406
5407// GetAutomationExecutionWithContext is the same as GetAutomationExecution with the addition of
5408// the ability to pass a context and additional request options.
5409//
5410// See GetAutomationExecution for details on how to use this API operation.
5411//
5412// The context must be non-nil and will be used for request cancellation. If
5413// the context is nil a panic will occur. In the future the SDK may create
5414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5415// for more information on using Contexts.
5416func (c *SSM) GetAutomationExecutionWithContext(ctx aws.Context, input *GetAutomationExecutionInput, opts ...request.Option) (*GetAutomationExecutionOutput, error) {
5417	req, out := c.GetAutomationExecutionRequest(input)
5418	req.SetContext(ctx)
5419	req.ApplyOptions(opts...)
5420	return out, req.Send()
5421}
5422
5423const opGetCommandInvocation = "GetCommandInvocation"
5424
5425// GetCommandInvocationRequest generates a "aws/request.Request" representing the
5426// client's request for the GetCommandInvocation operation. The "output" return
5427// value will be populated with the request's response once the request completes
5428// successfully.
5429//
5430// Use "Send" method on the returned Request to send the API call to the service.
5431// the "output" return value is not valid until after Send returns without error.
5432//
5433// See GetCommandInvocation for more information on using the GetCommandInvocation
5434// API call, and error handling.
5435//
5436// This method is useful when you want to inject custom logic or configuration
5437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5438//
5439//
5440//    // Example sending a request using the GetCommandInvocationRequest method.
5441//    req, resp := client.GetCommandInvocationRequest(params)
5442//
5443//    err := req.Send()
5444//    if err == nil { // resp is now filled
5445//        fmt.Println(resp)
5446//    }
5447//
5448// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
5449func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) {
5450	op := &request.Operation{
5451		Name:       opGetCommandInvocation,
5452		HTTPMethod: "POST",
5453		HTTPPath:   "/",
5454	}
5455
5456	if input == nil {
5457		input = &GetCommandInvocationInput{}
5458	}
5459
5460	output = &GetCommandInvocationOutput{}
5461	req = c.newRequest(op, input, output)
5462	return
5463}
5464
5465// GetCommandInvocation API operation for Amazon Simple Systems Manager (SSM).
5466//
5467// Returns detailed information about command execution for an invocation or
5468// plugin.
5469//
5470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5471// with awserr.Error's Code and Message methods to get detailed information about
5472// the error.
5473//
5474// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5475// API operation GetCommandInvocation for usage and error information.
5476//
5477// Returned Error Codes:
5478//   * ErrCodeInternalServerError "InternalServerError"
5479//   An error occurred on the server side.
5480//
5481//   * ErrCodeInvalidCommandId "InvalidCommandId"
5482//
5483//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
5484//   The following problems can cause this exception:
5485//
5486//   You do not have permission to access the instance.
5487//
5488//   SSM Agent is not running. Verify that SSM Agent is running.
5489//
5490//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
5491//
5492//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
5493//   Stopping. Invalid states are: Shutting-down and Terminated.
5494//
5495//   * ErrCodeInvalidPluginName "InvalidPluginName"
5496//   The plugin name is not valid.
5497//
5498//   * ErrCodeInvocationDoesNotExist "InvocationDoesNotExist"
5499//   The command ID and instance ID you specified did not match any invocations.
5500//   Verify the command ID and the instance ID and try again.
5501//
5502// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
5503func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) {
5504	req, out := c.GetCommandInvocationRequest(input)
5505	return out, req.Send()
5506}
5507
5508// GetCommandInvocationWithContext is the same as GetCommandInvocation with the addition of
5509// the ability to pass a context and additional request options.
5510//
5511// See GetCommandInvocation for details on how to use this API operation.
5512//
5513// The context must be non-nil and will be used for request cancellation. If
5514// the context is nil a panic will occur. In the future the SDK may create
5515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5516// for more information on using Contexts.
5517func (c *SSM) GetCommandInvocationWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.Option) (*GetCommandInvocationOutput, error) {
5518	req, out := c.GetCommandInvocationRequest(input)
5519	req.SetContext(ctx)
5520	req.ApplyOptions(opts...)
5521	return out, req.Send()
5522}
5523
5524const opGetConnectionStatus = "GetConnectionStatus"
5525
5526// GetConnectionStatusRequest generates a "aws/request.Request" representing the
5527// client's request for the GetConnectionStatus operation. The "output" return
5528// value will be populated with the request's response once the request completes
5529// successfully.
5530//
5531// Use "Send" method on the returned Request to send the API call to the service.
5532// the "output" return value is not valid until after Send returns without error.
5533//
5534// See GetConnectionStatus for more information on using the GetConnectionStatus
5535// API call, and error handling.
5536//
5537// This method is useful when you want to inject custom logic or configuration
5538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5539//
5540//
5541//    // Example sending a request using the GetConnectionStatusRequest method.
5542//    req, resp := client.GetConnectionStatusRequest(params)
5543//
5544//    err := req.Send()
5545//    if err == nil { // resp is now filled
5546//        fmt.Println(resp)
5547//    }
5548//
5549// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
5550func (c *SSM) GetConnectionStatusRequest(input *GetConnectionStatusInput) (req *request.Request, output *GetConnectionStatusOutput) {
5551	op := &request.Operation{
5552		Name:       opGetConnectionStatus,
5553		HTTPMethod: "POST",
5554		HTTPPath:   "/",
5555	}
5556
5557	if input == nil {
5558		input = &GetConnectionStatusInput{}
5559	}
5560
5561	output = &GetConnectionStatusOutput{}
5562	req = c.newRequest(op, input, output)
5563	return
5564}
5565
5566// GetConnectionStatus API operation for Amazon Simple Systems Manager (SSM).
5567//
5568// Retrieves the Session Manager connection status for an instance to determine
5569// whether it is connected and ready to receive Session Manager connections.
5570//
5571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5572// with awserr.Error's Code and Message methods to get detailed information about
5573// the error.
5574//
5575// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5576// API operation GetConnectionStatus for usage and error information.
5577//
5578// Returned Error Codes:
5579//   * ErrCodeInternalServerError "InternalServerError"
5580//   An error occurred on the server side.
5581//
5582// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
5583func (c *SSM) GetConnectionStatus(input *GetConnectionStatusInput) (*GetConnectionStatusOutput, error) {
5584	req, out := c.GetConnectionStatusRequest(input)
5585	return out, req.Send()
5586}
5587
5588// GetConnectionStatusWithContext is the same as GetConnectionStatus with the addition of
5589// the ability to pass a context and additional request options.
5590//
5591// See GetConnectionStatus for details on how to use this API operation.
5592//
5593// The context must be non-nil and will be used for request cancellation. If
5594// the context is nil a panic will occur. In the future the SDK may create
5595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5596// for more information on using Contexts.
5597func (c *SSM) GetConnectionStatusWithContext(ctx aws.Context, input *GetConnectionStatusInput, opts ...request.Option) (*GetConnectionStatusOutput, error) {
5598	req, out := c.GetConnectionStatusRequest(input)
5599	req.SetContext(ctx)
5600	req.ApplyOptions(opts...)
5601	return out, req.Send()
5602}
5603
5604const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline"
5605
5606// GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
5607// client's request for the GetDefaultPatchBaseline operation. The "output" return
5608// value will be populated with the request's response once the request completes
5609// successfully.
5610//
5611// Use "Send" method on the returned Request to send the API call to the service.
5612// the "output" return value is not valid until after Send returns without error.
5613//
5614// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline
5615// API call, and error handling.
5616//
5617// This method is useful when you want to inject custom logic or configuration
5618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5619//
5620//
5621//    // Example sending a request using the GetDefaultPatchBaselineRequest method.
5622//    req, resp := client.GetDefaultPatchBaselineRequest(params)
5623//
5624//    err := req.Send()
5625//    if err == nil { // resp is now filled
5626//        fmt.Println(resp)
5627//    }
5628//
5629// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
5630func (c *SSM) GetDefaultPatchBaselineRequest(input *GetDefaultPatchBaselineInput) (req *request.Request, output *GetDefaultPatchBaselineOutput) {
5631	op := &request.Operation{
5632		Name:       opGetDefaultPatchBaseline,
5633		HTTPMethod: "POST",
5634		HTTPPath:   "/",
5635	}
5636
5637	if input == nil {
5638		input = &GetDefaultPatchBaselineInput{}
5639	}
5640
5641	output = &GetDefaultPatchBaselineOutput{}
5642	req = c.newRequest(op, input, output)
5643	return
5644}
5645
5646// GetDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
5647//
5648// Retrieves the default patch baseline. Note that Systems Manager supports
5649// creating multiple default patch baselines. For example, you can create a
5650// default patch baseline for each operating system.
5651//
5652// If you do not specify an operating system value, the default patch baseline
5653// for Windows is returned.
5654//
5655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5656// with awserr.Error's Code and Message methods to get detailed information about
5657// the error.
5658//
5659// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5660// API operation GetDefaultPatchBaseline for usage and error information.
5661//
5662// Returned Error Codes:
5663//   * ErrCodeInternalServerError "InternalServerError"
5664//   An error occurred on the server side.
5665//
5666// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
5667func (c *SSM) GetDefaultPatchBaseline(input *GetDefaultPatchBaselineInput) (*GetDefaultPatchBaselineOutput, error) {
5668	req, out := c.GetDefaultPatchBaselineRequest(input)
5669	return out, req.Send()
5670}
5671
5672// GetDefaultPatchBaselineWithContext is the same as GetDefaultPatchBaseline with the addition of
5673// the ability to pass a context and additional request options.
5674//
5675// See GetDefaultPatchBaseline for details on how to use this API operation.
5676//
5677// The context must be non-nil and will be used for request cancellation. If
5678// the context is nil a panic will occur. In the future the SDK may create
5679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5680// for more information on using Contexts.
5681func (c *SSM) GetDefaultPatchBaselineWithContext(ctx aws.Context, input *GetDefaultPatchBaselineInput, opts ...request.Option) (*GetDefaultPatchBaselineOutput, error) {
5682	req, out := c.GetDefaultPatchBaselineRequest(input)
5683	req.SetContext(ctx)
5684	req.ApplyOptions(opts...)
5685	return out, req.Send()
5686}
5687
5688const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForInstance"
5689
5690// GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the
5691// client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return
5692// value will be populated with the request's response once the request completes
5693// successfully.
5694//
5695// Use "Send" method on the returned Request to send the API call to the service.
5696// the "output" return value is not valid until after Send returns without error.
5697//
5698// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance
5699// API call, and error handling.
5700//
5701// This method is useful when you want to inject custom logic or configuration
5702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5703//
5704//
5705//    // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method.
5706//    req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params)
5707//
5708//    err := req.Send()
5709//    if err == nil { // resp is now filled
5710//        fmt.Println(resp)
5711//    }
5712//
5713// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
5714func (c *SSM) GetDeployablePatchSnapshotForInstanceRequest(input *GetDeployablePatchSnapshotForInstanceInput) (req *request.Request, output *GetDeployablePatchSnapshotForInstanceOutput) {
5715	op := &request.Operation{
5716		Name:       opGetDeployablePatchSnapshotForInstance,
5717		HTTPMethod: "POST",
5718		HTTPPath:   "/",
5719	}
5720
5721	if input == nil {
5722		input = &GetDeployablePatchSnapshotForInstanceInput{}
5723	}
5724
5725	output = &GetDeployablePatchSnapshotForInstanceOutput{}
5726	req = c.newRequest(op, input, output)
5727	return
5728}
5729
5730// GetDeployablePatchSnapshotForInstance API operation for Amazon Simple Systems Manager (SSM).
5731//
5732// Retrieves the current snapshot for the patch baseline the instance uses.
5733// This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.
5734//
5735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5736// with awserr.Error's Code and Message methods to get detailed information about
5737// the error.
5738//
5739// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5740// API operation GetDeployablePatchSnapshotForInstance for usage and error information.
5741//
5742// Returned Error Codes:
5743//   * ErrCodeInternalServerError "InternalServerError"
5744//   An error occurred on the server side.
5745//
5746//   * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem"
5747//   The operating systems you specified is not supported, or the operation is
5748//   not supported for the operating system. Valid operating systems include:
5749//   Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.
5750//
5751//   * ErrCodeUnsupportedFeatureRequiredException "UnsupportedFeatureRequiredException"
5752//   Microsoft application patching is only available on EC2 instances and Advanced
5753//   Instances. To patch Microsoft applications on on-premises servers and VMs,
5754//   you must enable Advanced Instances. For more information, see Using the Advanced-Instances
5755//   Tier (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances-advanced.html)
5756//   in the AWS Systems Manager User Guide.
5757//
5758// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
5759func (c *SSM) GetDeployablePatchSnapshotForInstance(input *GetDeployablePatchSnapshotForInstanceInput) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
5760	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
5761	return out, req.Send()
5762}
5763
5764// GetDeployablePatchSnapshotForInstanceWithContext is the same as GetDeployablePatchSnapshotForInstance with the addition of
5765// the ability to pass a context and additional request options.
5766//
5767// See GetDeployablePatchSnapshotForInstance for details on how to use this API operation.
5768//
5769// The context must be non-nil and will be used for request cancellation. If
5770// the context is nil a panic will occur. In the future the SDK may create
5771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5772// for more information on using Contexts.
5773func (c *SSM) GetDeployablePatchSnapshotForInstanceWithContext(ctx aws.Context, input *GetDeployablePatchSnapshotForInstanceInput, opts ...request.Option) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
5774	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
5775	req.SetContext(ctx)
5776	req.ApplyOptions(opts...)
5777	return out, req.Send()
5778}
5779
5780const opGetDocument = "GetDocument"
5781
5782// GetDocumentRequest generates a "aws/request.Request" representing the
5783// client's request for the GetDocument operation. The "output" return
5784// value will be populated with the request's response once the request completes
5785// successfully.
5786//
5787// Use "Send" method on the returned Request to send the API call to the service.
5788// the "output" return value is not valid until after Send returns without error.
5789//
5790// See GetDocument for more information on using the GetDocument
5791// API call, and error handling.
5792//
5793// This method is useful when you want to inject custom logic or configuration
5794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5795//
5796//
5797//    // Example sending a request using the GetDocumentRequest method.
5798//    req, resp := client.GetDocumentRequest(params)
5799//
5800//    err := req.Send()
5801//    if err == nil { // resp is now filled
5802//        fmt.Println(resp)
5803//    }
5804//
5805// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
5806func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
5807	op := &request.Operation{
5808		Name:       opGetDocument,
5809		HTTPMethod: "POST",
5810		HTTPPath:   "/",
5811	}
5812
5813	if input == nil {
5814		input = &GetDocumentInput{}
5815	}
5816
5817	output = &GetDocumentOutput{}
5818	req = c.newRequest(op, input, output)
5819	return
5820}
5821
5822// GetDocument API operation for Amazon Simple Systems Manager (SSM).
5823//
5824// Gets the contents of the specified Systems Manager document.
5825//
5826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5827// with awserr.Error's Code and Message methods to get detailed information about
5828// the error.
5829//
5830// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5831// API operation GetDocument for usage and error information.
5832//
5833// Returned Error Codes:
5834//   * ErrCodeInternalServerError "InternalServerError"
5835//   An error occurred on the server side.
5836//
5837//   * ErrCodeInvalidDocument "InvalidDocument"
5838//   The specified document does not exist.
5839//
5840//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
5841//   The document version is not valid or does not exist.
5842//
5843// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
5844func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
5845	req, out := c.GetDocumentRequest(input)
5846	return out, req.Send()
5847}
5848
5849// GetDocumentWithContext is the same as GetDocument with the addition of
5850// the ability to pass a context and additional request options.
5851//
5852// See GetDocument for details on how to use this API operation.
5853//
5854// The context must be non-nil and will be used for request cancellation. If
5855// the context is nil a panic will occur. In the future the SDK may create
5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857// for more information on using Contexts.
5858func (c *SSM) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
5859	req, out := c.GetDocumentRequest(input)
5860	req.SetContext(ctx)
5861	req.ApplyOptions(opts...)
5862	return out, req.Send()
5863}
5864
5865const opGetInventory = "GetInventory"
5866
5867// GetInventoryRequest generates a "aws/request.Request" representing the
5868// client's request for the GetInventory operation. The "output" return
5869// value will be populated with the request's response once the request completes
5870// successfully.
5871//
5872// Use "Send" method on the returned Request to send the API call to the service.
5873// the "output" return value is not valid until after Send returns without error.
5874//
5875// See GetInventory for more information on using the GetInventory
5876// API call, and error handling.
5877//
5878// This method is useful when you want to inject custom logic or configuration
5879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5880//
5881//
5882//    // Example sending a request using the GetInventoryRequest method.
5883//    req, resp := client.GetInventoryRequest(params)
5884//
5885//    err := req.Send()
5886//    if err == nil { // resp is now filled
5887//        fmt.Println(resp)
5888//    }
5889//
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
5891func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) {
5892	op := &request.Operation{
5893		Name:       opGetInventory,
5894		HTTPMethod: "POST",
5895		HTTPPath:   "/",
5896	}
5897
5898	if input == nil {
5899		input = &GetInventoryInput{}
5900	}
5901
5902	output = &GetInventoryOutput{}
5903	req = c.newRequest(op, input, output)
5904	return
5905}
5906
5907// GetInventory API operation for Amazon Simple Systems Manager (SSM).
5908//
5909// Query inventory information.
5910//
5911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5912// with awserr.Error's Code and Message methods to get detailed information about
5913// the error.
5914//
5915// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5916// API operation GetInventory for usage and error information.
5917//
5918// Returned Error Codes:
5919//   * ErrCodeInternalServerError "InternalServerError"
5920//   An error occurred on the server side.
5921//
5922//   * ErrCodeInvalidFilter "InvalidFilter"
5923//   The filter name is not valid. Verify the you entered the correct name and
5924//   try again.
5925//
5926//   * ErrCodeInvalidInventoryGroupException "InvalidInventoryGroupException"
5927//   The specified inventory group is not valid.
5928//
5929//   * ErrCodeInvalidNextToken "InvalidNextToken"
5930//   The specified token is not valid.
5931//
5932//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
5933//   The parameter type name is not valid.
5934//
5935//   * ErrCodeInvalidAggregatorException "InvalidAggregatorException"
5936//   The specified aggregator is not valid for inventory groups. Verify that the
5937//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
5938//
5939//   * ErrCodeInvalidResultAttributeException "InvalidResultAttributeException"
5940//   The specified inventory item result attribute is not valid.
5941//
5942// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
5943func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) {
5944	req, out := c.GetInventoryRequest(input)
5945	return out, req.Send()
5946}
5947
5948// GetInventoryWithContext is the same as GetInventory with the addition of
5949// the ability to pass a context and additional request options.
5950//
5951// See GetInventory for details on how to use this API operation.
5952//
5953// The context must be non-nil and will be used for request cancellation. If
5954// the context is nil a panic will occur. In the future the SDK may create
5955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5956// for more information on using Contexts.
5957func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, opts ...request.Option) (*GetInventoryOutput, error) {
5958	req, out := c.GetInventoryRequest(input)
5959	req.SetContext(ctx)
5960	req.ApplyOptions(opts...)
5961	return out, req.Send()
5962}
5963
5964const opGetInventorySchema = "GetInventorySchema"
5965
5966// GetInventorySchemaRequest generates a "aws/request.Request" representing the
5967// client's request for the GetInventorySchema operation. The "output" return
5968// value will be populated with the request's response once the request completes
5969// successfully.
5970//
5971// Use "Send" method on the returned Request to send the API call to the service.
5972// the "output" return value is not valid until after Send returns without error.
5973//
5974// See GetInventorySchema for more information on using the GetInventorySchema
5975// API call, and error handling.
5976//
5977// This method is useful when you want to inject custom logic or configuration
5978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5979//
5980//
5981//    // Example sending a request using the GetInventorySchemaRequest method.
5982//    req, resp := client.GetInventorySchemaRequest(params)
5983//
5984//    err := req.Send()
5985//    if err == nil { // resp is now filled
5986//        fmt.Println(resp)
5987//    }
5988//
5989// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
5990func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) {
5991	op := &request.Operation{
5992		Name:       opGetInventorySchema,
5993		HTTPMethod: "POST",
5994		HTTPPath:   "/",
5995	}
5996
5997	if input == nil {
5998		input = &GetInventorySchemaInput{}
5999	}
6000
6001	output = &GetInventorySchemaOutput{}
6002	req = c.newRequest(op, input, output)
6003	return
6004}
6005
6006// GetInventorySchema API operation for Amazon Simple Systems Manager (SSM).
6007//
6008// Return a list of inventory type names for the account, or return a list of
6009// attribute names for a specific Inventory item type.
6010//
6011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6012// with awserr.Error's Code and Message methods to get detailed information about
6013// the error.
6014//
6015// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6016// API operation GetInventorySchema for usage and error information.
6017//
6018// Returned Error Codes:
6019//   * ErrCodeInternalServerError "InternalServerError"
6020//   An error occurred on the server side.
6021//
6022//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
6023//   The parameter type name is not valid.
6024//
6025//   * ErrCodeInvalidNextToken "InvalidNextToken"
6026//   The specified token is not valid.
6027//
6028// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
6029func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) {
6030	req, out := c.GetInventorySchemaRequest(input)
6031	return out, req.Send()
6032}
6033
6034// GetInventorySchemaWithContext is the same as GetInventorySchema with the addition of
6035// the ability to pass a context and additional request options.
6036//
6037// See GetInventorySchema for details on how to use this API operation.
6038//
6039// The context must be non-nil and will be used for request cancellation. If
6040// the context is nil a panic will occur. In the future the SDK may create
6041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6042// for more information on using Contexts.
6043func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventorySchemaInput, opts ...request.Option) (*GetInventorySchemaOutput, error) {
6044	req, out := c.GetInventorySchemaRequest(input)
6045	req.SetContext(ctx)
6046	req.ApplyOptions(opts...)
6047	return out, req.Send()
6048}
6049
6050const opGetMaintenanceWindow = "GetMaintenanceWindow"
6051
6052// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the
6053// client's request for the GetMaintenanceWindow operation. The "output" return
6054// value will be populated with the request's response once the request completes
6055// successfully.
6056//
6057// Use "Send" method on the returned Request to send the API call to the service.
6058// the "output" return value is not valid until after Send returns without error.
6059//
6060// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow
6061// API call, and error handling.
6062//
6063// This method is useful when you want to inject custom logic or configuration
6064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6065//
6066//
6067//    // Example sending a request using the GetMaintenanceWindowRequest method.
6068//    req, resp := client.GetMaintenanceWindowRequest(params)
6069//
6070//    err := req.Send()
6071//    if err == nil { // resp is now filled
6072//        fmt.Println(resp)
6073//    }
6074//
6075// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
6076func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) {
6077	op := &request.Operation{
6078		Name:       opGetMaintenanceWindow,
6079		HTTPMethod: "POST",
6080		HTTPPath:   "/",
6081	}
6082
6083	if input == nil {
6084		input = &GetMaintenanceWindowInput{}
6085	}
6086
6087	output = &GetMaintenanceWindowOutput{}
6088	req = c.newRequest(op, input, output)
6089	return
6090}
6091
6092// GetMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
6093//
6094// Retrieves a maintenance window.
6095//
6096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6097// with awserr.Error's Code and Message methods to get detailed information about
6098// the error.
6099//
6100// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6101// API operation GetMaintenanceWindow for usage and error information.
6102//
6103// Returned Error Codes:
6104//   * ErrCodeDoesNotExistException "DoesNotExistException"
6105//   Error returned when the ID specified for a resource, such as a maintenance
6106//   window or Patch baseline, doesn't exist.
6107//
6108//   For information about resource limits in Systems Manager, see AWS Systems
6109//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6110//
6111//   * ErrCodeInternalServerError "InternalServerError"
6112//   An error occurred on the server side.
6113//
6114// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
6115func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) {
6116	req, out := c.GetMaintenanceWindowRequest(input)
6117	return out, req.Send()
6118}
6119
6120// GetMaintenanceWindowWithContext is the same as GetMaintenanceWindow with the addition of
6121// the ability to pass a context and additional request options.
6122//
6123// See GetMaintenanceWindow for details on how to use this API operation.
6124//
6125// The context must be non-nil and will be used for request cancellation. If
6126// the context is nil a panic will occur. In the future the SDK may create
6127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6128// for more information on using Contexts.
6129func (c *SSM) GetMaintenanceWindowWithContext(ctx aws.Context, input *GetMaintenanceWindowInput, opts ...request.Option) (*GetMaintenanceWindowOutput, error) {
6130	req, out := c.GetMaintenanceWindowRequest(input)
6131	req.SetContext(ctx)
6132	req.ApplyOptions(opts...)
6133	return out, req.Send()
6134}
6135
6136const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution"
6137
6138// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
6139// client's request for the GetMaintenanceWindowExecution operation. The "output" return
6140// value will be populated with the request's response once the request completes
6141// successfully.
6142//
6143// Use "Send" method on the returned Request to send the API call to the service.
6144// the "output" return value is not valid until after Send returns without error.
6145//
6146// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution
6147// API call, and error handling.
6148//
6149// This method is useful when you want to inject custom logic or configuration
6150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6151//
6152//
6153//    // Example sending a request using the GetMaintenanceWindowExecutionRequest method.
6154//    req, resp := client.GetMaintenanceWindowExecutionRequest(params)
6155//
6156//    err := req.Send()
6157//    if err == nil { // resp is now filled
6158//        fmt.Println(resp)
6159//    }
6160//
6161// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
6162func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) {
6163	op := &request.Operation{
6164		Name:       opGetMaintenanceWindowExecution,
6165		HTTPMethod: "POST",
6166		HTTPPath:   "/",
6167	}
6168
6169	if input == nil {
6170		input = &GetMaintenanceWindowExecutionInput{}
6171	}
6172
6173	output = &GetMaintenanceWindowExecutionOutput{}
6174	req = c.newRequest(op, input, output)
6175	return
6176}
6177
6178// GetMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
6179//
6180// Retrieves details about a specific a maintenance window execution.
6181//
6182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6183// with awserr.Error's Code and Message methods to get detailed information about
6184// the error.
6185//
6186// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6187// API operation GetMaintenanceWindowExecution for usage and error information.
6188//
6189// Returned Error Codes:
6190//   * ErrCodeDoesNotExistException "DoesNotExistException"
6191//   Error returned when the ID specified for a resource, such as a maintenance
6192//   window or Patch baseline, doesn't exist.
6193//
6194//   For information about resource limits in Systems Manager, see AWS Systems
6195//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6196//
6197//   * ErrCodeInternalServerError "InternalServerError"
6198//   An error occurred on the server side.
6199//
6200// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
6201func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) {
6202	req, out := c.GetMaintenanceWindowExecutionRequest(input)
6203	return out, req.Send()
6204}
6205
6206// GetMaintenanceWindowExecutionWithContext is the same as GetMaintenanceWindowExecution with the addition of
6207// the ability to pass a context and additional request options.
6208//
6209// See GetMaintenanceWindowExecution for details on how to use this API operation.
6210//
6211// The context must be non-nil and will be used for request cancellation. If
6212// the context is nil a panic will occur. In the future the SDK may create
6213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6214// for more information on using Contexts.
6215func (c *SSM) GetMaintenanceWindowExecutionWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionInput, opts ...request.Option) (*GetMaintenanceWindowExecutionOutput, error) {
6216	req, out := c.GetMaintenanceWindowExecutionRequest(input)
6217	req.SetContext(ctx)
6218	req.ApplyOptions(opts...)
6219	return out, req.Send()
6220}
6221
6222const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask"
6223
6224// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the
6225// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return
6226// value will be populated with the request's response once the request completes
6227// successfully.
6228//
6229// Use "Send" method on the returned Request to send the API call to the service.
6230// the "output" return value is not valid until after Send returns without error.
6231//
6232// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask
6233// API call, and error handling.
6234//
6235// This method is useful when you want to inject custom logic or configuration
6236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6237//
6238//
6239//    // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method.
6240//    req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params)
6241//
6242//    err := req.Send()
6243//    if err == nil { // resp is now filled
6244//        fmt.Println(resp)
6245//    }
6246//
6247// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
6248func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) {
6249	op := &request.Operation{
6250		Name:       opGetMaintenanceWindowExecutionTask,
6251		HTTPMethod: "POST",
6252		HTTPPath:   "/",
6253	}
6254
6255	if input == nil {
6256		input = &GetMaintenanceWindowExecutionTaskInput{}
6257	}
6258
6259	output = &GetMaintenanceWindowExecutionTaskOutput{}
6260	req = c.newRequest(op, input, output)
6261	return
6262}
6263
6264// GetMaintenanceWindowExecutionTask API operation for Amazon Simple Systems Manager (SSM).
6265//
6266// Retrieves the details about a specific task run as part of a maintenance
6267// window execution.
6268//
6269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6270// with awserr.Error's Code and Message methods to get detailed information about
6271// the error.
6272//
6273// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6274// API operation GetMaintenanceWindowExecutionTask for usage and error information.
6275//
6276// Returned Error Codes:
6277//   * ErrCodeDoesNotExistException "DoesNotExistException"
6278//   Error returned when the ID specified for a resource, such as a maintenance
6279//   window or Patch baseline, doesn't exist.
6280//
6281//   For information about resource limits in Systems Manager, see AWS Systems
6282//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6283//
6284//   * ErrCodeInternalServerError "InternalServerError"
6285//   An error occurred on the server side.
6286//
6287// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
6288func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) {
6289	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
6290	return out, req.Send()
6291}
6292
6293// GetMaintenanceWindowExecutionTaskWithContext is the same as GetMaintenanceWindowExecutionTask with the addition of
6294// the ability to pass a context and additional request options.
6295//
6296// See GetMaintenanceWindowExecutionTask for details on how to use this API operation.
6297//
6298// The context must be non-nil and will be used for request cancellation. If
6299// the context is nil a panic will occur. In the future the SDK may create
6300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6301// for more information on using Contexts.
6302func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskOutput, error) {
6303	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
6304	req.SetContext(ctx)
6305	req.ApplyOptions(opts...)
6306	return out, req.Send()
6307}
6308
6309const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation"
6310
6311// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the
6312// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return
6313// value will be populated with the request's response once the request completes
6314// successfully.
6315//
6316// Use "Send" method on the returned Request to send the API call to the service.
6317// the "output" return value is not valid until after Send returns without error.
6318//
6319// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation
6320// API call, and error handling.
6321//
6322// This method is useful when you want to inject custom logic or configuration
6323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6324//
6325//
6326//    // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method.
6327//    req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params)
6328//
6329//    err := req.Send()
6330//    if err == nil { // resp is now filled
6331//        fmt.Println(resp)
6332//    }
6333//
6334// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
6335func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) {
6336	op := &request.Operation{
6337		Name:       opGetMaintenanceWindowExecutionTaskInvocation,
6338		HTTPMethod: "POST",
6339		HTTPPath:   "/",
6340	}
6341
6342	if input == nil {
6343		input = &GetMaintenanceWindowExecutionTaskInvocationInput{}
6344	}
6345
6346	output = &GetMaintenanceWindowExecutionTaskInvocationOutput{}
6347	req = c.newRequest(op, input, output)
6348	return
6349}
6350
6351// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM).
6352//
6353// Retrieves information about a specific task running on a specific target.
6354//
6355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6356// with awserr.Error's Code and Message methods to get detailed information about
6357// the error.
6358//
6359// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6360// API operation GetMaintenanceWindowExecutionTaskInvocation for usage and error information.
6361//
6362// Returned Error Codes:
6363//   * ErrCodeDoesNotExistException "DoesNotExistException"
6364//   Error returned when the ID specified for a resource, such as a maintenance
6365//   window or Patch baseline, doesn't exist.
6366//
6367//   For information about resource limits in Systems Manager, see AWS Systems
6368//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6369//
6370//   * ErrCodeInternalServerError "InternalServerError"
6371//   An error occurred on the server side.
6372//
6373// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
6374func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
6375	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
6376	return out, req.Send()
6377}
6378
6379// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of
6380// the ability to pass a context and additional request options.
6381//
6382// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation.
6383//
6384// The context must be non-nil and will be used for request cancellation. If
6385// the context is nil a panic will occur. In the future the SDK may create
6386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6387// for more information on using Contexts.
6388func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
6389	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
6390	req.SetContext(ctx)
6391	req.ApplyOptions(opts...)
6392	return out, req.Send()
6393}
6394
6395const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask"
6396
6397// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
6398// client's request for the GetMaintenanceWindowTask operation. The "output" return
6399// value will be populated with the request's response once the request completes
6400// successfully.
6401//
6402// Use "Send" method on the returned Request to send the API call to the service.
6403// the "output" return value is not valid until after Send returns without error.
6404//
6405// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask
6406// API call, and error handling.
6407//
6408// This method is useful when you want to inject custom logic or configuration
6409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6410//
6411//
6412//    // Example sending a request using the GetMaintenanceWindowTaskRequest method.
6413//    req, resp := client.GetMaintenanceWindowTaskRequest(params)
6414//
6415//    err := req.Send()
6416//    if err == nil { // resp is now filled
6417//        fmt.Println(resp)
6418//    }
6419//
6420// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
6421func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) {
6422	op := &request.Operation{
6423		Name:       opGetMaintenanceWindowTask,
6424		HTTPMethod: "POST",
6425		HTTPPath:   "/",
6426	}
6427
6428	if input == nil {
6429		input = &GetMaintenanceWindowTaskInput{}
6430	}
6431
6432	output = &GetMaintenanceWindowTaskOutput{}
6433	req = c.newRequest(op, input, output)
6434	return
6435}
6436
6437// GetMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
6438//
6439// Lists the tasks in a maintenance window.
6440//
6441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6442// with awserr.Error's Code and Message methods to get detailed information about
6443// the error.
6444//
6445// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6446// API operation GetMaintenanceWindowTask for usage and error information.
6447//
6448// Returned Error Codes:
6449//   * ErrCodeDoesNotExistException "DoesNotExistException"
6450//   Error returned when the ID specified for a resource, such as a maintenance
6451//   window or Patch baseline, doesn't exist.
6452//
6453//   For information about resource limits in Systems Manager, see AWS Systems
6454//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
6455//
6456//   * ErrCodeInternalServerError "InternalServerError"
6457//   An error occurred on the server side.
6458//
6459// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
6460func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) {
6461	req, out := c.GetMaintenanceWindowTaskRequest(input)
6462	return out, req.Send()
6463}
6464
6465// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of
6466// the ability to pass a context and additional request options.
6467//
6468// See GetMaintenanceWindowTask for details on how to use this API operation.
6469//
6470// The context must be non-nil and will be used for request cancellation. If
6471// the context is nil a panic will occur. In the future the SDK may create
6472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6473// for more information on using Contexts.
6474func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) {
6475	req, out := c.GetMaintenanceWindowTaskRequest(input)
6476	req.SetContext(ctx)
6477	req.ApplyOptions(opts...)
6478	return out, req.Send()
6479}
6480
6481const opGetOpsItem = "GetOpsItem"
6482
6483// GetOpsItemRequest generates a "aws/request.Request" representing the
6484// client's request for the GetOpsItem operation. The "output" return
6485// value will be populated with the request's response once the request completes
6486// successfully.
6487//
6488// Use "Send" method on the returned Request to send the API call to the service.
6489// the "output" return value is not valid until after Send returns without error.
6490//
6491// See GetOpsItem for more information on using the GetOpsItem
6492// API call, and error handling.
6493//
6494// This method is useful when you want to inject custom logic or configuration
6495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6496//
6497//
6498//    // Example sending a request using the GetOpsItemRequest method.
6499//    req, resp := client.GetOpsItemRequest(params)
6500//
6501//    err := req.Send()
6502//    if err == nil { // resp is now filled
6503//        fmt.Println(resp)
6504//    }
6505//
6506// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
6507func (c *SSM) GetOpsItemRequest(input *GetOpsItemInput) (req *request.Request, output *GetOpsItemOutput) {
6508	op := &request.Operation{
6509		Name:       opGetOpsItem,
6510		HTTPMethod: "POST",
6511		HTTPPath:   "/",
6512	}
6513
6514	if input == nil {
6515		input = &GetOpsItemInput{}
6516	}
6517
6518	output = &GetOpsItemOutput{}
6519	req = c.newRequest(op, input, output)
6520	return
6521}
6522
6523// GetOpsItem API operation for Amazon Simple Systems Manager (SSM).
6524//
6525// Get information about an OpsItem by using the ID. You must have permission
6526// in AWS Identity and Access Management (IAM) to view information about an
6527// OpsItem. For more information, see Getting Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
6528// in the AWS Systems Manager User Guide.
6529//
6530// Operations engineers and IT professionals use OpsCenter to view, investigate,
6531// and remediate operational issues impacting the performance and health of
6532// their AWS resources. For more information, see AWS Systems Manager OpsCenter
6533// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
6534// in the AWS Systems Manager User Guide.
6535//
6536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6537// with awserr.Error's Code and Message methods to get detailed information about
6538// the error.
6539//
6540// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6541// API operation GetOpsItem for usage and error information.
6542//
6543// Returned Error Codes:
6544//   * ErrCodeInternalServerError "InternalServerError"
6545//   An error occurred on the server side.
6546//
6547//   * ErrCodeOpsItemNotFoundException "OpsItemNotFoundException"
6548//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
6549//
6550// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
6551func (c *SSM) GetOpsItem(input *GetOpsItemInput) (*GetOpsItemOutput, error) {
6552	req, out := c.GetOpsItemRequest(input)
6553	return out, req.Send()
6554}
6555
6556// GetOpsItemWithContext is the same as GetOpsItem with the addition of
6557// the ability to pass a context and additional request options.
6558//
6559// See GetOpsItem for details on how to use this API operation.
6560//
6561// The context must be non-nil and will be used for request cancellation. If
6562// the context is nil a panic will occur. In the future the SDK may create
6563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6564// for more information on using Contexts.
6565func (c *SSM) GetOpsItemWithContext(ctx aws.Context, input *GetOpsItemInput, opts ...request.Option) (*GetOpsItemOutput, error) {
6566	req, out := c.GetOpsItemRequest(input)
6567	req.SetContext(ctx)
6568	req.ApplyOptions(opts...)
6569	return out, req.Send()
6570}
6571
6572const opGetOpsSummary = "GetOpsSummary"
6573
6574// GetOpsSummaryRequest generates a "aws/request.Request" representing the
6575// client's request for the GetOpsSummary operation. The "output" return
6576// value will be populated with the request's response once the request completes
6577// successfully.
6578//
6579// Use "Send" method on the returned Request to send the API call to the service.
6580// the "output" return value is not valid until after Send returns without error.
6581//
6582// See GetOpsSummary for more information on using the GetOpsSummary
6583// API call, and error handling.
6584//
6585// This method is useful when you want to inject custom logic or configuration
6586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6587//
6588//
6589//    // Example sending a request using the GetOpsSummaryRequest method.
6590//    req, resp := client.GetOpsSummaryRequest(params)
6591//
6592//    err := req.Send()
6593//    if err == nil { // resp is now filled
6594//        fmt.Println(resp)
6595//    }
6596//
6597// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
6598func (c *SSM) GetOpsSummaryRequest(input *GetOpsSummaryInput) (req *request.Request, output *GetOpsSummaryOutput) {
6599	op := &request.Operation{
6600		Name:       opGetOpsSummary,
6601		HTTPMethod: "POST",
6602		HTTPPath:   "/",
6603	}
6604
6605	if input == nil {
6606		input = &GetOpsSummaryInput{}
6607	}
6608
6609	output = &GetOpsSummaryOutput{}
6610	req = c.newRequest(op, input, output)
6611	return
6612}
6613
6614// GetOpsSummary API operation for Amazon Simple Systems Manager (SSM).
6615//
6616// View a summary of OpsItems based on specified filters and aggregators.
6617//
6618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6619// with awserr.Error's Code and Message methods to get detailed information about
6620// the error.
6621//
6622// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6623// API operation GetOpsSummary for usage and error information.
6624//
6625// Returned Error Codes:
6626//   * ErrCodeInternalServerError "InternalServerError"
6627//   An error occurred on the server side.
6628//
6629//   * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException"
6630//   The specified sync name was not found.
6631//
6632//   * ErrCodeInvalidFilter "InvalidFilter"
6633//   The filter name is not valid. Verify the you entered the correct name and
6634//   try again.
6635//
6636//   * ErrCodeInvalidNextToken "InvalidNextToken"
6637//   The specified token is not valid.
6638//
6639//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
6640//   The parameter type name is not valid.
6641//
6642//   * ErrCodeInvalidAggregatorException "InvalidAggregatorException"
6643//   The specified aggregator is not valid for inventory groups. Verify that the
6644//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
6645//
6646// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
6647func (c *SSM) GetOpsSummary(input *GetOpsSummaryInput) (*GetOpsSummaryOutput, error) {
6648	req, out := c.GetOpsSummaryRequest(input)
6649	return out, req.Send()
6650}
6651
6652// GetOpsSummaryWithContext is the same as GetOpsSummary with the addition of
6653// the ability to pass a context and additional request options.
6654//
6655// See GetOpsSummary for details on how to use this API operation.
6656//
6657// The context must be non-nil and will be used for request cancellation. If
6658// the context is nil a panic will occur. In the future the SDK may create
6659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6660// for more information on using Contexts.
6661func (c *SSM) GetOpsSummaryWithContext(ctx aws.Context, input *GetOpsSummaryInput, opts ...request.Option) (*GetOpsSummaryOutput, error) {
6662	req, out := c.GetOpsSummaryRequest(input)
6663	req.SetContext(ctx)
6664	req.ApplyOptions(opts...)
6665	return out, req.Send()
6666}
6667
6668const opGetParameter = "GetParameter"
6669
6670// GetParameterRequest generates a "aws/request.Request" representing the
6671// client's request for the GetParameter operation. The "output" return
6672// value will be populated with the request's response once the request completes
6673// successfully.
6674//
6675// Use "Send" method on the returned Request to send the API call to the service.
6676// the "output" return value is not valid until after Send returns without error.
6677//
6678// See GetParameter for more information on using the GetParameter
6679// API call, and error handling.
6680//
6681// This method is useful when you want to inject custom logic or configuration
6682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6683//
6684//
6685//    // Example sending a request using the GetParameterRequest method.
6686//    req, resp := client.GetParameterRequest(params)
6687//
6688//    err := req.Send()
6689//    if err == nil { // resp is now filled
6690//        fmt.Println(resp)
6691//    }
6692//
6693// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
6694func (c *SSM) GetParameterRequest(input *GetParameterInput) (req *request.Request, output *GetParameterOutput) {
6695	op := &request.Operation{
6696		Name:       opGetParameter,
6697		HTTPMethod: "POST",
6698		HTTPPath:   "/",
6699	}
6700
6701	if input == nil {
6702		input = &GetParameterInput{}
6703	}
6704
6705	output = &GetParameterOutput{}
6706	req = c.newRequest(op, input, output)
6707	return
6708}
6709
6710// GetParameter API operation for Amazon Simple Systems Manager (SSM).
6711//
6712// Get information about a parameter by using the parameter name. Don't confuse
6713// this API action with the GetParameters API action.
6714//
6715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6716// with awserr.Error's Code and Message methods to get detailed information about
6717// the error.
6718//
6719// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6720// API operation GetParameter for usage and error information.
6721//
6722// Returned Error Codes:
6723//   * ErrCodeInternalServerError "InternalServerError"
6724//   An error occurred on the server side.
6725//
6726//   * ErrCodeInvalidKeyId "InvalidKeyId"
6727//   The query key ID is not valid.
6728//
6729//   * ErrCodeParameterNotFound "ParameterNotFound"
6730//   The parameter could not be found. Verify the name and try again.
6731//
6732//   * ErrCodeParameterVersionNotFound "ParameterVersionNotFound"
6733//   The specified parameter version was not found. Verify the parameter name
6734//   and version, and try again.
6735//
6736// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
6737func (c *SSM) GetParameter(input *GetParameterInput) (*GetParameterOutput, error) {
6738	req, out := c.GetParameterRequest(input)
6739	return out, req.Send()
6740}
6741
6742// GetParameterWithContext is the same as GetParameter with the addition of
6743// the ability to pass a context and additional request options.
6744//
6745// See GetParameter for details on how to use this API operation.
6746//
6747// The context must be non-nil and will be used for request cancellation. If
6748// the context is nil a panic will occur. In the future the SDK may create
6749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6750// for more information on using Contexts.
6751func (c *SSM) GetParameterWithContext(ctx aws.Context, input *GetParameterInput, opts ...request.Option) (*GetParameterOutput, error) {
6752	req, out := c.GetParameterRequest(input)
6753	req.SetContext(ctx)
6754	req.ApplyOptions(opts...)
6755	return out, req.Send()
6756}
6757
6758const opGetParameterHistory = "GetParameterHistory"
6759
6760// GetParameterHistoryRequest generates a "aws/request.Request" representing the
6761// client's request for the GetParameterHistory operation. The "output" return
6762// value will be populated with the request's response once the request completes
6763// successfully.
6764//
6765// Use "Send" method on the returned Request to send the API call to the service.
6766// the "output" return value is not valid until after Send returns without error.
6767//
6768// See GetParameterHistory for more information on using the GetParameterHistory
6769// API call, and error handling.
6770//
6771// This method is useful when you want to inject custom logic or configuration
6772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6773//
6774//
6775//    // Example sending a request using the GetParameterHistoryRequest method.
6776//    req, resp := client.GetParameterHistoryRequest(params)
6777//
6778//    err := req.Send()
6779//    if err == nil { // resp is now filled
6780//        fmt.Println(resp)
6781//    }
6782//
6783// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
6784func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) {
6785	op := &request.Operation{
6786		Name:       opGetParameterHistory,
6787		HTTPMethod: "POST",
6788		HTTPPath:   "/",
6789		Paginator: &request.Paginator{
6790			InputTokens:     []string{"NextToken"},
6791			OutputTokens:    []string{"NextToken"},
6792			LimitToken:      "MaxResults",
6793			TruncationToken: "",
6794		},
6795	}
6796
6797	if input == nil {
6798		input = &GetParameterHistoryInput{}
6799	}
6800
6801	output = &GetParameterHistoryOutput{}
6802	req = c.newRequest(op, input, output)
6803	return
6804}
6805
6806// GetParameterHistory API operation for Amazon Simple Systems Manager (SSM).
6807//
6808// Query a list of all parameters used by the AWS account.
6809//
6810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6811// with awserr.Error's Code and Message methods to get detailed information about
6812// the error.
6813//
6814// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6815// API operation GetParameterHistory for usage and error information.
6816//
6817// Returned Error Codes:
6818//   * ErrCodeInternalServerError "InternalServerError"
6819//   An error occurred on the server side.
6820//
6821//   * ErrCodeParameterNotFound "ParameterNotFound"
6822//   The parameter could not be found. Verify the name and try again.
6823//
6824//   * ErrCodeInvalidNextToken "InvalidNextToken"
6825//   The specified token is not valid.
6826//
6827//   * ErrCodeInvalidKeyId "InvalidKeyId"
6828//   The query key ID is not valid.
6829//
6830// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
6831func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) {
6832	req, out := c.GetParameterHistoryRequest(input)
6833	return out, req.Send()
6834}
6835
6836// GetParameterHistoryWithContext is the same as GetParameterHistory with the addition of
6837// the ability to pass a context and additional request options.
6838//
6839// See GetParameterHistory for details on how to use this API operation.
6840//
6841// The context must be non-nil and will be used for request cancellation. If
6842// the context is nil a panic will occur. In the future the SDK may create
6843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6844// for more information on using Contexts.
6845func (c *SSM) GetParameterHistoryWithContext(ctx aws.Context, input *GetParameterHistoryInput, opts ...request.Option) (*GetParameterHistoryOutput, error) {
6846	req, out := c.GetParameterHistoryRequest(input)
6847	req.SetContext(ctx)
6848	req.ApplyOptions(opts...)
6849	return out, req.Send()
6850}
6851
6852// GetParameterHistoryPages iterates over the pages of a GetParameterHistory operation,
6853// calling the "fn" function with the response data for each page. To stop
6854// iterating, return false from the fn function.
6855//
6856// See GetParameterHistory method for more information on how to use this operation.
6857//
6858// Note: This operation can generate multiple requests to a service.
6859//
6860//    // Example iterating over at most 3 pages of a GetParameterHistory operation.
6861//    pageNum := 0
6862//    err := client.GetParameterHistoryPages(params,
6863//        func(page *ssm.GetParameterHistoryOutput, lastPage bool) bool {
6864//            pageNum++
6865//            fmt.Println(page)
6866//            return pageNum <= 3
6867//        })
6868//
6869func (c *SSM) GetParameterHistoryPages(input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool) error {
6870	return c.GetParameterHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
6871}
6872
6873// GetParameterHistoryPagesWithContext same as GetParameterHistoryPages except
6874// it takes a Context and allows setting request options on the pages.
6875//
6876// The context must be non-nil and will be used for request cancellation. If
6877// the context is nil a panic will occur. In the future the SDK may create
6878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6879// for more information on using Contexts.
6880func (c *SSM) GetParameterHistoryPagesWithContext(ctx aws.Context, input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool, opts ...request.Option) error {
6881	p := request.Pagination{
6882		NewRequest: func() (*request.Request, error) {
6883			var inCpy *GetParameterHistoryInput
6884			if input != nil {
6885				tmp := *input
6886				inCpy = &tmp
6887			}
6888			req, _ := c.GetParameterHistoryRequest(inCpy)
6889			req.SetContext(ctx)
6890			req.ApplyOptions(opts...)
6891			return req, nil
6892		},
6893	}
6894
6895	for p.Next() {
6896		if !fn(p.Page().(*GetParameterHistoryOutput), !p.HasNextPage()) {
6897			break
6898		}
6899	}
6900
6901	return p.Err()
6902}
6903
6904const opGetParameters = "GetParameters"
6905
6906// GetParametersRequest generates a "aws/request.Request" representing the
6907// client's request for the GetParameters operation. The "output" return
6908// value will be populated with the request's response once the request completes
6909// successfully.
6910//
6911// Use "Send" method on the returned Request to send the API call to the service.
6912// the "output" return value is not valid until after Send returns without error.
6913//
6914// See GetParameters for more information on using the GetParameters
6915// API call, and error handling.
6916//
6917// This method is useful when you want to inject custom logic or configuration
6918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6919//
6920//
6921//    // Example sending a request using the GetParametersRequest method.
6922//    req, resp := client.GetParametersRequest(params)
6923//
6924//    err := req.Send()
6925//    if err == nil { // resp is now filled
6926//        fmt.Println(resp)
6927//    }
6928//
6929// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
6930func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) {
6931	op := &request.Operation{
6932		Name:       opGetParameters,
6933		HTTPMethod: "POST",
6934		HTTPPath:   "/",
6935	}
6936
6937	if input == nil {
6938		input = &GetParametersInput{}
6939	}
6940
6941	output = &GetParametersOutput{}
6942	req = c.newRequest(op, input, output)
6943	return
6944}
6945
6946// GetParameters API operation for Amazon Simple Systems Manager (SSM).
6947//
6948// Get details of a parameter. Don't confuse this API action with the GetParameter
6949// API action.
6950//
6951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6952// with awserr.Error's Code and Message methods to get detailed information about
6953// the error.
6954//
6955// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6956// API operation GetParameters for usage and error information.
6957//
6958// Returned Error Codes:
6959//   * ErrCodeInvalidKeyId "InvalidKeyId"
6960//   The query key ID is not valid.
6961//
6962//   * ErrCodeInternalServerError "InternalServerError"
6963//   An error occurred on the server side.
6964//
6965// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
6966func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) {
6967	req, out := c.GetParametersRequest(input)
6968	return out, req.Send()
6969}
6970
6971// GetParametersWithContext is the same as GetParameters with the addition of
6972// the ability to pass a context and additional request options.
6973//
6974// See GetParameters for details on how to use this API operation.
6975//
6976// The context must be non-nil and will be used for request cancellation. If
6977// the context is nil a panic will occur. In the future the SDK may create
6978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6979// for more information on using Contexts.
6980func (c *SSM) GetParametersWithContext(ctx aws.Context, input *GetParametersInput, opts ...request.Option) (*GetParametersOutput, error) {
6981	req, out := c.GetParametersRequest(input)
6982	req.SetContext(ctx)
6983	req.ApplyOptions(opts...)
6984	return out, req.Send()
6985}
6986
6987const opGetParametersByPath = "GetParametersByPath"
6988
6989// GetParametersByPathRequest generates a "aws/request.Request" representing the
6990// client's request for the GetParametersByPath operation. The "output" return
6991// value will be populated with the request's response once the request completes
6992// successfully.
6993//
6994// Use "Send" method on the returned Request to send the API call to the service.
6995// the "output" return value is not valid until after Send returns without error.
6996//
6997// See GetParametersByPath for more information on using the GetParametersByPath
6998// API call, and error handling.
6999//
7000// This method is useful when you want to inject custom logic or configuration
7001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7002//
7003//
7004//    // Example sending a request using the GetParametersByPathRequest method.
7005//    req, resp := client.GetParametersByPathRequest(params)
7006//
7007//    err := req.Send()
7008//    if err == nil { // resp is now filled
7009//        fmt.Println(resp)
7010//    }
7011//
7012// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
7013func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req *request.Request, output *GetParametersByPathOutput) {
7014	op := &request.Operation{
7015		Name:       opGetParametersByPath,
7016		HTTPMethod: "POST",
7017		HTTPPath:   "/",
7018		Paginator: &request.Paginator{
7019			InputTokens:     []string{"NextToken"},
7020			OutputTokens:    []string{"NextToken"},
7021			LimitToken:      "MaxResults",
7022			TruncationToken: "",
7023		},
7024	}
7025
7026	if input == nil {
7027		input = &GetParametersByPathInput{}
7028	}
7029
7030	output = &GetParametersByPathOutput{}
7031	req = c.newRequest(op, input, output)
7032	return
7033}
7034
7035// GetParametersByPath API operation for Amazon Simple Systems Manager (SSM).
7036//
7037// Retrieve information about one or more parameters in a specific hierarchy.
7038//
7039// Request results are returned on a best-effort basis. If you specify MaxResults
7040// in the request, the response includes information up to the limit specified.
7041// The number of items returned, however, can be between zero and the value
7042// of MaxResults. If the service reaches an internal limit while processing
7043// the results, it stops the operation and returns the matching values up to
7044// that point and a NextToken. You can specify the NextToken in a subsequent
7045// call to get the next set of results.
7046//
7047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7048// with awserr.Error's Code and Message methods to get detailed information about
7049// the error.
7050//
7051// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7052// API operation GetParametersByPath for usage and error information.
7053//
7054// Returned Error Codes:
7055//   * ErrCodeInternalServerError "InternalServerError"
7056//   An error occurred on the server side.
7057//
7058//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
7059//   The specified key is not valid.
7060//
7061//   * ErrCodeInvalidFilterOption "InvalidFilterOption"
7062//   The specified filter option is not valid. Valid options are Equals and BeginsWith.
7063//   For Path filter, valid options are Recursive and OneLevel.
7064//
7065//   * ErrCodeInvalidFilterValue "InvalidFilterValue"
7066//   The filter value is not valid. Verify the value and try again.
7067//
7068//   * ErrCodeInvalidKeyId "InvalidKeyId"
7069//   The query key ID is not valid.
7070//
7071//   * ErrCodeInvalidNextToken "InvalidNextToken"
7072//   The specified token is not valid.
7073//
7074// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
7075func (c *SSM) GetParametersByPath(input *GetParametersByPathInput) (*GetParametersByPathOutput, error) {
7076	req, out := c.GetParametersByPathRequest(input)
7077	return out, req.Send()
7078}
7079
7080// GetParametersByPathWithContext is the same as GetParametersByPath with the addition of
7081// the ability to pass a context and additional request options.
7082//
7083// See GetParametersByPath for details on how to use this API operation.
7084//
7085// The context must be non-nil and will be used for request cancellation. If
7086// the context is nil a panic will occur. In the future the SDK may create
7087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7088// for more information on using Contexts.
7089func (c *SSM) GetParametersByPathWithContext(ctx aws.Context, input *GetParametersByPathInput, opts ...request.Option) (*GetParametersByPathOutput, error) {
7090	req, out := c.GetParametersByPathRequest(input)
7091	req.SetContext(ctx)
7092	req.ApplyOptions(opts...)
7093	return out, req.Send()
7094}
7095
7096// GetParametersByPathPages iterates over the pages of a GetParametersByPath operation,
7097// calling the "fn" function with the response data for each page. To stop
7098// iterating, return false from the fn function.
7099//
7100// See GetParametersByPath method for more information on how to use this operation.
7101//
7102// Note: This operation can generate multiple requests to a service.
7103//
7104//    // Example iterating over at most 3 pages of a GetParametersByPath operation.
7105//    pageNum := 0
7106//    err := client.GetParametersByPathPages(params,
7107//        func(page *ssm.GetParametersByPathOutput, lastPage bool) bool {
7108//            pageNum++
7109//            fmt.Println(page)
7110//            return pageNum <= 3
7111//        })
7112//
7113func (c *SSM) GetParametersByPathPages(input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool) error {
7114	return c.GetParametersByPathPagesWithContext(aws.BackgroundContext(), input, fn)
7115}
7116
7117// GetParametersByPathPagesWithContext same as GetParametersByPathPages except
7118// it takes a Context and allows setting request options on the pages.
7119//
7120// The context must be non-nil and will be used for request cancellation. If
7121// the context is nil a panic will occur. In the future the SDK may create
7122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7123// for more information on using Contexts.
7124func (c *SSM) GetParametersByPathPagesWithContext(ctx aws.Context, input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool, opts ...request.Option) error {
7125	p := request.Pagination{
7126		NewRequest: func() (*request.Request, error) {
7127			var inCpy *GetParametersByPathInput
7128			if input != nil {
7129				tmp := *input
7130				inCpy = &tmp
7131			}
7132			req, _ := c.GetParametersByPathRequest(inCpy)
7133			req.SetContext(ctx)
7134			req.ApplyOptions(opts...)
7135			return req, nil
7136		},
7137	}
7138
7139	for p.Next() {
7140		if !fn(p.Page().(*GetParametersByPathOutput), !p.HasNextPage()) {
7141			break
7142		}
7143	}
7144
7145	return p.Err()
7146}
7147
7148const opGetPatchBaseline = "GetPatchBaseline"
7149
7150// GetPatchBaselineRequest generates a "aws/request.Request" representing the
7151// client's request for the GetPatchBaseline operation. The "output" return
7152// value will be populated with the request's response once the request completes
7153// successfully.
7154//
7155// Use "Send" method on the returned Request to send the API call to the service.
7156// the "output" return value is not valid until after Send returns without error.
7157//
7158// See GetPatchBaseline for more information on using the GetPatchBaseline
7159// API call, and error handling.
7160//
7161// This method is useful when you want to inject custom logic or configuration
7162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7163//
7164//
7165//    // Example sending a request using the GetPatchBaselineRequest method.
7166//    req, resp := client.GetPatchBaselineRequest(params)
7167//
7168//    err := req.Send()
7169//    if err == nil { // resp is now filled
7170//        fmt.Println(resp)
7171//    }
7172//
7173// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
7174func (c *SSM) GetPatchBaselineRequest(input *GetPatchBaselineInput) (req *request.Request, output *GetPatchBaselineOutput) {
7175	op := &request.Operation{
7176		Name:       opGetPatchBaseline,
7177		HTTPMethod: "POST",
7178		HTTPPath:   "/",
7179	}
7180
7181	if input == nil {
7182		input = &GetPatchBaselineInput{}
7183	}
7184
7185	output = &GetPatchBaselineOutput{}
7186	req = c.newRequest(op, input, output)
7187	return
7188}
7189
7190// GetPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
7191//
7192// Retrieves information about a patch baseline.
7193//
7194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7195// with awserr.Error's Code and Message methods to get detailed information about
7196// the error.
7197//
7198// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7199// API operation GetPatchBaseline for usage and error information.
7200//
7201// Returned Error Codes:
7202//   * ErrCodeDoesNotExistException "DoesNotExistException"
7203//   Error returned when the ID specified for a resource, such as a maintenance
7204//   window or Patch baseline, doesn't exist.
7205//
7206//   For information about resource limits in Systems Manager, see AWS Systems
7207//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
7208//
7209//   * ErrCodeInvalidResourceId "InvalidResourceId"
7210//   The resource ID is not valid. Verify that you entered the correct ID and
7211//   try again.
7212//
7213//   * ErrCodeInternalServerError "InternalServerError"
7214//   An error occurred on the server side.
7215//
7216// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
7217func (c *SSM) GetPatchBaseline(input *GetPatchBaselineInput) (*GetPatchBaselineOutput, error) {
7218	req, out := c.GetPatchBaselineRequest(input)
7219	return out, req.Send()
7220}
7221
7222// GetPatchBaselineWithContext is the same as GetPatchBaseline with the addition of
7223// the ability to pass a context and additional request options.
7224//
7225// See GetPatchBaseline for details on how to use this API operation.
7226//
7227// The context must be non-nil and will be used for request cancellation. If
7228// the context is nil a panic will occur. In the future the SDK may create
7229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7230// for more information on using Contexts.
7231func (c *SSM) GetPatchBaselineWithContext(ctx aws.Context, input *GetPatchBaselineInput, opts ...request.Option) (*GetPatchBaselineOutput, error) {
7232	req, out := c.GetPatchBaselineRequest(input)
7233	req.SetContext(ctx)
7234	req.ApplyOptions(opts...)
7235	return out, req.Send()
7236}
7237
7238const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup"
7239
7240// GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
7241// client's request for the GetPatchBaselineForPatchGroup operation. The "output" return
7242// value will be populated with the request's response once the request completes
7243// successfully.
7244//
7245// Use "Send" method on the returned Request to send the API call to the service.
7246// the "output" return value is not valid until after Send returns without error.
7247//
7248// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup
7249// API call, and error handling.
7250//
7251// This method is useful when you want to inject custom logic or configuration
7252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7253//
7254//
7255//    // Example sending a request using the GetPatchBaselineForPatchGroupRequest method.
7256//    req, resp := client.GetPatchBaselineForPatchGroupRequest(params)
7257//
7258//    err := req.Send()
7259//    if err == nil { // resp is now filled
7260//        fmt.Println(resp)
7261//    }
7262//
7263// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
7264func (c *SSM) GetPatchBaselineForPatchGroupRequest(input *GetPatchBaselineForPatchGroupInput) (req *request.Request, output *GetPatchBaselineForPatchGroupOutput) {
7265	op := &request.Operation{
7266		Name:       opGetPatchBaselineForPatchGroup,
7267		HTTPMethod: "POST",
7268		HTTPPath:   "/",
7269	}
7270
7271	if input == nil {
7272		input = &GetPatchBaselineForPatchGroupInput{}
7273	}
7274
7275	output = &GetPatchBaselineForPatchGroupOutput{}
7276	req = c.newRequest(op, input, output)
7277	return
7278}
7279
7280// GetPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
7281//
7282// Retrieves the patch baseline that should be used for the specified patch
7283// group.
7284//
7285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7286// with awserr.Error's Code and Message methods to get detailed information about
7287// the error.
7288//
7289// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7290// API operation GetPatchBaselineForPatchGroup for usage and error information.
7291//
7292// Returned Error Codes:
7293//   * ErrCodeInternalServerError "InternalServerError"
7294//   An error occurred on the server side.
7295//
7296// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
7297func (c *SSM) GetPatchBaselineForPatchGroup(input *GetPatchBaselineForPatchGroupInput) (*GetPatchBaselineForPatchGroupOutput, error) {
7298	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
7299	return out, req.Send()
7300}
7301
7302// GetPatchBaselineForPatchGroupWithContext is the same as GetPatchBaselineForPatchGroup with the addition of
7303// the ability to pass a context and additional request options.
7304//
7305// See GetPatchBaselineForPatchGroup for details on how to use this API operation.
7306//
7307// The context must be non-nil and will be used for request cancellation. If
7308// the context is nil a panic will occur. In the future the SDK may create
7309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7310// for more information on using Contexts.
7311func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *GetPatchBaselineForPatchGroupInput, opts ...request.Option) (*GetPatchBaselineForPatchGroupOutput, error) {
7312	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
7313	req.SetContext(ctx)
7314	req.ApplyOptions(opts...)
7315	return out, req.Send()
7316}
7317
7318const opGetServiceSetting = "GetServiceSetting"
7319
7320// GetServiceSettingRequest generates a "aws/request.Request" representing the
7321// client's request for the GetServiceSetting operation. The "output" return
7322// value will be populated with the request's response once the request completes
7323// successfully.
7324//
7325// Use "Send" method on the returned Request to send the API call to the service.
7326// the "output" return value is not valid until after Send returns without error.
7327//
7328// See GetServiceSetting for more information on using the GetServiceSetting
7329// API call, and error handling.
7330//
7331// This method is useful when you want to inject custom logic or configuration
7332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7333//
7334//
7335//    // Example sending a request using the GetServiceSettingRequest method.
7336//    req, resp := client.GetServiceSettingRequest(params)
7337//
7338//    err := req.Send()
7339//    if err == nil { // resp is now filled
7340//        fmt.Println(resp)
7341//    }
7342//
7343// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
7344func (c *SSM) GetServiceSettingRequest(input *GetServiceSettingInput) (req *request.Request, output *GetServiceSettingOutput) {
7345	op := &request.Operation{
7346		Name:       opGetServiceSetting,
7347		HTTPMethod: "POST",
7348		HTTPPath:   "/",
7349	}
7350
7351	if input == nil {
7352		input = &GetServiceSettingInput{}
7353	}
7354
7355	output = &GetServiceSettingOutput{}
7356	req = c.newRequest(op, input, output)
7357	return
7358}
7359
7360// GetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
7361//
7362// ServiceSetting is an account-level setting for an AWS service. This setting
7363// defines how a user interacts with or uses a service or a feature of a service.
7364// For example, if an AWS service charges money to the account based on feature
7365// or service usage, then the AWS service team might create a default setting
7366// of "false". This means the user can't use this feature unless they change
7367// the setting to "true" and intentionally opt in for a paid feature.
7368//
7369// Services map a SettingId object to a setting value. AWS services teams define
7370// the default value for a SettingId. You can't create a new SettingId, but
7371// you can overwrite the default value if you have the ssm:UpdateServiceSetting
7372// permission for the setting. Use the UpdateServiceSetting API action to change
7373// the default setting. Or use the ResetServiceSetting to change the value back
7374// to the original value defined by the AWS service team.
7375//
7376// Query the current service setting for the account.
7377//
7378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7379// with awserr.Error's Code and Message methods to get detailed information about
7380// the error.
7381//
7382// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7383// API operation GetServiceSetting for usage and error information.
7384//
7385// Returned Error Codes:
7386//   * ErrCodeInternalServerError "InternalServerError"
7387//   An error occurred on the server side.
7388//
7389//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
7390//   The specified service setting was not found. Either the service name or the
7391//   setting has not been provisioned by the AWS service team.
7392//
7393// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
7394func (c *SSM) GetServiceSetting(input *GetServiceSettingInput) (*GetServiceSettingOutput, error) {
7395	req, out := c.GetServiceSettingRequest(input)
7396	return out, req.Send()
7397}
7398
7399// GetServiceSettingWithContext is the same as GetServiceSetting with the addition of
7400// the ability to pass a context and additional request options.
7401//
7402// See GetServiceSetting for details on how to use this API operation.
7403//
7404// The context must be non-nil and will be used for request cancellation. If
7405// the context is nil a panic will occur. In the future the SDK may create
7406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7407// for more information on using Contexts.
7408func (c *SSM) GetServiceSettingWithContext(ctx aws.Context, input *GetServiceSettingInput, opts ...request.Option) (*GetServiceSettingOutput, error) {
7409	req, out := c.GetServiceSettingRequest(input)
7410	req.SetContext(ctx)
7411	req.ApplyOptions(opts...)
7412	return out, req.Send()
7413}
7414
7415const opLabelParameterVersion = "LabelParameterVersion"
7416
7417// LabelParameterVersionRequest generates a "aws/request.Request" representing the
7418// client's request for the LabelParameterVersion operation. The "output" return
7419// value will be populated with the request's response once the request completes
7420// successfully.
7421//
7422// Use "Send" method on the returned Request to send the API call to the service.
7423// the "output" return value is not valid until after Send returns without error.
7424//
7425// See LabelParameterVersion for more information on using the LabelParameterVersion
7426// API call, and error handling.
7427//
7428// This method is useful when you want to inject custom logic or configuration
7429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7430//
7431//
7432//    // Example sending a request using the LabelParameterVersionRequest method.
7433//    req, resp := client.LabelParameterVersionRequest(params)
7434//
7435//    err := req.Send()
7436//    if err == nil { // resp is now filled
7437//        fmt.Println(resp)
7438//    }
7439//
7440// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
7441func (c *SSM) LabelParameterVersionRequest(input *LabelParameterVersionInput) (req *request.Request, output *LabelParameterVersionOutput) {
7442	op := &request.Operation{
7443		Name:       opLabelParameterVersion,
7444		HTTPMethod: "POST",
7445		HTTPPath:   "/",
7446	}
7447
7448	if input == nil {
7449		input = &LabelParameterVersionInput{}
7450	}
7451
7452	output = &LabelParameterVersionOutput{}
7453	req = c.newRequest(op, input, output)
7454	return
7455}
7456
7457// LabelParameterVersion API operation for Amazon Simple Systems Manager (SSM).
7458//
7459// A parameter label is a user-defined alias to help you manage different versions
7460// of a parameter. When you modify a parameter, Systems Manager automatically
7461// saves a new version and increments the version number by one. A label can
7462// help you remember the purpose of a parameter when there are multiple versions.
7463//
7464// Parameter labels have the following requirements and restrictions.
7465//
7466//    * A version of a parameter can have a maximum of 10 labels.
7467//
7468//    * You can't attach the same label to different versions of the same parameter.
7469//    For example, if version 1 has the label Production, then you can't attach
7470//    Production to version 2.
7471//
7472//    * You can move a label from one version of a parameter to another.
7473//
7474//    * You can't create a label when you create a new parameter. You must attach
7475//    a label to a specific version of a parameter.
7476//
7477//    * You can't delete a parameter label. If you no longer want to use a parameter
7478//    label, then you must move it to a different version of a parameter.
7479//
7480//    * A label can have a maximum of 100 characters.
7481//
7482//    * Labels can contain letters (case sensitive), numbers, periods (.), hyphens
7483//    (-), or underscores (_).
7484//
7485//    * Labels can't begin with a number, "aws," or "ssm" (not case sensitive).
7486//    If a label fails to meet these requirements, then the label is not associated
7487//    with a parameter and the system displays it in the list of InvalidLabels.
7488//
7489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7490// with awserr.Error's Code and Message methods to get detailed information about
7491// the error.
7492//
7493// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7494// API operation LabelParameterVersion for usage and error information.
7495//
7496// Returned Error Codes:
7497//   * ErrCodeInternalServerError "InternalServerError"
7498//   An error occurred on the server side.
7499//
7500//   * ErrCodeTooManyUpdates "TooManyUpdates"
7501//   There are concurrent updates for a resource that supports one update at a
7502//   time.
7503//
7504//   * ErrCodeParameterNotFound "ParameterNotFound"
7505//   The parameter could not be found. Verify the name and try again.
7506//
7507//   * ErrCodeParameterVersionNotFound "ParameterVersionNotFound"
7508//   The specified parameter version was not found. Verify the parameter name
7509//   and version, and try again.
7510//
7511//   * ErrCodeParameterVersionLabelLimitExceeded "ParameterVersionLabelLimitExceeded"
7512//   A parameter version can have a maximum of ten labels.
7513//
7514// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
7515func (c *SSM) LabelParameterVersion(input *LabelParameterVersionInput) (*LabelParameterVersionOutput, error) {
7516	req, out := c.LabelParameterVersionRequest(input)
7517	return out, req.Send()
7518}
7519
7520// LabelParameterVersionWithContext is the same as LabelParameterVersion with the addition of
7521// the ability to pass a context and additional request options.
7522//
7523// See LabelParameterVersion for details on how to use this API operation.
7524//
7525// The context must be non-nil and will be used for request cancellation. If
7526// the context is nil a panic will occur. In the future the SDK may create
7527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7528// for more information on using Contexts.
7529func (c *SSM) LabelParameterVersionWithContext(ctx aws.Context, input *LabelParameterVersionInput, opts ...request.Option) (*LabelParameterVersionOutput, error) {
7530	req, out := c.LabelParameterVersionRequest(input)
7531	req.SetContext(ctx)
7532	req.ApplyOptions(opts...)
7533	return out, req.Send()
7534}
7535
7536const opListAssociationVersions = "ListAssociationVersions"
7537
7538// ListAssociationVersionsRequest generates a "aws/request.Request" representing the
7539// client's request for the ListAssociationVersions operation. The "output" return
7540// value will be populated with the request's response once the request completes
7541// successfully.
7542//
7543// Use "Send" method on the returned Request to send the API call to the service.
7544// the "output" return value is not valid until after Send returns without error.
7545//
7546// See ListAssociationVersions for more information on using the ListAssociationVersions
7547// API call, and error handling.
7548//
7549// This method is useful when you want to inject custom logic or configuration
7550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7551//
7552//
7553//    // Example sending a request using the ListAssociationVersionsRequest method.
7554//    req, resp := client.ListAssociationVersionsRequest(params)
7555//
7556//    err := req.Send()
7557//    if err == nil { // resp is now filled
7558//        fmt.Println(resp)
7559//    }
7560//
7561// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
7562func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) {
7563	op := &request.Operation{
7564		Name:       opListAssociationVersions,
7565		HTTPMethod: "POST",
7566		HTTPPath:   "/",
7567	}
7568
7569	if input == nil {
7570		input = &ListAssociationVersionsInput{}
7571	}
7572
7573	output = &ListAssociationVersionsOutput{}
7574	req = c.newRequest(op, input, output)
7575	return
7576}
7577
7578// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM).
7579//
7580// Retrieves all versions of an association for a specific association ID.
7581//
7582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7583// with awserr.Error's Code and Message methods to get detailed information about
7584// the error.
7585//
7586// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7587// API operation ListAssociationVersions for usage and error information.
7588//
7589// Returned Error Codes:
7590//   * ErrCodeInternalServerError "InternalServerError"
7591//   An error occurred on the server side.
7592//
7593//   * ErrCodeInvalidNextToken "InvalidNextToken"
7594//   The specified token is not valid.
7595//
7596//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
7597//   The specified association does not exist.
7598//
7599// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
7600func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) {
7601	req, out := c.ListAssociationVersionsRequest(input)
7602	return out, req.Send()
7603}
7604
7605// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of
7606// the ability to pass a context and additional request options.
7607//
7608// See ListAssociationVersions for details on how to use this API operation.
7609//
7610// The context must be non-nil and will be used for request cancellation. If
7611// the context is nil a panic will occur. In the future the SDK may create
7612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7613// for more information on using Contexts.
7614func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) {
7615	req, out := c.ListAssociationVersionsRequest(input)
7616	req.SetContext(ctx)
7617	req.ApplyOptions(opts...)
7618	return out, req.Send()
7619}
7620
7621const opListAssociations = "ListAssociations"
7622
7623// ListAssociationsRequest generates a "aws/request.Request" representing the
7624// client's request for the ListAssociations operation. The "output" return
7625// value will be populated with the request's response once the request completes
7626// successfully.
7627//
7628// Use "Send" method on the returned Request to send the API call to the service.
7629// the "output" return value is not valid until after Send returns without error.
7630//
7631// See ListAssociations for more information on using the ListAssociations
7632// API call, and error handling.
7633//
7634// This method is useful when you want to inject custom logic or configuration
7635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7636//
7637//
7638//    // Example sending a request using the ListAssociationsRequest method.
7639//    req, resp := client.ListAssociationsRequest(params)
7640//
7641//    err := req.Send()
7642//    if err == nil { // resp is now filled
7643//        fmt.Println(resp)
7644//    }
7645//
7646// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
7647func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) {
7648	op := &request.Operation{
7649		Name:       opListAssociations,
7650		HTTPMethod: "POST",
7651		HTTPPath:   "/",
7652		Paginator: &request.Paginator{
7653			InputTokens:     []string{"NextToken"},
7654			OutputTokens:    []string{"NextToken"},
7655			LimitToken:      "MaxResults",
7656			TruncationToken: "",
7657		},
7658	}
7659
7660	if input == nil {
7661		input = &ListAssociationsInput{}
7662	}
7663
7664	output = &ListAssociationsOutput{}
7665	req = c.newRequest(op, input, output)
7666	return
7667}
7668
7669// ListAssociations API operation for Amazon Simple Systems Manager (SSM).
7670//
7671// Lists the associations for the specified Systems Manager document or instance.
7672//
7673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7674// with awserr.Error's Code and Message methods to get detailed information about
7675// the error.
7676//
7677// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7678// API operation ListAssociations for usage and error information.
7679//
7680// Returned Error Codes:
7681//   * ErrCodeInternalServerError "InternalServerError"
7682//   An error occurred on the server side.
7683//
7684//   * ErrCodeInvalidNextToken "InvalidNextToken"
7685//   The specified token is not valid.
7686//
7687// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
7688func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) {
7689	req, out := c.ListAssociationsRequest(input)
7690	return out, req.Send()
7691}
7692
7693// ListAssociationsWithContext is the same as ListAssociations with the addition of
7694// the ability to pass a context and additional request options.
7695//
7696// See ListAssociations for details on how to use this API operation.
7697//
7698// The context must be non-nil and will be used for request cancellation. If
7699// the context is nil a panic will occur. In the future the SDK may create
7700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7701// for more information on using Contexts.
7702func (c *SSM) ListAssociationsWithContext(ctx aws.Context, input *ListAssociationsInput, opts ...request.Option) (*ListAssociationsOutput, error) {
7703	req, out := c.ListAssociationsRequest(input)
7704	req.SetContext(ctx)
7705	req.ApplyOptions(opts...)
7706	return out, req.Send()
7707}
7708
7709// ListAssociationsPages iterates over the pages of a ListAssociations operation,
7710// calling the "fn" function with the response data for each page. To stop
7711// iterating, return false from the fn function.
7712//
7713// See ListAssociations method for more information on how to use this operation.
7714//
7715// Note: This operation can generate multiple requests to a service.
7716//
7717//    // Example iterating over at most 3 pages of a ListAssociations operation.
7718//    pageNum := 0
7719//    err := client.ListAssociationsPages(params,
7720//        func(page *ssm.ListAssociationsOutput, lastPage bool) bool {
7721//            pageNum++
7722//            fmt.Println(page)
7723//            return pageNum <= 3
7724//        })
7725//
7726func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool) error {
7727	return c.ListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
7728}
7729
7730// ListAssociationsPagesWithContext same as ListAssociationsPages except
7731// it takes a Context and allows setting request options on the pages.
7732//
7733// The context must be non-nil and will be used for request cancellation. If
7734// the context is nil a panic will occur. In the future the SDK may create
7735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7736// for more information on using Contexts.
7737func (c *SSM) ListAssociationsPagesWithContext(ctx aws.Context, input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool, opts ...request.Option) error {
7738	p := request.Pagination{
7739		NewRequest: func() (*request.Request, error) {
7740			var inCpy *ListAssociationsInput
7741			if input != nil {
7742				tmp := *input
7743				inCpy = &tmp
7744			}
7745			req, _ := c.ListAssociationsRequest(inCpy)
7746			req.SetContext(ctx)
7747			req.ApplyOptions(opts...)
7748			return req, nil
7749		},
7750	}
7751
7752	for p.Next() {
7753		if !fn(p.Page().(*ListAssociationsOutput), !p.HasNextPage()) {
7754			break
7755		}
7756	}
7757
7758	return p.Err()
7759}
7760
7761const opListCommandInvocations = "ListCommandInvocations"
7762
7763// ListCommandInvocationsRequest generates a "aws/request.Request" representing the
7764// client's request for the ListCommandInvocations operation. The "output" return
7765// value will be populated with the request's response once the request completes
7766// successfully.
7767//
7768// Use "Send" method on the returned Request to send the API call to the service.
7769// the "output" return value is not valid until after Send returns without error.
7770//
7771// See ListCommandInvocations for more information on using the ListCommandInvocations
7772// API call, and error handling.
7773//
7774// This method is useful when you want to inject custom logic or configuration
7775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7776//
7777//
7778//    // Example sending a request using the ListCommandInvocationsRequest method.
7779//    req, resp := client.ListCommandInvocationsRequest(params)
7780//
7781//    err := req.Send()
7782//    if err == nil { // resp is now filled
7783//        fmt.Println(resp)
7784//    }
7785//
7786// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
7787func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) {
7788	op := &request.Operation{
7789		Name:       opListCommandInvocations,
7790		HTTPMethod: "POST",
7791		HTTPPath:   "/",
7792		Paginator: &request.Paginator{
7793			InputTokens:     []string{"NextToken"},
7794			OutputTokens:    []string{"NextToken"},
7795			LimitToken:      "MaxResults",
7796			TruncationToken: "",
7797		},
7798	}
7799
7800	if input == nil {
7801		input = &ListCommandInvocationsInput{}
7802	}
7803
7804	output = &ListCommandInvocationsOutput{}
7805	req = c.newRequest(op, input, output)
7806	return
7807}
7808
7809// ListCommandInvocations API operation for Amazon Simple Systems Manager (SSM).
7810//
7811// An invocation is copy of a command sent to a specific instance. A command
7812// can apply to one or more instances. A command invocation applies to one instance.
7813// For example, if a user runs SendCommand against three instances, then a command
7814// invocation is created for each requested instance ID. ListCommandInvocations
7815// provide status about command execution.
7816//
7817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7818// with awserr.Error's Code and Message methods to get detailed information about
7819// the error.
7820//
7821// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7822// API operation ListCommandInvocations for usage and error information.
7823//
7824// Returned Error Codes:
7825//   * ErrCodeInternalServerError "InternalServerError"
7826//   An error occurred on the server side.
7827//
7828//   * ErrCodeInvalidCommandId "InvalidCommandId"
7829//
7830//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
7831//   The following problems can cause this exception:
7832//
7833//   You do not have permission to access the instance.
7834//
7835//   SSM Agent is not running. Verify that SSM Agent is running.
7836//
7837//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
7838//
7839//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
7840//   Stopping. Invalid states are: Shutting-down and Terminated.
7841//
7842//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
7843//   The specified key is not valid.
7844//
7845//   * ErrCodeInvalidNextToken "InvalidNextToken"
7846//   The specified token is not valid.
7847//
7848// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
7849func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) {
7850	req, out := c.ListCommandInvocationsRequest(input)
7851	return out, req.Send()
7852}
7853
7854// ListCommandInvocationsWithContext is the same as ListCommandInvocations with the addition of
7855// the ability to pass a context and additional request options.
7856//
7857// See ListCommandInvocations for details on how to use this API operation.
7858//
7859// The context must be non-nil and will be used for request cancellation. If
7860// the context is nil a panic will occur. In the future the SDK may create
7861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7862// for more information on using Contexts.
7863func (c *SSM) ListCommandInvocationsWithContext(ctx aws.Context, input *ListCommandInvocationsInput, opts ...request.Option) (*ListCommandInvocationsOutput, error) {
7864	req, out := c.ListCommandInvocationsRequest(input)
7865	req.SetContext(ctx)
7866	req.ApplyOptions(opts...)
7867	return out, req.Send()
7868}
7869
7870// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation,
7871// calling the "fn" function with the response data for each page. To stop
7872// iterating, return false from the fn function.
7873//
7874// See ListCommandInvocations method for more information on how to use this operation.
7875//
7876// Note: This operation can generate multiple requests to a service.
7877//
7878//    // Example iterating over at most 3 pages of a ListCommandInvocations operation.
7879//    pageNum := 0
7880//    err := client.ListCommandInvocationsPages(params,
7881//        func(page *ssm.ListCommandInvocationsOutput, lastPage bool) bool {
7882//            pageNum++
7883//            fmt.Println(page)
7884//            return pageNum <= 3
7885//        })
7886//
7887func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool) error {
7888	return c.ListCommandInvocationsPagesWithContext(aws.BackgroundContext(), input, fn)
7889}
7890
7891// ListCommandInvocationsPagesWithContext same as ListCommandInvocationsPages except
7892// it takes a Context and allows setting request options on the pages.
7893//
7894// The context must be non-nil and will be used for request cancellation. If
7895// the context is nil a panic will occur. In the future the SDK may create
7896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7897// for more information on using Contexts.
7898func (c *SSM) ListCommandInvocationsPagesWithContext(ctx aws.Context, input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool, opts ...request.Option) error {
7899	p := request.Pagination{
7900		NewRequest: func() (*request.Request, error) {
7901			var inCpy *ListCommandInvocationsInput
7902			if input != nil {
7903				tmp := *input
7904				inCpy = &tmp
7905			}
7906			req, _ := c.ListCommandInvocationsRequest(inCpy)
7907			req.SetContext(ctx)
7908			req.ApplyOptions(opts...)
7909			return req, nil
7910		},
7911	}
7912
7913	for p.Next() {
7914		if !fn(p.Page().(*ListCommandInvocationsOutput), !p.HasNextPage()) {
7915			break
7916		}
7917	}
7918
7919	return p.Err()
7920}
7921
7922const opListCommands = "ListCommands"
7923
7924// ListCommandsRequest generates a "aws/request.Request" representing the
7925// client's request for the ListCommands operation. The "output" return
7926// value will be populated with the request's response once the request completes
7927// successfully.
7928//
7929// Use "Send" method on the returned Request to send the API call to the service.
7930// the "output" return value is not valid until after Send returns without error.
7931//
7932// See ListCommands for more information on using the ListCommands
7933// API call, and error handling.
7934//
7935// This method is useful when you want to inject custom logic or configuration
7936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7937//
7938//
7939//    // Example sending a request using the ListCommandsRequest method.
7940//    req, resp := client.ListCommandsRequest(params)
7941//
7942//    err := req.Send()
7943//    if err == nil { // resp is now filled
7944//        fmt.Println(resp)
7945//    }
7946//
7947// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
7948func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) {
7949	op := &request.Operation{
7950		Name:       opListCommands,
7951		HTTPMethod: "POST",
7952		HTTPPath:   "/",
7953		Paginator: &request.Paginator{
7954			InputTokens:     []string{"NextToken"},
7955			OutputTokens:    []string{"NextToken"},
7956			LimitToken:      "MaxResults",
7957			TruncationToken: "",
7958		},
7959	}
7960
7961	if input == nil {
7962		input = &ListCommandsInput{}
7963	}
7964
7965	output = &ListCommandsOutput{}
7966	req = c.newRequest(op, input, output)
7967	return
7968}
7969
7970// ListCommands API operation for Amazon Simple Systems Manager (SSM).
7971//
7972// Lists the commands requested by users of the AWS account.
7973//
7974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7975// with awserr.Error's Code and Message methods to get detailed information about
7976// the error.
7977//
7978// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7979// API operation ListCommands for usage and error information.
7980//
7981// Returned Error Codes:
7982//   * ErrCodeInternalServerError "InternalServerError"
7983//   An error occurred on the server side.
7984//
7985//   * ErrCodeInvalidCommandId "InvalidCommandId"
7986//
7987//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
7988//   The following problems can cause this exception:
7989//
7990//   You do not have permission to access the instance.
7991//
7992//   SSM Agent is not running. Verify that SSM Agent is running.
7993//
7994//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
7995//
7996//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
7997//   Stopping. Invalid states are: Shutting-down and Terminated.
7998//
7999//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
8000//   The specified key is not valid.
8001//
8002//   * ErrCodeInvalidNextToken "InvalidNextToken"
8003//   The specified token is not valid.
8004//
8005// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
8006func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) {
8007	req, out := c.ListCommandsRequest(input)
8008	return out, req.Send()
8009}
8010
8011// ListCommandsWithContext is the same as ListCommands with the addition of
8012// the ability to pass a context and additional request options.
8013//
8014// See ListCommands for details on how to use this API operation.
8015//
8016// The context must be non-nil and will be used for request cancellation. If
8017// the context is nil a panic will occur. In the future the SDK may create
8018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8019// for more information on using Contexts.
8020func (c *SSM) ListCommandsWithContext(ctx aws.Context, input *ListCommandsInput, opts ...request.Option) (*ListCommandsOutput, error) {
8021	req, out := c.ListCommandsRequest(input)
8022	req.SetContext(ctx)
8023	req.ApplyOptions(opts...)
8024	return out, req.Send()
8025}
8026
8027// ListCommandsPages iterates over the pages of a ListCommands operation,
8028// calling the "fn" function with the response data for each page. To stop
8029// iterating, return false from the fn function.
8030//
8031// See ListCommands method for more information on how to use this operation.
8032//
8033// Note: This operation can generate multiple requests to a service.
8034//
8035//    // Example iterating over at most 3 pages of a ListCommands operation.
8036//    pageNum := 0
8037//    err := client.ListCommandsPages(params,
8038//        func(page *ssm.ListCommandsOutput, lastPage bool) bool {
8039//            pageNum++
8040//            fmt.Println(page)
8041//            return pageNum <= 3
8042//        })
8043//
8044func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool) error {
8045	return c.ListCommandsPagesWithContext(aws.BackgroundContext(), input, fn)
8046}
8047
8048// ListCommandsPagesWithContext same as ListCommandsPages except
8049// it takes a Context and allows setting request options on the pages.
8050//
8051// The context must be non-nil and will be used for request cancellation. If
8052// the context is nil a panic will occur. In the future the SDK may create
8053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8054// for more information on using Contexts.
8055func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool, opts ...request.Option) error {
8056	p := request.Pagination{
8057		NewRequest: func() (*request.Request, error) {
8058			var inCpy *ListCommandsInput
8059			if input != nil {
8060				tmp := *input
8061				inCpy = &tmp
8062			}
8063			req, _ := c.ListCommandsRequest(inCpy)
8064			req.SetContext(ctx)
8065			req.ApplyOptions(opts...)
8066			return req, nil
8067		},
8068	}
8069
8070	for p.Next() {
8071		if !fn(p.Page().(*ListCommandsOutput), !p.HasNextPage()) {
8072			break
8073		}
8074	}
8075
8076	return p.Err()
8077}
8078
8079const opListComplianceItems = "ListComplianceItems"
8080
8081// ListComplianceItemsRequest generates a "aws/request.Request" representing the
8082// client's request for the ListComplianceItems operation. The "output" return
8083// value will be populated with the request's response once the request completes
8084// successfully.
8085//
8086// Use "Send" method on the returned Request to send the API call to the service.
8087// the "output" return value is not valid until after Send returns without error.
8088//
8089// See ListComplianceItems for more information on using the ListComplianceItems
8090// API call, and error handling.
8091//
8092// This method is useful when you want to inject custom logic or configuration
8093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8094//
8095//
8096//    // Example sending a request using the ListComplianceItemsRequest method.
8097//    req, resp := client.ListComplianceItemsRequest(params)
8098//
8099//    err := req.Send()
8100//    if err == nil { // resp is now filled
8101//        fmt.Println(resp)
8102//    }
8103//
8104// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
8105func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) {
8106	op := &request.Operation{
8107		Name:       opListComplianceItems,
8108		HTTPMethod: "POST",
8109		HTTPPath:   "/",
8110	}
8111
8112	if input == nil {
8113		input = &ListComplianceItemsInput{}
8114	}
8115
8116	output = &ListComplianceItemsOutput{}
8117	req = c.newRequest(op, input, output)
8118	return
8119}
8120
8121// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM).
8122//
8123// For a specified resource ID, this API action returns a list of compliance
8124// statuses for different resource types. Currently, you can only specify one
8125// resource ID per call. List results depend on the criteria specified in the
8126// filter.
8127//
8128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8129// with awserr.Error's Code and Message methods to get detailed information about
8130// the error.
8131//
8132// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8133// API operation ListComplianceItems for usage and error information.
8134//
8135// Returned Error Codes:
8136//   * ErrCodeInvalidResourceType "InvalidResourceType"
8137//   The resource type is not valid. For example, if you are attempting to tag
8138//   an instance, the instance must be a registered, managed instance.
8139//
8140//   * ErrCodeInvalidResourceId "InvalidResourceId"
8141//   The resource ID is not valid. Verify that you entered the correct ID and
8142//   try again.
8143//
8144//   * ErrCodeInternalServerError "InternalServerError"
8145//   An error occurred on the server side.
8146//
8147//   * ErrCodeInvalidFilter "InvalidFilter"
8148//   The filter name is not valid. Verify the you entered the correct name and
8149//   try again.
8150//
8151//   * ErrCodeInvalidNextToken "InvalidNextToken"
8152//   The specified token is not valid.
8153//
8154// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
8155func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) {
8156	req, out := c.ListComplianceItemsRequest(input)
8157	return out, req.Send()
8158}
8159
8160// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of
8161// the ability to pass a context and additional request options.
8162//
8163// See ListComplianceItems for details on how to use this API operation.
8164//
8165// The context must be non-nil and will be used for request cancellation. If
8166// the context is nil a panic will occur. In the future the SDK may create
8167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8168// for more information on using Contexts.
8169func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) {
8170	req, out := c.ListComplianceItemsRequest(input)
8171	req.SetContext(ctx)
8172	req.ApplyOptions(opts...)
8173	return out, req.Send()
8174}
8175
8176const opListComplianceSummaries = "ListComplianceSummaries"
8177
8178// ListComplianceSummariesRequest generates a "aws/request.Request" representing the
8179// client's request for the ListComplianceSummaries operation. The "output" return
8180// value will be populated with the request's response once the request completes
8181// successfully.
8182//
8183// Use "Send" method on the returned Request to send the API call to the service.
8184// the "output" return value is not valid until after Send returns without error.
8185//
8186// See ListComplianceSummaries for more information on using the ListComplianceSummaries
8187// API call, and error handling.
8188//
8189// This method is useful when you want to inject custom logic or configuration
8190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8191//
8192//
8193//    // Example sending a request using the ListComplianceSummariesRequest method.
8194//    req, resp := client.ListComplianceSummariesRequest(params)
8195//
8196//    err := req.Send()
8197//    if err == nil { // resp is now filled
8198//        fmt.Println(resp)
8199//    }
8200//
8201// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
8202func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) {
8203	op := &request.Operation{
8204		Name:       opListComplianceSummaries,
8205		HTTPMethod: "POST",
8206		HTTPPath:   "/",
8207	}
8208
8209	if input == nil {
8210		input = &ListComplianceSummariesInput{}
8211	}
8212
8213	output = &ListComplianceSummariesOutput{}
8214	req = c.newRequest(op, input, output)
8215	return
8216}
8217
8218// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
8219//
8220// Returns a summary count of compliant and non-compliant resources for a compliance
8221// type. For example, this call can return State Manager associations, patches,
8222// or custom compliance types according to the filter criteria that you specify.
8223//
8224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8225// with awserr.Error's Code and Message methods to get detailed information about
8226// the error.
8227//
8228// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8229// API operation ListComplianceSummaries for usage and error information.
8230//
8231// Returned Error Codes:
8232//   * ErrCodeInvalidFilter "InvalidFilter"
8233//   The filter name is not valid. Verify the you entered the correct name and
8234//   try again.
8235//
8236//   * ErrCodeInvalidNextToken "InvalidNextToken"
8237//   The specified token is not valid.
8238//
8239//   * ErrCodeInternalServerError "InternalServerError"
8240//   An error occurred on the server side.
8241//
8242// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
8243func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) {
8244	req, out := c.ListComplianceSummariesRequest(input)
8245	return out, req.Send()
8246}
8247
8248// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of
8249// the ability to pass a context and additional request options.
8250//
8251// See ListComplianceSummaries for details on how to use this API operation.
8252//
8253// The context must be non-nil and will be used for request cancellation. If
8254// the context is nil a panic will occur. In the future the SDK may create
8255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8256// for more information on using Contexts.
8257func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) {
8258	req, out := c.ListComplianceSummariesRequest(input)
8259	req.SetContext(ctx)
8260	req.ApplyOptions(opts...)
8261	return out, req.Send()
8262}
8263
8264const opListDocumentVersions = "ListDocumentVersions"
8265
8266// ListDocumentVersionsRequest generates a "aws/request.Request" representing the
8267// client's request for the ListDocumentVersions operation. The "output" return
8268// value will be populated with the request's response once the request completes
8269// successfully.
8270//
8271// Use "Send" method on the returned Request to send the API call to the service.
8272// the "output" return value is not valid until after Send returns without error.
8273//
8274// See ListDocumentVersions for more information on using the ListDocumentVersions
8275// API call, and error handling.
8276//
8277// This method is useful when you want to inject custom logic or configuration
8278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8279//
8280//
8281//    // Example sending a request using the ListDocumentVersionsRequest method.
8282//    req, resp := client.ListDocumentVersionsRequest(params)
8283//
8284//    err := req.Send()
8285//    if err == nil { // resp is now filled
8286//        fmt.Println(resp)
8287//    }
8288//
8289// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
8290func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) {
8291	op := &request.Operation{
8292		Name:       opListDocumentVersions,
8293		HTTPMethod: "POST",
8294		HTTPPath:   "/",
8295	}
8296
8297	if input == nil {
8298		input = &ListDocumentVersionsInput{}
8299	}
8300
8301	output = &ListDocumentVersionsOutput{}
8302	req = c.newRequest(op, input, output)
8303	return
8304}
8305
8306// ListDocumentVersions API operation for Amazon Simple Systems Manager (SSM).
8307//
8308// List all versions for a document.
8309//
8310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8311// with awserr.Error's Code and Message methods to get detailed information about
8312// the error.
8313//
8314// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8315// API operation ListDocumentVersions for usage and error information.
8316//
8317// Returned Error Codes:
8318//   * ErrCodeInternalServerError "InternalServerError"
8319//   An error occurred on the server side.
8320//
8321//   * ErrCodeInvalidNextToken "InvalidNextToken"
8322//   The specified token is not valid.
8323//
8324//   * ErrCodeInvalidDocument "InvalidDocument"
8325//   The specified document does not exist.
8326//
8327// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
8328func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) {
8329	req, out := c.ListDocumentVersionsRequest(input)
8330	return out, req.Send()
8331}
8332
8333// ListDocumentVersionsWithContext is the same as ListDocumentVersions with the addition of
8334// the ability to pass a context and additional request options.
8335//
8336// See ListDocumentVersions for details on how to use this API operation.
8337//
8338// The context must be non-nil and will be used for request cancellation. If
8339// the context is nil a panic will occur. In the future the SDK may create
8340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8341// for more information on using Contexts.
8342func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocumentVersionsInput, opts ...request.Option) (*ListDocumentVersionsOutput, error) {
8343	req, out := c.ListDocumentVersionsRequest(input)
8344	req.SetContext(ctx)
8345	req.ApplyOptions(opts...)
8346	return out, req.Send()
8347}
8348
8349const opListDocuments = "ListDocuments"
8350
8351// ListDocumentsRequest generates a "aws/request.Request" representing the
8352// client's request for the ListDocuments operation. The "output" return
8353// value will be populated with the request's response once the request completes
8354// successfully.
8355//
8356// Use "Send" method on the returned Request to send the API call to the service.
8357// the "output" return value is not valid until after Send returns without error.
8358//
8359// See ListDocuments for more information on using the ListDocuments
8360// API call, and error handling.
8361//
8362// This method is useful when you want to inject custom logic or configuration
8363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8364//
8365//
8366//    // Example sending a request using the ListDocumentsRequest method.
8367//    req, resp := client.ListDocumentsRequest(params)
8368//
8369//    err := req.Send()
8370//    if err == nil { // resp is now filled
8371//        fmt.Println(resp)
8372//    }
8373//
8374// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
8375func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) {
8376	op := &request.Operation{
8377		Name:       opListDocuments,
8378		HTTPMethod: "POST",
8379		HTTPPath:   "/",
8380		Paginator: &request.Paginator{
8381			InputTokens:     []string{"NextToken"},
8382			OutputTokens:    []string{"NextToken"},
8383			LimitToken:      "MaxResults",
8384			TruncationToken: "",
8385		},
8386	}
8387
8388	if input == nil {
8389		input = &ListDocumentsInput{}
8390	}
8391
8392	output = &ListDocumentsOutput{}
8393	req = c.newRequest(op, input, output)
8394	return
8395}
8396
8397// ListDocuments API operation for Amazon Simple Systems Manager (SSM).
8398//
8399// Describes one or more of your Systems Manager documents.
8400//
8401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8402// with awserr.Error's Code and Message methods to get detailed information about
8403// the error.
8404//
8405// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8406// API operation ListDocuments for usage and error information.
8407//
8408// Returned Error Codes:
8409//   * ErrCodeInternalServerError "InternalServerError"
8410//   An error occurred on the server side.
8411//
8412//   * ErrCodeInvalidNextToken "InvalidNextToken"
8413//   The specified token is not valid.
8414//
8415//   * ErrCodeInvalidFilterKey "InvalidFilterKey"
8416//   The specified key is not valid.
8417//
8418// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
8419func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) {
8420	req, out := c.ListDocumentsRequest(input)
8421	return out, req.Send()
8422}
8423
8424// ListDocumentsWithContext is the same as ListDocuments with the addition of
8425// the ability to pass a context and additional request options.
8426//
8427// See ListDocuments for details on how to use this API operation.
8428//
8429// The context must be non-nil and will be used for request cancellation. If
8430// the context is nil a panic will occur. In the future the SDK may create
8431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8432// for more information on using Contexts.
8433func (c *SSM) ListDocumentsWithContext(ctx aws.Context, input *ListDocumentsInput, opts ...request.Option) (*ListDocumentsOutput, error) {
8434	req, out := c.ListDocumentsRequest(input)
8435	req.SetContext(ctx)
8436	req.ApplyOptions(opts...)
8437	return out, req.Send()
8438}
8439
8440// ListDocumentsPages iterates over the pages of a ListDocuments operation,
8441// calling the "fn" function with the response data for each page. To stop
8442// iterating, return false from the fn function.
8443//
8444// See ListDocuments method for more information on how to use this operation.
8445//
8446// Note: This operation can generate multiple requests to a service.
8447//
8448//    // Example iterating over at most 3 pages of a ListDocuments operation.
8449//    pageNum := 0
8450//    err := client.ListDocumentsPages(params,
8451//        func(page *ssm.ListDocumentsOutput, lastPage bool) bool {
8452//            pageNum++
8453//            fmt.Println(page)
8454//            return pageNum <= 3
8455//        })
8456//
8457func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool) error {
8458	return c.ListDocumentsPagesWithContext(aws.BackgroundContext(), input, fn)
8459}
8460
8461// ListDocumentsPagesWithContext same as ListDocumentsPages except
8462// it takes a Context and allows setting request options on the pages.
8463//
8464// The context must be non-nil and will be used for request cancellation. If
8465// the context is nil a panic will occur. In the future the SDK may create
8466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8467// for more information on using Contexts.
8468func (c *SSM) ListDocumentsPagesWithContext(ctx aws.Context, input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool, opts ...request.Option) error {
8469	p := request.Pagination{
8470		NewRequest: func() (*request.Request, error) {
8471			var inCpy *ListDocumentsInput
8472			if input != nil {
8473				tmp := *input
8474				inCpy = &tmp
8475			}
8476			req, _ := c.ListDocumentsRequest(inCpy)
8477			req.SetContext(ctx)
8478			req.ApplyOptions(opts...)
8479			return req, nil
8480		},
8481	}
8482
8483	for p.Next() {
8484		if !fn(p.Page().(*ListDocumentsOutput), !p.HasNextPage()) {
8485			break
8486		}
8487	}
8488
8489	return p.Err()
8490}
8491
8492const opListInventoryEntries = "ListInventoryEntries"
8493
8494// ListInventoryEntriesRequest generates a "aws/request.Request" representing the
8495// client's request for the ListInventoryEntries operation. The "output" return
8496// value will be populated with the request's response once the request completes
8497// successfully.
8498//
8499// Use "Send" method on the returned Request to send the API call to the service.
8500// the "output" return value is not valid until after Send returns without error.
8501//
8502// See ListInventoryEntries for more information on using the ListInventoryEntries
8503// API call, and error handling.
8504//
8505// This method is useful when you want to inject custom logic or configuration
8506// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8507//
8508//
8509//    // Example sending a request using the ListInventoryEntriesRequest method.
8510//    req, resp := client.ListInventoryEntriesRequest(params)
8511//
8512//    err := req.Send()
8513//    if err == nil { // resp is now filled
8514//        fmt.Println(resp)
8515//    }
8516//
8517// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
8518func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) {
8519	op := &request.Operation{
8520		Name:       opListInventoryEntries,
8521		HTTPMethod: "POST",
8522		HTTPPath:   "/",
8523	}
8524
8525	if input == nil {
8526		input = &ListInventoryEntriesInput{}
8527	}
8528
8529	output = &ListInventoryEntriesOutput{}
8530	req = c.newRequest(op, input, output)
8531	return
8532}
8533
8534// ListInventoryEntries API operation for Amazon Simple Systems Manager (SSM).
8535//
8536// A list of inventory items returned by the request.
8537//
8538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8539// with awserr.Error's Code and Message methods to get detailed information about
8540// the error.
8541//
8542// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8543// API operation ListInventoryEntries for usage and error information.
8544//
8545// Returned Error Codes:
8546//   * ErrCodeInternalServerError "InternalServerError"
8547//   An error occurred on the server side.
8548//
8549//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
8550//   The following problems can cause this exception:
8551//
8552//   You do not have permission to access the instance.
8553//
8554//   SSM Agent is not running. Verify that SSM Agent is running.
8555//
8556//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
8557//
8558//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
8559//   Stopping. Invalid states are: Shutting-down and Terminated.
8560//
8561//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
8562//   The parameter type name is not valid.
8563//
8564//   * ErrCodeInvalidFilter "InvalidFilter"
8565//   The filter name is not valid. Verify the you entered the correct name and
8566//   try again.
8567//
8568//   * ErrCodeInvalidNextToken "InvalidNextToken"
8569//   The specified token is not valid.
8570//
8571// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
8572func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) {
8573	req, out := c.ListInventoryEntriesRequest(input)
8574	return out, req.Send()
8575}
8576
8577// ListInventoryEntriesWithContext is the same as ListInventoryEntries with the addition of
8578// the ability to pass a context and additional request options.
8579//
8580// See ListInventoryEntries for details on how to use this API operation.
8581//
8582// The context must be non-nil and will be used for request cancellation. If
8583// the context is nil a panic will occur. In the future the SDK may create
8584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8585// for more information on using Contexts.
8586func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInventoryEntriesInput, opts ...request.Option) (*ListInventoryEntriesOutput, error) {
8587	req, out := c.ListInventoryEntriesRequest(input)
8588	req.SetContext(ctx)
8589	req.ApplyOptions(opts...)
8590	return out, req.Send()
8591}
8592
8593const opListResourceComplianceSummaries = "ListResourceComplianceSummaries"
8594
8595// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the
8596// client's request for the ListResourceComplianceSummaries operation. The "output" return
8597// value will be populated with the request's response once the request completes
8598// successfully.
8599//
8600// Use "Send" method on the returned Request to send the API call to the service.
8601// the "output" return value is not valid until after Send returns without error.
8602//
8603// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries
8604// API call, and error handling.
8605//
8606// This method is useful when you want to inject custom logic or configuration
8607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8608//
8609//
8610//    // Example sending a request using the ListResourceComplianceSummariesRequest method.
8611//    req, resp := client.ListResourceComplianceSummariesRequest(params)
8612//
8613//    err := req.Send()
8614//    if err == nil { // resp is now filled
8615//        fmt.Println(resp)
8616//    }
8617//
8618// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
8619func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) {
8620	op := &request.Operation{
8621		Name:       opListResourceComplianceSummaries,
8622		HTTPMethod: "POST",
8623		HTTPPath:   "/",
8624	}
8625
8626	if input == nil {
8627		input = &ListResourceComplianceSummariesInput{}
8628	}
8629
8630	output = &ListResourceComplianceSummariesOutput{}
8631	req = c.newRequest(op, input, output)
8632	return
8633}
8634
8635// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
8636//
8637// Returns a resource-level summary count. The summary includes information
8638// about compliant and non-compliant statuses and detailed compliance-item severity
8639// counts, according to the filter criteria you specify.
8640//
8641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8642// with awserr.Error's Code and Message methods to get detailed information about
8643// the error.
8644//
8645// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8646// API operation ListResourceComplianceSummaries for usage and error information.
8647//
8648// Returned Error Codes:
8649//   * ErrCodeInvalidFilter "InvalidFilter"
8650//   The filter name is not valid. Verify the you entered the correct name and
8651//   try again.
8652//
8653//   * ErrCodeInvalidNextToken "InvalidNextToken"
8654//   The specified token is not valid.
8655//
8656//   * ErrCodeInternalServerError "InternalServerError"
8657//   An error occurred on the server side.
8658//
8659// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
8660func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) {
8661	req, out := c.ListResourceComplianceSummariesRequest(input)
8662	return out, req.Send()
8663}
8664
8665// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of
8666// the ability to pass a context and additional request options.
8667//
8668// See ListResourceComplianceSummaries for details on how to use this API operation.
8669//
8670// The context must be non-nil and will be used for request cancellation. If
8671// the context is nil a panic will occur. In the future the SDK may create
8672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8673// for more information on using Contexts.
8674func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) {
8675	req, out := c.ListResourceComplianceSummariesRequest(input)
8676	req.SetContext(ctx)
8677	req.ApplyOptions(opts...)
8678	return out, req.Send()
8679}
8680
8681const opListResourceDataSync = "ListResourceDataSync"
8682
8683// ListResourceDataSyncRequest generates a "aws/request.Request" representing the
8684// client's request for the ListResourceDataSync operation. The "output" return
8685// value will be populated with the request's response once the request completes
8686// successfully.
8687//
8688// Use "Send" method on the returned Request to send the API call to the service.
8689// the "output" return value is not valid until after Send returns without error.
8690//
8691// See ListResourceDataSync for more information on using the ListResourceDataSync
8692// API call, and error handling.
8693//
8694// This method is useful when you want to inject custom logic or configuration
8695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8696//
8697//
8698//    // Example sending a request using the ListResourceDataSyncRequest method.
8699//    req, resp := client.ListResourceDataSyncRequest(params)
8700//
8701//    err := req.Send()
8702//    if err == nil { // resp is now filled
8703//        fmt.Println(resp)
8704//    }
8705//
8706// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
8707func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req *request.Request, output *ListResourceDataSyncOutput) {
8708	op := &request.Operation{
8709		Name:       opListResourceDataSync,
8710		HTTPMethod: "POST",
8711		HTTPPath:   "/",
8712	}
8713
8714	if input == nil {
8715		input = &ListResourceDataSyncInput{}
8716	}
8717
8718	output = &ListResourceDataSyncOutput{}
8719	req = c.newRequest(op, input, output)
8720	return
8721}
8722
8723// ListResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
8724//
8725// Lists your resource data sync configurations. Includes information about
8726// the last time a sync attempted to start, the last sync status, and the last
8727// time a sync successfully completed.
8728//
8729// The number of sync configurations might be too large to return using a single
8730// call to ListResourceDataSync. You can limit the number of sync configurations
8731// returned by using the MaxResults parameter. To determine whether there are
8732// more sync configurations to list, check the value of NextToken in the output.
8733// If there are more sync configurations to list, you can request them by specifying
8734// the NextToken returned in the call to the parameter of a subsequent call.
8735//
8736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8737// with awserr.Error's Code and Message methods to get detailed information about
8738// the error.
8739//
8740// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8741// API operation ListResourceDataSync for usage and error information.
8742//
8743// Returned Error Codes:
8744//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
8745//   The specified sync configuration is invalid.
8746//
8747//   * ErrCodeInternalServerError "InternalServerError"
8748//   An error occurred on the server side.
8749//
8750//   * ErrCodeInvalidNextToken "InvalidNextToken"
8751//   The specified token is not valid.
8752//
8753// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
8754func (c *SSM) ListResourceDataSync(input *ListResourceDataSyncInput) (*ListResourceDataSyncOutput, error) {
8755	req, out := c.ListResourceDataSyncRequest(input)
8756	return out, req.Send()
8757}
8758
8759// ListResourceDataSyncWithContext is the same as ListResourceDataSync with the addition of
8760// the ability to pass a context and additional request options.
8761//
8762// See ListResourceDataSync for details on how to use this API operation.
8763//
8764// The context must be non-nil and will be used for request cancellation. If
8765// the context is nil a panic will occur. In the future the SDK may create
8766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8767// for more information on using Contexts.
8768func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResourceDataSyncInput, opts ...request.Option) (*ListResourceDataSyncOutput, error) {
8769	req, out := c.ListResourceDataSyncRequest(input)
8770	req.SetContext(ctx)
8771	req.ApplyOptions(opts...)
8772	return out, req.Send()
8773}
8774
8775const opListTagsForResource = "ListTagsForResource"
8776
8777// ListTagsForResourceRequest generates a "aws/request.Request" representing the
8778// client's request for the ListTagsForResource operation. The "output" return
8779// value will be populated with the request's response once the request completes
8780// successfully.
8781//
8782// Use "Send" method on the returned Request to send the API call to the service.
8783// the "output" return value is not valid until after Send returns without error.
8784//
8785// See ListTagsForResource for more information on using the ListTagsForResource
8786// API call, and error handling.
8787//
8788// This method is useful when you want to inject custom logic or configuration
8789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8790//
8791//
8792//    // Example sending a request using the ListTagsForResourceRequest method.
8793//    req, resp := client.ListTagsForResourceRequest(params)
8794//
8795//    err := req.Send()
8796//    if err == nil { // resp is now filled
8797//        fmt.Println(resp)
8798//    }
8799//
8800// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
8801func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
8802	op := &request.Operation{
8803		Name:       opListTagsForResource,
8804		HTTPMethod: "POST",
8805		HTTPPath:   "/",
8806	}
8807
8808	if input == nil {
8809		input = &ListTagsForResourceInput{}
8810	}
8811
8812	output = &ListTagsForResourceOutput{}
8813	req = c.newRequest(op, input, output)
8814	return
8815}
8816
8817// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM).
8818//
8819// Returns a list of the tags assigned to the specified resource.
8820//
8821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8822// with awserr.Error's Code and Message methods to get detailed information about
8823// the error.
8824//
8825// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8826// API operation ListTagsForResource for usage and error information.
8827//
8828// Returned Error Codes:
8829//   * ErrCodeInvalidResourceType "InvalidResourceType"
8830//   The resource type is not valid. For example, if you are attempting to tag
8831//   an instance, the instance must be a registered, managed instance.
8832//
8833//   * ErrCodeInvalidResourceId "InvalidResourceId"
8834//   The resource ID is not valid. Verify that you entered the correct ID and
8835//   try again.
8836//
8837//   * ErrCodeInternalServerError "InternalServerError"
8838//   An error occurred on the server side.
8839//
8840// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
8841func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
8842	req, out := c.ListTagsForResourceRequest(input)
8843	return out, req.Send()
8844}
8845
8846// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
8847// the ability to pass a context and additional request options.
8848//
8849// See ListTagsForResource for details on how to use this API operation.
8850//
8851// The context must be non-nil and will be used for request cancellation. If
8852// the context is nil a panic will occur. In the future the SDK may create
8853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8854// for more information on using Contexts.
8855func (c *SSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
8856	req, out := c.ListTagsForResourceRequest(input)
8857	req.SetContext(ctx)
8858	req.ApplyOptions(opts...)
8859	return out, req.Send()
8860}
8861
8862const opModifyDocumentPermission = "ModifyDocumentPermission"
8863
8864// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the
8865// client's request for the ModifyDocumentPermission operation. The "output" return
8866// value will be populated with the request's response once the request completes
8867// successfully.
8868//
8869// Use "Send" method on the returned Request to send the API call to the service.
8870// the "output" return value is not valid until after Send returns without error.
8871//
8872// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission
8873// API call, and error handling.
8874//
8875// This method is useful when you want to inject custom logic or configuration
8876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8877//
8878//
8879//    // Example sending a request using the ModifyDocumentPermissionRequest method.
8880//    req, resp := client.ModifyDocumentPermissionRequest(params)
8881//
8882//    err := req.Send()
8883//    if err == nil { // resp is now filled
8884//        fmt.Println(resp)
8885//    }
8886//
8887// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
8888func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) {
8889	op := &request.Operation{
8890		Name:       opModifyDocumentPermission,
8891		HTTPMethod: "POST",
8892		HTTPPath:   "/",
8893	}
8894
8895	if input == nil {
8896		input = &ModifyDocumentPermissionInput{}
8897	}
8898
8899	output = &ModifyDocumentPermissionOutput{}
8900	req = c.newRequest(op, input, output)
8901	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8902	return
8903}
8904
8905// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
8906//
8907// Shares a Systems Manager document publicly or privately. If you share a document
8908// privately, you must specify the AWS user account IDs for those people who
8909// can use the document. If you share a document publicly, you must specify
8910// All as the account ID.
8911//
8912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8913// with awserr.Error's Code and Message methods to get detailed information about
8914// the error.
8915//
8916// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8917// API operation ModifyDocumentPermission for usage and error information.
8918//
8919// Returned Error Codes:
8920//   * ErrCodeInternalServerError "InternalServerError"
8921//   An error occurred on the server side.
8922//
8923//   * ErrCodeInvalidDocument "InvalidDocument"
8924//   The specified document does not exist.
8925//
8926//   * ErrCodeInvalidPermissionType "InvalidPermissionType"
8927//   The permission type is not supported. Share is the only supported permission
8928//   type.
8929//
8930//   * ErrCodeDocumentPermissionLimit "DocumentPermissionLimit"
8931//   The document cannot be shared with more AWS user accounts. You can share
8932//   a document with a maximum of 20 accounts. You can publicly share up to five
8933//   documents. If you need to increase this limit, contact AWS Support.
8934//
8935//   * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded"
8936//   You can have at most 500 active Systems Manager documents.
8937//
8938// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
8939func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) {
8940	req, out := c.ModifyDocumentPermissionRequest(input)
8941	return out, req.Send()
8942}
8943
8944// ModifyDocumentPermissionWithContext is the same as ModifyDocumentPermission with the addition of
8945// the ability to pass a context and additional request options.
8946//
8947// See ModifyDocumentPermission for details on how to use this API operation.
8948//
8949// The context must be non-nil and will be used for request cancellation. If
8950// the context is nil a panic will occur. In the future the SDK may create
8951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8952// for more information on using Contexts.
8953func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *ModifyDocumentPermissionInput, opts ...request.Option) (*ModifyDocumentPermissionOutput, error) {
8954	req, out := c.ModifyDocumentPermissionRequest(input)
8955	req.SetContext(ctx)
8956	req.ApplyOptions(opts...)
8957	return out, req.Send()
8958}
8959
8960const opPutComplianceItems = "PutComplianceItems"
8961
8962// PutComplianceItemsRequest generates a "aws/request.Request" representing the
8963// client's request for the PutComplianceItems operation. The "output" return
8964// value will be populated with the request's response once the request completes
8965// successfully.
8966//
8967// Use "Send" method on the returned Request to send the API call to the service.
8968// the "output" return value is not valid until after Send returns without error.
8969//
8970// See PutComplianceItems for more information on using the PutComplianceItems
8971// API call, and error handling.
8972//
8973// This method is useful when you want to inject custom logic or configuration
8974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8975//
8976//
8977//    // Example sending a request using the PutComplianceItemsRequest method.
8978//    req, resp := client.PutComplianceItemsRequest(params)
8979//
8980//    err := req.Send()
8981//    if err == nil { // resp is now filled
8982//        fmt.Println(resp)
8983//    }
8984//
8985// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
8986func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) {
8987	op := &request.Operation{
8988		Name:       opPutComplianceItems,
8989		HTTPMethod: "POST",
8990		HTTPPath:   "/",
8991	}
8992
8993	if input == nil {
8994		input = &PutComplianceItemsInput{}
8995	}
8996
8997	output = &PutComplianceItemsOutput{}
8998	req = c.newRequest(op, input, output)
8999	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9000	return
9001}
9002
9003// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM).
9004//
9005// Registers a compliance type and other compliance details on a designated
9006// resource. This action lets you register custom compliance details with a
9007// resource. This call overwrites existing compliance information on the resource,
9008// so you must provide a full list of compliance items each time that you send
9009// the request.
9010//
9011// ComplianceType can be one of the following:
9012//
9013//    * ExecutionId: The execution ID when the patch, association, or custom
9014//    compliance item was applied.
9015//
9016//    * ExecutionType: Specify patch, association, or Custom:string.
9017//
9018//    * ExecutionTime. The time the patch, association, or custom compliance
9019//    item was applied to the instance.
9020//
9021//    * Id: The patch, association, or custom compliance ID.
9022//
9023//    * Title: A title.
9024//
9025//    * Status: The status of the compliance item. For example, approved for
9026//    patches, or Failed for associations.
9027//
9028//    * Severity: A patch severity. For example, critical.
9029//
9030//    * DocumentName: A SSM document name. For example, AWS-RunPatchBaseline.
9031//
9032//    * DocumentVersion: An SSM document version number. For example, 4.
9033//
9034//    * Classification: A patch classification. For example, security updates.
9035//
9036//    * PatchBaselineId: A patch baseline ID.
9037//
9038//    * PatchSeverity: A patch severity. For example, Critical.
9039//
9040//    * PatchState: A patch state. For example, InstancesWithFailedPatches.
9041//
9042//    * PatchGroup: The name of a patch group.
9043//
9044//    * InstalledTime: The time the association, patch, or custom compliance
9045//    item was applied to the resource. Specify the time by using the following
9046//    format: yyyy-MM-dd'T'HH:mm:ss'Z'
9047//
9048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9049// with awserr.Error's Code and Message methods to get detailed information about
9050// the error.
9051//
9052// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9053// API operation PutComplianceItems for usage and error information.
9054//
9055// Returned Error Codes:
9056//   * ErrCodeInternalServerError "InternalServerError"
9057//   An error occurred on the server side.
9058//
9059//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
9060//   One or more content items is not valid.
9061//
9062//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
9063//   The size of inventory data has exceeded the total size limit for the resource.
9064//
9065//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
9066//   The inventory item size has exceeded the size limit.
9067//
9068//   * ErrCodeComplianceTypeCountLimitExceededException "ComplianceTypeCountLimitExceededException"
9069//   You specified too many custom compliance types. You can specify a maximum
9070//   of 10 different types.
9071//
9072//   * ErrCodeInvalidResourceType "InvalidResourceType"
9073//   The resource type is not valid. For example, if you are attempting to tag
9074//   an instance, the instance must be a registered, managed instance.
9075//
9076//   * ErrCodeInvalidResourceId "InvalidResourceId"
9077//   The resource ID is not valid. Verify that you entered the correct ID and
9078//   try again.
9079//
9080// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
9081func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) {
9082	req, out := c.PutComplianceItemsRequest(input)
9083	return out, req.Send()
9084}
9085
9086// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of
9087// the ability to pass a context and additional request options.
9088//
9089// See PutComplianceItems for details on how to use this API operation.
9090//
9091// The context must be non-nil and will be used for request cancellation. If
9092// the context is nil a panic will occur. In the future the SDK may create
9093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9094// for more information on using Contexts.
9095func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) {
9096	req, out := c.PutComplianceItemsRequest(input)
9097	req.SetContext(ctx)
9098	req.ApplyOptions(opts...)
9099	return out, req.Send()
9100}
9101
9102const opPutInventory = "PutInventory"
9103
9104// PutInventoryRequest generates a "aws/request.Request" representing the
9105// client's request for the PutInventory operation. The "output" return
9106// value will be populated with the request's response once the request completes
9107// successfully.
9108//
9109// Use "Send" method on the returned Request to send the API call to the service.
9110// the "output" return value is not valid until after Send returns without error.
9111//
9112// See PutInventory for more information on using the PutInventory
9113// API call, and error handling.
9114//
9115// This method is useful when you want to inject custom logic or configuration
9116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9117//
9118//
9119//    // Example sending a request using the PutInventoryRequest method.
9120//    req, resp := client.PutInventoryRequest(params)
9121//
9122//    err := req.Send()
9123//    if err == nil { // resp is now filled
9124//        fmt.Println(resp)
9125//    }
9126//
9127// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
9128func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) {
9129	op := &request.Operation{
9130		Name:       opPutInventory,
9131		HTTPMethod: "POST",
9132		HTTPPath:   "/",
9133	}
9134
9135	if input == nil {
9136		input = &PutInventoryInput{}
9137	}
9138
9139	output = &PutInventoryOutput{}
9140	req = c.newRequest(op, input, output)
9141	return
9142}
9143
9144// PutInventory API operation for Amazon Simple Systems Manager (SSM).
9145//
9146// Bulk update custom inventory items on one more instance. The request adds
9147// an inventory item, if it doesn't already exist, or updates an inventory item,
9148// if it does exist.
9149//
9150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9151// with awserr.Error's Code and Message methods to get detailed information about
9152// the error.
9153//
9154// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9155// API operation PutInventory for usage and error information.
9156//
9157// Returned Error Codes:
9158//   * ErrCodeInternalServerError "InternalServerError"
9159//   An error occurred on the server side.
9160//
9161//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
9162//   The following problems can cause this exception:
9163//
9164//   You do not have permission to access the instance.
9165//
9166//   SSM Agent is not running. Verify that SSM Agent is running.
9167//
9168//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
9169//
9170//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
9171//   Stopping. Invalid states are: Shutting-down and Terminated.
9172//
9173//   * ErrCodeInvalidTypeNameException "InvalidTypeNameException"
9174//   The parameter type name is not valid.
9175//
9176//   * ErrCodeInvalidItemContentException "InvalidItemContentException"
9177//   One or more content items is not valid.
9178//
9179//   * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException"
9180//   The size of inventory data has exceeded the total size limit for the resource.
9181//
9182//   * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException"
9183//   The inventory item size has exceeded the size limit.
9184//
9185//   * ErrCodeItemContentMismatchException "ItemContentMismatchException"
9186//   The inventory item has invalid content.
9187//
9188//   * ErrCodeCustomSchemaCountLimitExceededException "CustomSchemaCountLimitExceededException"
9189//   You have exceeded the limit for custom schemas. Delete one or more custom
9190//   schemas and try again.
9191//
9192//   * ErrCodeUnsupportedInventorySchemaVersionException "UnsupportedInventorySchemaVersionException"
9193//   Inventory item type schema version has to match supported versions in the
9194//   service. Check output of GetInventorySchema to see the available schema version
9195//   for each type.
9196//
9197//   * ErrCodeUnsupportedInventoryItemContextException "UnsupportedInventoryItemContextException"
9198//   The Context attribute that you specified for the InventoryItem is not allowed
9199//   for this inventory type. You can only use the Context attribute with inventory
9200//   types like AWS:ComplianceItem.
9201//
9202//   * ErrCodeInvalidInventoryItemContextException "InvalidInventoryItemContextException"
9203//   You specified invalid keys or values in the Context attribute for InventoryItem.
9204//   Verify the keys and values, and try again.
9205//
9206//   * ErrCodeSubTypeCountLimitExceededException "SubTypeCountLimitExceededException"
9207//   The sub-type count exceeded the limit for the inventory type.
9208//
9209// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
9210func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) {
9211	req, out := c.PutInventoryRequest(input)
9212	return out, req.Send()
9213}
9214
9215// PutInventoryWithContext is the same as PutInventory with the addition of
9216// the ability to pass a context and additional request options.
9217//
9218// See PutInventory for details on how to use this API operation.
9219//
9220// The context must be non-nil and will be used for request cancellation. If
9221// the context is nil a panic will occur. In the future the SDK may create
9222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9223// for more information on using Contexts.
9224func (c *SSM) PutInventoryWithContext(ctx aws.Context, input *PutInventoryInput, opts ...request.Option) (*PutInventoryOutput, error) {
9225	req, out := c.PutInventoryRequest(input)
9226	req.SetContext(ctx)
9227	req.ApplyOptions(opts...)
9228	return out, req.Send()
9229}
9230
9231const opPutParameter = "PutParameter"
9232
9233// PutParameterRequest generates a "aws/request.Request" representing the
9234// client's request for the PutParameter operation. The "output" return
9235// value will be populated with the request's response once the request completes
9236// successfully.
9237//
9238// Use "Send" method on the returned Request to send the API call to the service.
9239// the "output" return value is not valid until after Send returns without error.
9240//
9241// See PutParameter for more information on using the PutParameter
9242// API call, and error handling.
9243//
9244// This method is useful when you want to inject custom logic or configuration
9245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9246//
9247//
9248//    // Example sending a request using the PutParameterRequest method.
9249//    req, resp := client.PutParameterRequest(params)
9250//
9251//    err := req.Send()
9252//    if err == nil { // resp is now filled
9253//        fmt.Println(resp)
9254//    }
9255//
9256// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
9257func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) {
9258	op := &request.Operation{
9259		Name:       opPutParameter,
9260		HTTPMethod: "POST",
9261		HTTPPath:   "/",
9262	}
9263
9264	if input == nil {
9265		input = &PutParameterInput{}
9266	}
9267
9268	output = &PutParameterOutput{}
9269	req = c.newRequest(op, input, output)
9270	return
9271}
9272
9273// PutParameter API operation for Amazon Simple Systems Manager (SSM).
9274//
9275// Add a parameter to the system.
9276//
9277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9278// with awserr.Error's Code and Message methods to get detailed information about
9279// the error.
9280//
9281// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9282// API operation PutParameter for usage and error information.
9283//
9284// Returned Error Codes:
9285//   * ErrCodeInternalServerError "InternalServerError"
9286//   An error occurred on the server side.
9287//
9288//   * ErrCodeInvalidKeyId "InvalidKeyId"
9289//   The query key ID is not valid.
9290//
9291//   * ErrCodeParameterLimitExceeded "ParameterLimitExceeded"
9292//   You have exceeded the number of parameters for this AWS account. Delete one
9293//   or more parameters and try again.
9294//
9295//   * ErrCodeTooManyUpdates "TooManyUpdates"
9296//   There are concurrent updates for a resource that supports one update at a
9297//   time.
9298//
9299//   * ErrCodeParameterAlreadyExists "ParameterAlreadyExists"
9300//   The parameter already exists. You can't create duplicate parameters.
9301//
9302//   * ErrCodeHierarchyLevelLimitExceededException "HierarchyLevelLimitExceededException"
9303//   A hierarchy can have a maximum of 15 levels. For more information, see Requirements
9304//   and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
9305//   in the AWS Systems Manager User Guide.
9306//
9307//   * ErrCodeHierarchyTypeMismatchException "HierarchyTypeMismatchException"
9308//   Parameter Store does not support changing a parameter type in a hierarchy.
9309//   For example, you can't change a parameter from a String type to a SecureString
9310//   type. You must create a new, unique parameter.
9311//
9312//   * ErrCodeInvalidAllowedPatternException "InvalidAllowedPatternException"
9313//   The request does not meet the regular expression requirement.
9314//
9315//   * ErrCodeParameterMaxVersionLimitExceeded "ParameterMaxVersionLimitExceeded"
9316//   The parameter exceeded the maximum number of allowed versions.
9317//
9318//   * ErrCodeParameterPatternMismatchException "ParameterPatternMismatchException"
9319//   The parameter name is not valid.
9320//
9321//   * ErrCodeUnsupportedParameterType "UnsupportedParameterType"
9322//   The parameter type is not supported.
9323//
9324//   * ErrCodePoliciesLimitExceededException "PoliciesLimitExceededException"
9325//   You specified more than the maximum number of allowed policies for the parameter.
9326//   The maximum is 10.
9327//
9328//   * ErrCodeInvalidPolicyTypeException "InvalidPolicyTypeException"
9329//   The policy type is not supported. Parameter Store supports the following
9330//   policy types: Expiration, ExpirationNotification, and NoChangeNotification.
9331//
9332//   * ErrCodeInvalidPolicyAttributeException "InvalidPolicyAttributeException"
9333//   A policy attribute or its value is invalid.
9334//
9335//   * ErrCodeIncompatiblePolicyException "IncompatiblePolicyException"
9336//   There is a conflict in the policies specified for this parameter. You can't,
9337//   for example, specify two Expiration policies for a parameter. Review your
9338//   policies, and try again.
9339//
9340// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
9341func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) {
9342	req, out := c.PutParameterRequest(input)
9343	return out, req.Send()
9344}
9345
9346// PutParameterWithContext is the same as PutParameter with the addition of
9347// the ability to pass a context and additional request options.
9348//
9349// See PutParameter for details on how to use this API operation.
9350//
9351// The context must be non-nil and will be used for request cancellation. If
9352// the context is nil a panic will occur. In the future the SDK may create
9353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9354// for more information on using Contexts.
9355func (c *SSM) PutParameterWithContext(ctx aws.Context, input *PutParameterInput, opts ...request.Option) (*PutParameterOutput, error) {
9356	req, out := c.PutParameterRequest(input)
9357	req.SetContext(ctx)
9358	req.ApplyOptions(opts...)
9359	return out, req.Send()
9360}
9361
9362const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline"
9363
9364// RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
9365// client's request for the RegisterDefaultPatchBaseline operation. The "output" return
9366// value will be populated with the request's response once the request completes
9367// successfully.
9368//
9369// Use "Send" method on the returned Request to send the API call to the service.
9370// the "output" return value is not valid until after Send returns without error.
9371//
9372// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline
9373// API call, and error handling.
9374//
9375// This method is useful when you want to inject custom logic or configuration
9376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9377//
9378//
9379//    // Example sending a request using the RegisterDefaultPatchBaselineRequest method.
9380//    req, resp := client.RegisterDefaultPatchBaselineRequest(params)
9381//
9382//    err := req.Send()
9383//    if err == nil { // resp is now filled
9384//        fmt.Println(resp)
9385//    }
9386//
9387// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
9388func (c *SSM) RegisterDefaultPatchBaselineRequest(input *RegisterDefaultPatchBaselineInput) (req *request.Request, output *RegisterDefaultPatchBaselineOutput) {
9389	op := &request.Operation{
9390		Name:       opRegisterDefaultPatchBaseline,
9391		HTTPMethod: "POST",
9392		HTTPPath:   "/",
9393	}
9394
9395	if input == nil {
9396		input = &RegisterDefaultPatchBaselineInput{}
9397	}
9398
9399	output = &RegisterDefaultPatchBaselineOutput{}
9400	req = c.newRequest(op, input, output)
9401	return
9402}
9403
9404// RegisterDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
9405//
9406// Defines the default patch baseline for the relevant operating system.
9407//
9408// To reset the AWS predefined patch baseline as the default, specify the full
9409// patch baseline ARN as the baseline ID value. For example, for CentOS, specify
9410// arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead
9411// of pb-0574b43a65ea646ed.
9412//
9413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9414// with awserr.Error's Code and Message methods to get detailed information about
9415// the error.
9416//
9417// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9418// API operation RegisterDefaultPatchBaseline for usage and error information.
9419//
9420// Returned Error Codes:
9421//   * ErrCodeInvalidResourceId "InvalidResourceId"
9422//   The resource ID is not valid. Verify that you entered the correct ID and
9423//   try again.
9424//
9425//   * ErrCodeDoesNotExistException "DoesNotExistException"
9426//   Error returned when the ID specified for a resource, such as a maintenance
9427//   window or Patch baseline, doesn't exist.
9428//
9429//   For information about resource limits in Systems Manager, see AWS Systems
9430//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9431//
9432//   * ErrCodeInternalServerError "InternalServerError"
9433//   An error occurred on the server side.
9434//
9435// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
9436func (c *SSM) RegisterDefaultPatchBaseline(input *RegisterDefaultPatchBaselineInput) (*RegisterDefaultPatchBaselineOutput, error) {
9437	req, out := c.RegisterDefaultPatchBaselineRequest(input)
9438	return out, req.Send()
9439}
9440
9441// RegisterDefaultPatchBaselineWithContext is the same as RegisterDefaultPatchBaseline with the addition of
9442// the ability to pass a context and additional request options.
9443//
9444// See RegisterDefaultPatchBaseline for details on how to use this API operation.
9445//
9446// The context must be non-nil and will be used for request cancellation. If
9447// the context is nil a panic will occur. In the future the SDK may create
9448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9449// for more information on using Contexts.
9450func (c *SSM) RegisterDefaultPatchBaselineWithContext(ctx aws.Context, input *RegisterDefaultPatchBaselineInput, opts ...request.Option) (*RegisterDefaultPatchBaselineOutput, error) {
9451	req, out := c.RegisterDefaultPatchBaselineRequest(input)
9452	req.SetContext(ctx)
9453	req.ApplyOptions(opts...)
9454	return out, req.Send()
9455}
9456
9457const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup"
9458
9459// RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
9460// client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return
9461// value will be populated with the request's response once the request completes
9462// successfully.
9463//
9464// Use "Send" method on the returned Request to send the API call to the service.
9465// the "output" return value is not valid until after Send returns without error.
9466//
9467// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup
9468// API call, and error handling.
9469//
9470// This method is useful when you want to inject custom logic or configuration
9471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9472//
9473//
9474//    // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method.
9475//    req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params)
9476//
9477//    err := req.Send()
9478//    if err == nil { // resp is now filled
9479//        fmt.Println(resp)
9480//    }
9481//
9482// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
9483func (c *SSM) RegisterPatchBaselineForPatchGroupRequest(input *RegisterPatchBaselineForPatchGroupInput) (req *request.Request, output *RegisterPatchBaselineForPatchGroupOutput) {
9484	op := &request.Operation{
9485		Name:       opRegisterPatchBaselineForPatchGroup,
9486		HTTPMethod: "POST",
9487		HTTPPath:   "/",
9488	}
9489
9490	if input == nil {
9491		input = &RegisterPatchBaselineForPatchGroupInput{}
9492	}
9493
9494	output = &RegisterPatchBaselineForPatchGroupOutput{}
9495	req = c.newRequest(op, input, output)
9496	return
9497}
9498
9499// RegisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
9500//
9501// Registers a patch baseline for a patch group.
9502//
9503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9504// with awserr.Error's Code and Message methods to get detailed information about
9505// the error.
9506//
9507// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9508// API operation RegisterPatchBaselineForPatchGroup for usage and error information.
9509//
9510// Returned Error Codes:
9511//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
9512//   Error returned if an attempt is made to register a patch group with a patch
9513//   baseline that is already registered with a different patch baseline.
9514//
9515//   * ErrCodeDoesNotExistException "DoesNotExistException"
9516//   Error returned when the ID specified for a resource, such as a maintenance
9517//   window or Patch baseline, doesn't exist.
9518//
9519//   For information about resource limits in Systems Manager, see AWS Systems
9520//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9521//
9522//   * ErrCodeInvalidResourceId "InvalidResourceId"
9523//   The resource ID is not valid. Verify that you entered the correct ID and
9524//   try again.
9525//
9526//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9527//   Error returned when the caller has exceeded the default resource limits.
9528//   For example, too many maintenance windows or patch baselines have been created.
9529//
9530//   For information about resource limits in Systems Manager, see AWS Systems
9531//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9532//
9533//   * ErrCodeInternalServerError "InternalServerError"
9534//   An error occurred on the server side.
9535//
9536// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
9537func (c *SSM) RegisterPatchBaselineForPatchGroup(input *RegisterPatchBaselineForPatchGroupInput) (*RegisterPatchBaselineForPatchGroupOutput, error) {
9538	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
9539	return out, req.Send()
9540}
9541
9542// RegisterPatchBaselineForPatchGroupWithContext is the same as RegisterPatchBaselineForPatchGroup with the addition of
9543// the ability to pass a context and additional request options.
9544//
9545// See RegisterPatchBaselineForPatchGroup for details on how to use this API operation.
9546//
9547// The context must be non-nil and will be used for request cancellation. If
9548// the context is nil a panic will occur. In the future the SDK may create
9549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9550// for more information on using Contexts.
9551func (c *SSM) RegisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *RegisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*RegisterPatchBaselineForPatchGroupOutput, error) {
9552	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
9553	req.SetContext(ctx)
9554	req.ApplyOptions(opts...)
9555	return out, req.Send()
9556}
9557
9558const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow"
9559
9560// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
9561// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return
9562// value will be populated with the request's response once the request completes
9563// successfully.
9564//
9565// Use "Send" method on the returned Request to send the API call to the service.
9566// the "output" return value is not valid until after Send returns without error.
9567//
9568// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow
9569// API call, and error handling.
9570//
9571// This method is useful when you want to inject custom logic or configuration
9572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9573//
9574//
9575//    // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method.
9576//    req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params)
9577//
9578//    err := req.Send()
9579//    if err == nil { // resp is now filled
9580//        fmt.Println(resp)
9581//    }
9582//
9583// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
9584func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) {
9585	op := &request.Operation{
9586		Name:       opRegisterTargetWithMaintenanceWindow,
9587		HTTPMethod: "POST",
9588		HTTPPath:   "/",
9589	}
9590
9591	if input == nil {
9592		input = &RegisterTargetWithMaintenanceWindowInput{}
9593	}
9594
9595	output = &RegisterTargetWithMaintenanceWindowOutput{}
9596	req = c.newRequest(op, input, output)
9597	return
9598}
9599
9600// RegisterTargetWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
9601//
9602// Registers a target with a maintenance window.
9603//
9604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9605// with awserr.Error's Code and Message methods to get detailed information about
9606// the error.
9607//
9608// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9609// API operation RegisterTargetWithMaintenanceWindow for usage and error information.
9610//
9611// Returned Error Codes:
9612//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
9613//   Error returned when an idempotent operation is retried and the parameters
9614//   don't match the original call to the API with the same idempotency token.
9615//
9616//   * ErrCodeDoesNotExistException "DoesNotExistException"
9617//   Error returned when the ID specified for a resource, such as a maintenance
9618//   window or Patch baseline, doesn't exist.
9619//
9620//   For information about resource limits in Systems Manager, see AWS Systems
9621//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9622//
9623//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9624//   Error returned when the caller has exceeded the default resource limits.
9625//   For example, too many maintenance windows or patch baselines have been created.
9626//
9627//   For information about resource limits in Systems Manager, see AWS Systems
9628//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9629//
9630//   * ErrCodeInternalServerError "InternalServerError"
9631//   An error occurred on the server side.
9632//
9633// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
9634func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) {
9635	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
9636	return out, req.Send()
9637}
9638
9639// RegisterTargetWithMaintenanceWindowWithContext is the same as RegisterTargetWithMaintenanceWindow with the addition of
9640// the ability to pass a context and additional request options.
9641//
9642// See RegisterTargetWithMaintenanceWindow for details on how to use this API operation.
9643//
9644// The context must be non-nil and will be used for request cancellation. If
9645// the context is nil a panic will occur. In the future the SDK may create
9646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9647// for more information on using Contexts.
9648func (c *SSM) RegisterTargetWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTargetWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTargetWithMaintenanceWindowOutput, error) {
9649	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
9650	req.SetContext(ctx)
9651	req.ApplyOptions(opts...)
9652	return out, req.Send()
9653}
9654
9655const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow"
9656
9657// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
9658// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return
9659// value will be populated with the request's response once the request completes
9660// successfully.
9661//
9662// Use "Send" method on the returned Request to send the API call to the service.
9663// the "output" return value is not valid until after Send returns without error.
9664//
9665// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow
9666// API call, and error handling.
9667//
9668// This method is useful when you want to inject custom logic or configuration
9669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9670//
9671//
9672//    // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method.
9673//    req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params)
9674//
9675//    err := req.Send()
9676//    if err == nil { // resp is now filled
9677//        fmt.Println(resp)
9678//    }
9679//
9680// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
9681func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) {
9682	op := &request.Operation{
9683		Name:       opRegisterTaskWithMaintenanceWindow,
9684		HTTPMethod: "POST",
9685		HTTPPath:   "/",
9686	}
9687
9688	if input == nil {
9689		input = &RegisterTaskWithMaintenanceWindowInput{}
9690	}
9691
9692	output = &RegisterTaskWithMaintenanceWindowOutput{}
9693	req = c.newRequest(op, input, output)
9694	return
9695}
9696
9697// RegisterTaskWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
9698//
9699// Adds a new task to a maintenance window.
9700//
9701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9702// with awserr.Error's Code and Message methods to get detailed information about
9703// the error.
9704//
9705// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9706// API operation RegisterTaskWithMaintenanceWindow for usage and error information.
9707//
9708// Returned Error Codes:
9709//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
9710//   Error returned when an idempotent operation is retried and the parameters
9711//   don't match the original call to the API with the same idempotency token.
9712//
9713//   * ErrCodeDoesNotExistException "DoesNotExistException"
9714//   Error returned when the ID specified for a resource, such as a maintenance
9715//   window or Patch baseline, doesn't exist.
9716//
9717//   For information about resource limits in Systems Manager, see AWS Systems
9718//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9719//
9720//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
9721//   Error returned when the caller has exceeded the default resource limits.
9722//   For example, too many maintenance windows or patch baselines have been created.
9723//
9724//   For information about resource limits in Systems Manager, see AWS Systems
9725//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
9726//
9727//   * ErrCodeFeatureNotAvailableException "FeatureNotAvailableException"
9728//   You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where
9729//   the corresponding service is not available.
9730//
9731//   * ErrCodeInternalServerError "InternalServerError"
9732//   An error occurred on the server side.
9733//
9734// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
9735func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) {
9736	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
9737	return out, req.Send()
9738}
9739
9740// RegisterTaskWithMaintenanceWindowWithContext is the same as RegisterTaskWithMaintenanceWindow with the addition of
9741// the ability to pass a context and additional request options.
9742//
9743// See RegisterTaskWithMaintenanceWindow for details on how to use this API operation.
9744//
9745// The context must be non-nil and will be used for request cancellation. If
9746// the context is nil a panic will occur. In the future the SDK may create
9747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9748// for more information on using Contexts.
9749func (c *SSM) RegisterTaskWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTaskWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTaskWithMaintenanceWindowOutput, error) {
9750	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
9751	req.SetContext(ctx)
9752	req.ApplyOptions(opts...)
9753	return out, req.Send()
9754}
9755
9756const opRemoveTagsFromResource = "RemoveTagsFromResource"
9757
9758// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
9759// client's request for the RemoveTagsFromResource operation. The "output" return
9760// value will be populated with the request's response once the request completes
9761// successfully.
9762//
9763// Use "Send" method on the returned Request to send the API call to the service.
9764// the "output" return value is not valid until after Send returns without error.
9765//
9766// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
9767// API call, and error handling.
9768//
9769// This method is useful when you want to inject custom logic or configuration
9770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9771//
9772//
9773//    // Example sending a request using the RemoveTagsFromResourceRequest method.
9774//    req, resp := client.RemoveTagsFromResourceRequest(params)
9775//
9776//    err := req.Send()
9777//    if err == nil { // resp is now filled
9778//        fmt.Println(resp)
9779//    }
9780//
9781// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
9782func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
9783	op := &request.Operation{
9784		Name:       opRemoveTagsFromResource,
9785		HTTPMethod: "POST",
9786		HTTPPath:   "/",
9787	}
9788
9789	if input == nil {
9790		input = &RemoveTagsFromResourceInput{}
9791	}
9792
9793	output = &RemoveTagsFromResourceOutput{}
9794	req = c.newRequest(op, input, output)
9795	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9796	return
9797}
9798
9799// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM).
9800//
9801// Removes tag keys from the specified resource.
9802//
9803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9804// with awserr.Error's Code and Message methods to get detailed information about
9805// the error.
9806//
9807// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9808// API operation RemoveTagsFromResource for usage and error information.
9809//
9810// Returned Error Codes:
9811//   * ErrCodeInvalidResourceType "InvalidResourceType"
9812//   The resource type is not valid. For example, if you are attempting to tag
9813//   an instance, the instance must be a registered, managed instance.
9814//
9815//   * ErrCodeInvalidResourceId "InvalidResourceId"
9816//   The resource ID is not valid. Verify that you entered the correct ID and
9817//   try again.
9818//
9819//   * ErrCodeInternalServerError "InternalServerError"
9820//   An error occurred on the server side.
9821//
9822//   * ErrCodeTooManyUpdates "TooManyUpdates"
9823//   There are concurrent updates for a resource that supports one update at a
9824//   time.
9825//
9826// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
9827func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
9828	req, out := c.RemoveTagsFromResourceRequest(input)
9829	return out, req.Send()
9830}
9831
9832// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
9833// the ability to pass a context and additional request options.
9834//
9835// See RemoveTagsFromResource for details on how to use this API operation.
9836//
9837// The context must be non-nil and will be used for request cancellation. If
9838// the context is nil a panic will occur. In the future the SDK may create
9839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9840// for more information on using Contexts.
9841func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
9842	req, out := c.RemoveTagsFromResourceRequest(input)
9843	req.SetContext(ctx)
9844	req.ApplyOptions(opts...)
9845	return out, req.Send()
9846}
9847
9848const opResetServiceSetting = "ResetServiceSetting"
9849
9850// ResetServiceSettingRequest generates a "aws/request.Request" representing the
9851// client's request for the ResetServiceSetting operation. The "output" return
9852// value will be populated with the request's response once the request completes
9853// successfully.
9854//
9855// Use "Send" method on the returned Request to send the API call to the service.
9856// the "output" return value is not valid until after Send returns without error.
9857//
9858// See ResetServiceSetting for more information on using the ResetServiceSetting
9859// API call, and error handling.
9860//
9861// This method is useful when you want to inject custom logic or configuration
9862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9863//
9864//
9865//    // Example sending a request using the ResetServiceSettingRequest method.
9866//    req, resp := client.ResetServiceSettingRequest(params)
9867//
9868//    err := req.Send()
9869//    if err == nil { // resp is now filled
9870//        fmt.Println(resp)
9871//    }
9872//
9873// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
9874func (c *SSM) ResetServiceSettingRequest(input *ResetServiceSettingInput) (req *request.Request, output *ResetServiceSettingOutput) {
9875	op := &request.Operation{
9876		Name:       opResetServiceSetting,
9877		HTTPMethod: "POST",
9878		HTTPPath:   "/",
9879	}
9880
9881	if input == nil {
9882		input = &ResetServiceSettingInput{}
9883	}
9884
9885	output = &ResetServiceSettingOutput{}
9886	req = c.newRequest(op, input, output)
9887	return
9888}
9889
9890// ResetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
9891//
9892// ServiceSetting is an account-level setting for an AWS service. This setting
9893// defines how a user interacts with or uses a service or a feature of a service.
9894// For example, if an AWS service charges money to the account based on feature
9895// or service usage, then the AWS service team might create a default setting
9896// of "false". This means the user can't use this feature unless they change
9897// the setting to "true" and intentionally opt in for a paid feature.
9898//
9899// Services map a SettingId object to a setting value. AWS services teams define
9900// the default value for a SettingId. You can't create a new SettingId, but
9901// you can overwrite the default value if you have the ssm:UpdateServiceSetting
9902// permission for the setting. Use the GetServiceSetting API action to view
9903// the current value. Use the UpdateServiceSetting API action to change the
9904// default setting.
9905//
9906// Reset the service setting for the account to the default value as provisioned
9907// by the AWS service team.
9908//
9909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9910// with awserr.Error's Code and Message methods to get detailed information about
9911// the error.
9912//
9913// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9914// API operation ResetServiceSetting for usage and error information.
9915//
9916// Returned Error Codes:
9917//   * ErrCodeInternalServerError "InternalServerError"
9918//   An error occurred on the server side.
9919//
9920//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
9921//   The specified service setting was not found. Either the service name or the
9922//   setting has not been provisioned by the AWS service team.
9923//
9924//   * ErrCodeTooManyUpdates "TooManyUpdates"
9925//   There are concurrent updates for a resource that supports one update at a
9926//   time.
9927//
9928// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
9929func (c *SSM) ResetServiceSetting(input *ResetServiceSettingInput) (*ResetServiceSettingOutput, error) {
9930	req, out := c.ResetServiceSettingRequest(input)
9931	return out, req.Send()
9932}
9933
9934// ResetServiceSettingWithContext is the same as ResetServiceSetting with the addition of
9935// the ability to pass a context and additional request options.
9936//
9937// See ResetServiceSetting for details on how to use this API operation.
9938//
9939// The context must be non-nil and will be used for request cancellation. If
9940// the context is nil a panic will occur. In the future the SDK may create
9941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9942// for more information on using Contexts.
9943func (c *SSM) ResetServiceSettingWithContext(ctx aws.Context, input *ResetServiceSettingInput, opts ...request.Option) (*ResetServiceSettingOutput, error) {
9944	req, out := c.ResetServiceSettingRequest(input)
9945	req.SetContext(ctx)
9946	req.ApplyOptions(opts...)
9947	return out, req.Send()
9948}
9949
9950const opResumeSession = "ResumeSession"
9951
9952// ResumeSessionRequest generates a "aws/request.Request" representing the
9953// client's request for the ResumeSession operation. The "output" return
9954// value will be populated with the request's response once the request completes
9955// successfully.
9956//
9957// Use "Send" method on the returned Request to send the API call to the service.
9958// the "output" return value is not valid until after Send returns without error.
9959//
9960// See ResumeSession for more information on using the ResumeSession
9961// API call, and error handling.
9962//
9963// This method is useful when you want to inject custom logic or configuration
9964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9965//
9966//
9967//    // Example sending a request using the ResumeSessionRequest method.
9968//    req, resp := client.ResumeSessionRequest(params)
9969//
9970//    err := req.Send()
9971//    if err == nil { // resp is now filled
9972//        fmt.Println(resp)
9973//    }
9974//
9975// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
9976func (c *SSM) ResumeSessionRequest(input *ResumeSessionInput) (req *request.Request, output *ResumeSessionOutput) {
9977	op := &request.Operation{
9978		Name:       opResumeSession,
9979		HTTPMethod: "POST",
9980		HTTPPath:   "/",
9981	}
9982
9983	if input == nil {
9984		input = &ResumeSessionInput{}
9985	}
9986
9987	output = &ResumeSessionOutput{}
9988	req = c.newRequest(op, input, output)
9989	return
9990}
9991
9992// ResumeSession API operation for Amazon Simple Systems Manager (SSM).
9993//
9994// Reconnects a session to an instance after it has been disconnected. Connections
9995// can be resumed for disconnected sessions, but not terminated sessions.
9996//
9997// This command is primarily for use by client machines to automatically reconnect
9998// during intermittent network issues. It is not intended for any other use.
9999//
10000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10001// with awserr.Error's Code and Message methods to get detailed information about
10002// the error.
10003//
10004// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10005// API operation ResumeSession for usage and error information.
10006//
10007// Returned Error Codes:
10008//   * ErrCodeDoesNotExistException "DoesNotExistException"
10009//   Error returned when the ID specified for a resource, such as a maintenance
10010//   window or Patch baseline, doesn't exist.
10011//
10012//   For information about resource limits in Systems Manager, see AWS Systems
10013//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
10014//
10015//   * ErrCodeInternalServerError "InternalServerError"
10016//   An error occurred on the server side.
10017//
10018// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
10019func (c *SSM) ResumeSession(input *ResumeSessionInput) (*ResumeSessionOutput, error) {
10020	req, out := c.ResumeSessionRequest(input)
10021	return out, req.Send()
10022}
10023
10024// ResumeSessionWithContext is the same as ResumeSession with the addition of
10025// the ability to pass a context and additional request options.
10026//
10027// See ResumeSession for details on how to use this API operation.
10028//
10029// The context must be non-nil and will be used for request cancellation. If
10030// the context is nil a panic will occur. In the future the SDK may create
10031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10032// for more information on using Contexts.
10033func (c *SSM) ResumeSessionWithContext(ctx aws.Context, input *ResumeSessionInput, opts ...request.Option) (*ResumeSessionOutput, error) {
10034	req, out := c.ResumeSessionRequest(input)
10035	req.SetContext(ctx)
10036	req.ApplyOptions(opts...)
10037	return out, req.Send()
10038}
10039
10040const opSendAutomationSignal = "SendAutomationSignal"
10041
10042// SendAutomationSignalRequest generates a "aws/request.Request" representing the
10043// client's request for the SendAutomationSignal operation. The "output" return
10044// value will be populated with the request's response once the request completes
10045// successfully.
10046//
10047// Use "Send" method on the returned Request to send the API call to the service.
10048// the "output" return value is not valid until after Send returns without error.
10049//
10050// See SendAutomationSignal for more information on using the SendAutomationSignal
10051// API call, and error handling.
10052//
10053// This method is useful when you want to inject custom logic or configuration
10054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10055//
10056//
10057//    // Example sending a request using the SendAutomationSignalRequest method.
10058//    req, resp := client.SendAutomationSignalRequest(params)
10059//
10060//    err := req.Send()
10061//    if err == nil { // resp is now filled
10062//        fmt.Println(resp)
10063//    }
10064//
10065// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
10066func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) {
10067	op := &request.Operation{
10068		Name:       opSendAutomationSignal,
10069		HTTPMethod: "POST",
10070		HTTPPath:   "/",
10071	}
10072
10073	if input == nil {
10074		input = &SendAutomationSignalInput{}
10075	}
10076
10077	output = &SendAutomationSignalOutput{}
10078	req = c.newRequest(op, input, output)
10079	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10080	return
10081}
10082
10083// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM).
10084//
10085// Sends a signal to an Automation execution to change the current behavior
10086// or status of the execution.
10087//
10088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10089// with awserr.Error's Code and Message methods to get detailed information about
10090// the error.
10091//
10092// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10093// API operation SendAutomationSignal for usage and error information.
10094//
10095// Returned Error Codes:
10096//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
10097//   There is no automation execution information for the requested automation
10098//   execution ID.
10099//
10100//   * ErrCodeAutomationStepNotFoundException "AutomationStepNotFoundException"
10101//   The specified step name and execution ID don't exist. Verify the information
10102//   and try again.
10103//
10104//   * ErrCodeInvalidAutomationSignalException "InvalidAutomationSignalException"
10105//   The signal is not valid for the current Automation execution.
10106//
10107//   * ErrCodeInternalServerError "InternalServerError"
10108//   An error occurred on the server side.
10109//
10110// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
10111func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) {
10112	req, out := c.SendAutomationSignalRequest(input)
10113	return out, req.Send()
10114}
10115
10116// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of
10117// the ability to pass a context and additional request options.
10118//
10119// See SendAutomationSignal for details on how to use this API operation.
10120//
10121// The context must be non-nil and will be used for request cancellation. If
10122// the context is nil a panic will occur. In the future the SDK may create
10123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10124// for more information on using Contexts.
10125func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) {
10126	req, out := c.SendAutomationSignalRequest(input)
10127	req.SetContext(ctx)
10128	req.ApplyOptions(opts...)
10129	return out, req.Send()
10130}
10131
10132const opSendCommand = "SendCommand"
10133
10134// SendCommandRequest generates a "aws/request.Request" representing the
10135// client's request for the SendCommand operation. The "output" return
10136// value will be populated with the request's response once the request completes
10137// successfully.
10138//
10139// Use "Send" method on the returned Request to send the API call to the service.
10140// the "output" return value is not valid until after Send returns without error.
10141//
10142// See SendCommand for more information on using the SendCommand
10143// API call, and error handling.
10144//
10145// This method is useful when you want to inject custom logic or configuration
10146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10147//
10148//
10149//    // Example sending a request using the SendCommandRequest method.
10150//    req, resp := client.SendCommandRequest(params)
10151//
10152//    err := req.Send()
10153//    if err == nil { // resp is now filled
10154//        fmt.Println(resp)
10155//    }
10156//
10157// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
10158func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) {
10159	op := &request.Operation{
10160		Name:       opSendCommand,
10161		HTTPMethod: "POST",
10162		HTTPPath:   "/",
10163	}
10164
10165	if input == nil {
10166		input = &SendCommandInput{}
10167	}
10168
10169	output = &SendCommandOutput{}
10170	req = c.newRequest(op, input, output)
10171	return
10172}
10173
10174// SendCommand API operation for Amazon Simple Systems Manager (SSM).
10175//
10176// Runs commands on one or more managed instances.
10177//
10178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10179// with awserr.Error's Code and Message methods to get detailed information about
10180// the error.
10181//
10182// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10183// API operation SendCommand for usage and error information.
10184//
10185// Returned Error Codes:
10186//   * ErrCodeDuplicateInstanceId "DuplicateInstanceId"
10187//   You cannot specify an instance ID in more than one association.
10188//
10189//   * ErrCodeInternalServerError "InternalServerError"
10190//   An error occurred on the server side.
10191//
10192//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
10193//   The following problems can cause this exception:
10194//
10195//   You do not have permission to access the instance.
10196//
10197//   SSM Agent is not running. Verify that SSM Agent is running.
10198//
10199//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
10200//
10201//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
10202//   Stopping. Invalid states are: Shutting-down and Terminated.
10203//
10204//   * ErrCodeInvalidDocument "InvalidDocument"
10205//   The specified document does not exist.
10206//
10207//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
10208//   The document version is not valid or does not exist.
10209//
10210//   * ErrCodeInvalidOutputFolder "InvalidOutputFolder"
10211//   The S3 bucket does not exist.
10212//
10213//   * ErrCodeInvalidParameters "InvalidParameters"
10214//   You must specify values for all required parameters in the Systems Manager
10215//   document. You can only supply values to parameters defined in the Systems
10216//   Manager document.
10217//
10218//   * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType"
10219//   The document does not support the platform type of the given instance ID(s).
10220//   For example, you sent an document for a Windows instance to a Linux instance.
10221//
10222//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
10223//   The size limit of a document is 64 KB.
10224//
10225//   * ErrCodeInvalidRole "InvalidRole"
10226//   The role name can't contain invalid characters. Also verify that you specified
10227//   an IAM role for notifications that includes the required trust policy. For
10228//   information about configuring the IAM role for Run Command notifications,
10229//   see Configuring Amazon SNS Notifications for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html)
10230//   in the AWS Systems Manager User Guide.
10231//
10232//   * ErrCodeInvalidNotificationConfig "InvalidNotificationConfig"
10233//   One or more configuration items is not valid. Verify that a valid Amazon
10234//   Resource Name (ARN) was provided for an Amazon SNS topic.
10235//
10236// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
10237func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) {
10238	req, out := c.SendCommandRequest(input)
10239	return out, req.Send()
10240}
10241
10242// SendCommandWithContext is the same as SendCommand with the addition of
10243// the ability to pass a context and additional request options.
10244//
10245// See SendCommand for details on how to use this API operation.
10246//
10247// The context must be non-nil and will be used for request cancellation. If
10248// the context is nil a panic will occur. In the future the SDK may create
10249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10250// for more information on using Contexts.
10251func (c *SSM) SendCommandWithContext(ctx aws.Context, input *SendCommandInput, opts ...request.Option) (*SendCommandOutput, error) {
10252	req, out := c.SendCommandRequest(input)
10253	req.SetContext(ctx)
10254	req.ApplyOptions(opts...)
10255	return out, req.Send()
10256}
10257
10258const opStartAssociationsOnce = "StartAssociationsOnce"
10259
10260// StartAssociationsOnceRequest generates a "aws/request.Request" representing the
10261// client's request for the StartAssociationsOnce operation. The "output" return
10262// value will be populated with the request's response once the request completes
10263// successfully.
10264//
10265// Use "Send" method on the returned Request to send the API call to the service.
10266// the "output" return value is not valid until after Send returns without error.
10267//
10268// See StartAssociationsOnce for more information on using the StartAssociationsOnce
10269// API call, and error handling.
10270//
10271// This method is useful when you want to inject custom logic or configuration
10272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10273//
10274//
10275//    // Example sending a request using the StartAssociationsOnceRequest method.
10276//    req, resp := client.StartAssociationsOnceRequest(params)
10277//
10278//    err := req.Send()
10279//    if err == nil { // resp is now filled
10280//        fmt.Println(resp)
10281//    }
10282//
10283// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
10284func (c *SSM) StartAssociationsOnceRequest(input *StartAssociationsOnceInput) (req *request.Request, output *StartAssociationsOnceOutput) {
10285	op := &request.Operation{
10286		Name:       opStartAssociationsOnce,
10287		HTTPMethod: "POST",
10288		HTTPPath:   "/",
10289	}
10290
10291	if input == nil {
10292		input = &StartAssociationsOnceInput{}
10293	}
10294
10295	output = &StartAssociationsOnceOutput{}
10296	req = c.newRequest(op, input, output)
10297	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10298	return
10299}
10300
10301// StartAssociationsOnce API operation for Amazon Simple Systems Manager (SSM).
10302//
10303// Use this API action to run an association immediately and only one time.
10304// This action can be helpful when troubleshooting associations.
10305//
10306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10307// with awserr.Error's Code and Message methods to get detailed information about
10308// the error.
10309//
10310// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10311// API operation StartAssociationsOnce for usage and error information.
10312//
10313// Returned Error Codes:
10314//   * ErrCodeInvalidAssociation "InvalidAssociation"
10315//   The association is not valid or does not exist.
10316//
10317//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10318//   The specified association does not exist.
10319//
10320// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
10321func (c *SSM) StartAssociationsOnce(input *StartAssociationsOnceInput) (*StartAssociationsOnceOutput, error) {
10322	req, out := c.StartAssociationsOnceRequest(input)
10323	return out, req.Send()
10324}
10325
10326// StartAssociationsOnceWithContext is the same as StartAssociationsOnce with the addition of
10327// the ability to pass a context and additional request options.
10328//
10329// See StartAssociationsOnce for details on how to use this API operation.
10330//
10331// The context must be non-nil and will be used for request cancellation. If
10332// the context is nil a panic will occur. In the future the SDK may create
10333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10334// for more information on using Contexts.
10335func (c *SSM) StartAssociationsOnceWithContext(ctx aws.Context, input *StartAssociationsOnceInput, opts ...request.Option) (*StartAssociationsOnceOutput, error) {
10336	req, out := c.StartAssociationsOnceRequest(input)
10337	req.SetContext(ctx)
10338	req.ApplyOptions(opts...)
10339	return out, req.Send()
10340}
10341
10342const opStartAutomationExecution = "StartAutomationExecution"
10343
10344// StartAutomationExecutionRequest generates a "aws/request.Request" representing the
10345// client's request for the StartAutomationExecution operation. The "output" return
10346// value will be populated with the request's response once the request completes
10347// successfully.
10348//
10349// Use "Send" method on the returned Request to send the API call to the service.
10350// the "output" return value is not valid until after Send returns without error.
10351//
10352// See StartAutomationExecution for more information on using the StartAutomationExecution
10353// API call, and error handling.
10354//
10355// This method is useful when you want to inject custom logic or configuration
10356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10357//
10358//
10359//    // Example sending a request using the StartAutomationExecutionRequest method.
10360//    req, resp := client.StartAutomationExecutionRequest(params)
10361//
10362//    err := req.Send()
10363//    if err == nil { // resp is now filled
10364//        fmt.Println(resp)
10365//    }
10366//
10367// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
10368func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) {
10369	op := &request.Operation{
10370		Name:       opStartAutomationExecution,
10371		HTTPMethod: "POST",
10372		HTTPPath:   "/",
10373	}
10374
10375	if input == nil {
10376		input = &StartAutomationExecutionInput{}
10377	}
10378
10379	output = &StartAutomationExecutionOutput{}
10380	req = c.newRequest(op, input, output)
10381	return
10382}
10383
10384// StartAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
10385//
10386// Initiates execution of an Automation document.
10387//
10388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10389// with awserr.Error's Code and Message methods to get detailed information about
10390// the error.
10391//
10392// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10393// API operation StartAutomationExecution for usage and error information.
10394//
10395// Returned Error Codes:
10396//   * ErrCodeAutomationDefinitionNotFoundException "AutomationDefinitionNotFoundException"
10397//   An Automation document with the specified name could not be found.
10398//
10399//   * ErrCodeInvalidAutomationExecutionParametersException "InvalidAutomationExecutionParametersException"
10400//   The supplied parameters for invoking the specified Automation document are
10401//   incorrect. For example, they may not match the set of parameters permitted
10402//   for the specified Automation document.
10403//
10404//   * ErrCodeAutomationExecutionLimitExceededException "AutomationExecutionLimitExceededException"
10405//   The number of simultaneously running Automation executions exceeded the allowable
10406//   limit.
10407//
10408//   * ErrCodeAutomationDefinitionVersionNotFoundException "AutomationDefinitionVersionNotFoundException"
10409//   An Automation document with the specified name and version could not be found.
10410//
10411//   * ErrCodeIdempotentParameterMismatch "IdempotentParameterMismatch"
10412//   Error returned when an idempotent operation is retried and the parameters
10413//   don't match the original call to the API with the same idempotency token.
10414//
10415//   * ErrCodeInvalidTarget "InvalidTarget"
10416//   The target is not valid or does not exist. It might not be configured for
10417//   EC2 Systems Manager or you might not have permission to perform the operation.
10418//
10419//   * ErrCodeInternalServerError "InternalServerError"
10420//   An error occurred on the server side.
10421//
10422// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
10423func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) {
10424	req, out := c.StartAutomationExecutionRequest(input)
10425	return out, req.Send()
10426}
10427
10428// StartAutomationExecutionWithContext is the same as StartAutomationExecution with the addition of
10429// the ability to pass a context and additional request options.
10430//
10431// See StartAutomationExecution for details on how to use this API operation.
10432//
10433// The context must be non-nil and will be used for request cancellation. If
10434// the context is nil a panic will occur. In the future the SDK may create
10435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10436// for more information on using Contexts.
10437func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartAutomationExecutionInput, opts ...request.Option) (*StartAutomationExecutionOutput, error) {
10438	req, out := c.StartAutomationExecutionRequest(input)
10439	req.SetContext(ctx)
10440	req.ApplyOptions(opts...)
10441	return out, req.Send()
10442}
10443
10444const opStartSession = "StartSession"
10445
10446// StartSessionRequest generates a "aws/request.Request" representing the
10447// client's request for the StartSession operation. The "output" return
10448// value will be populated with the request's response once the request completes
10449// successfully.
10450//
10451// Use "Send" method on the returned Request to send the API call to the service.
10452// the "output" return value is not valid until after Send returns without error.
10453//
10454// See StartSession for more information on using the StartSession
10455// API call, and error handling.
10456//
10457// This method is useful when you want to inject custom logic or configuration
10458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10459//
10460//
10461//    // Example sending a request using the StartSessionRequest method.
10462//    req, resp := client.StartSessionRequest(params)
10463//
10464//    err := req.Send()
10465//    if err == nil { // resp is now filled
10466//        fmt.Println(resp)
10467//    }
10468//
10469// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
10470func (c *SSM) StartSessionRequest(input *StartSessionInput) (req *request.Request, output *StartSessionOutput) {
10471	op := &request.Operation{
10472		Name:       opStartSession,
10473		HTTPMethod: "POST",
10474		HTTPPath:   "/",
10475	}
10476
10477	if input == nil {
10478		input = &StartSessionInput{}
10479	}
10480
10481	output = &StartSessionOutput{}
10482	req = c.newRequest(op, input, output)
10483	return
10484}
10485
10486// StartSession API operation for Amazon Simple Systems Manager (SSM).
10487//
10488// Initiates a connection to a target (for example, an instance) for a Session
10489// Manager session. Returns a URL and token that can be used to open a WebSocket
10490// connection for sending input and receiving outputs.
10491//
10492// AWS CLI usage: start-session is an interactive command that requires the
10493// Session Manager plugin to be installed on the client machine making the call.
10494// For information, see Install the Session Manager Plugin for the AWS CLI (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
10495// in the AWS Systems Manager User Guide.
10496//
10497// AWS Tools for PowerShell usage: Start-SSMSession is not currently supported
10498// by AWS Tools for PowerShell on Windows local machines.
10499//
10500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10501// with awserr.Error's Code and Message methods to get detailed information about
10502// the error.
10503//
10504// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10505// API operation StartSession for usage and error information.
10506//
10507// Returned Error Codes:
10508//   * ErrCodeInvalidDocument "InvalidDocument"
10509//   The specified document does not exist.
10510//
10511//   * ErrCodeTargetNotConnected "TargetNotConnected"
10512//   The specified target instance for the session is not fully configured for
10513//   use with Session Manager. For more information, see Getting Started with
10514//   Session Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)
10515//   in the AWS Systems Manager User Guide.
10516//
10517//   * ErrCodeInternalServerError "InternalServerError"
10518//   An error occurred on the server side.
10519//
10520// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
10521func (c *SSM) StartSession(input *StartSessionInput) (*StartSessionOutput, error) {
10522	req, out := c.StartSessionRequest(input)
10523	return out, req.Send()
10524}
10525
10526// StartSessionWithContext is the same as StartSession with the addition of
10527// the ability to pass a context and additional request options.
10528//
10529// See StartSession for details on how to use this API operation.
10530//
10531// The context must be non-nil and will be used for request cancellation. If
10532// the context is nil a panic will occur. In the future the SDK may create
10533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10534// for more information on using Contexts.
10535func (c *SSM) StartSessionWithContext(ctx aws.Context, input *StartSessionInput, opts ...request.Option) (*StartSessionOutput, error) {
10536	req, out := c.StartSessionRequest(input)
10537	req.SetContext(ctx)
10538	req.ApplyOptions(opts...)
10539	return out, req.Send()
10540}
10541
10542const opStopAutomationExecution = "StopAutomationExecution"
10543
10544// StopAutomationExecutionRequest generates a "aws/request.Request" representing the
10545// client's request for the StopAutomationExecution operation. The "output" return
10546// value will be populated with the request's response once the request completes
10547// successfully.
10548//
10549// Use "Send" method on the returned Request to send the API call to the service.
10550// the "output" return value is not valid until after Send returns without error.
10551//
10552// See StopAutomationExecution for more information on using the StopAutomationExecution
10553// API call, and error handling.
10554//
10555// This method is useful when you want to inject custom logic or configuration
10556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10557//
10558//
10559//    // Example sending a request using the StopAutomationExecutionRequest method.
10560//    req, resp := client.StopAutomationExecutionRequest(params)
10561//
10562//    err := req.Send()
10563//    if err == nil { // resp is now filled
10564//        fmt.Println(resp)
10565//    }
10566//
10567// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
10568func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) {
10569	op := &request.Operation{
10570		Name:       opStopAutomationExecution,
10571		HTTPMethod: "POST",
10572		HTTPPath:   "/",
10573	}
10574
10575	if input == nil {
10576		input = &StopAutomationExecutionInput{}
10577	}
10578
10579	output = &StopAutomationExecutionOutput{}
10580	req = c.newRequest(op, input, output)
10581	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10582	return
10583}
10584
10585// StopAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
10586//
10587// Stop an Automation that is currently running.
10588//
10589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10590// with awserr.Error's Code and Message methods to get detailed information about
10591// the error.
10592//
10593// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10594// API operation StopAutomationExecution for usage and error information.
10595//
10596// Returned Error Codes:
10597//   * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException"
10598//   There is no automation execution information for the requested automation
10599//   execution ID.
10600//
10601//   * ErrCodeInvalidAutomationStatusUpdateException "InvalidAutomationStatusUpdateException"
10602//   The specified update status operation is not valid.
10603//
10604//   * ErrCodeInternalServerError "InternalServerError"
10605//   An error occurred on the server side.
10606//
10607// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
10608func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) {
10609	req, out := c.StopAutomationExecutionRequest(input)
10610	return out, req.Send()
10611}
10612
10613// StopAutomationExecutionWithContext is the same as StopAutomationExecution with the addition of
10614// the ability to pass a context and additional request options.
10615//
10616// See StopAutomationExecution for details on how to use this API operation.
10617//
10618// The context must be non-nil and will be used for request cancellation. If
10619// the context is nil a panic will occur. In the future the SDK may create
10620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10621// for more information on using Contexts.
10622func (c *SSM) StopAutomationExecutionWithContext(ctx aws.Context, input *StopAutomationExecutionInput, opts ...request.Option) (*StopAutomationExecutionOutput, error) {
10623	req, out := c.StopAutomationExecutionRequest(input)
10624	req.SetContext(ctx)
10625	req.ApplyOptions(opts...)
10626	return out, req.Send()
10627}
10628
10629const opTerminateSession = "TerminateSession"
10630
10631// TerminateSessionRequest generates a "aws/request.Request" representing the
10632// client's request for the TerminateSession operation. The "output" return
10633// value will be populated with the request's response once the request completes
10634// successfully.
10635//
10636// Use "Send" method on the returned Request to send the API call to the service.
10637// the "output" return value is not valid until after Send returns without error.
10638//
10639// See TerminateSession for more information on using the TerminateSession
10640// API call, and error handling.
10641//
10642// This method is useful when you want to inject custom logic or configuration
10643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10644//
10645//
10646//    // Example sending a request using the TerminateSessionRequest method.
10647//    req, resp := client.TerminateSessionRequest(params)
10648//
10649//    err := req.Send()
10650//    if err == nil { // resp is now filled
10651//        fmt.Println(resp)
10652//    }
10653//
10654// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
10655func (c *SSM) TerminateSessionRequest(input *TerminateSessionInput) (req *request.Request, output *TerminateSessionOutput) {
10656	op := &request.Operation{
10657		Name:       opTerminateSession,
10658		HTTPMethod: "POST",
10659		HTTPPath:   "/",
10660	}
10661
10662	if input == nil {
10663		input = &TerminateSessionInput{}
10664	}
10665
10666	output = &TerminateSessionOutput{}
10667	req = c.newRequest(op, input, output)
10668	return
10669}
10670
10671// TerminateSession API operation for Amazon Simple Systems Manager (SSM).
10672//
10673// Permanently ends a session and closes the data connection between the Session
10674// Manager client and SSM Agent on the instance. A terminated session cannot
10675// be resumed.
10676//
10677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10678// with awserr.Error's Code and Message methods to get detailed information about
10679// the error.
10680//
10681// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10682// API operation TerminateSession for usage and error information.
10683//
10684// Returned Error Codes:
10685//   * ErrCodeDoesNotExistException "DoesNotExistException"
10686//   Error returned when the ID specified for a resource, such as a maintenance
10687//   window or Patch baseline, doesn't exist.
10688//
10689//   For information about resource limits in Systems Manager, see AWS Systems
10690//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
10691//
10692//   * ErrCodeInternalServerError "InternalServerError"
10693//   An error occurred on the server side.
10694//
10695// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
10696func (c *SSM) TerminateSession(input *TerminateSessionInput) (*TerminateSessionOutput, error) {
10697	req, out := c.TerminateSessionRequest(input)
10698	return out, req.Send()
10699}
10700
10701// TerminateSessionWithContext is the same as TerminateSession with the addition of
10702// the ability to pass a context and additional request options.
10703//
10704// See TerminateSession for details on how to use this API operation.
10705//
10706// The context must be non-nil and will be used for request cancellation. If
10707// the context is nil a panic will occur. In the future the SDK may create
10708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10709// for more information on using Contexts.
10710func (c *SSM) TerminateSessionWithContext(ctx aws.Context, input *TerminateSessionInput, opts ...request.Option) (*TerminateSessionOutput, error) {
10711	req, out := c.TerminateSessionRequest(input)
10712	req.SetContext(ctx)
10713	req.ApplyOptions(opts...)
10714	return out, req.Send()
10715}
10716
10717const opUpdateAssociation = "UpdateAssociation"
10718
10719// UpdateAssociationRequest generates a "aws/request.Request" representing the
10720// client's request for the UpdateAssociation operation. The "output" return
10721// value will be populated with the request's response once the request completes
10722// successfully.
10723//
10724// Use "Send" method on the returned Request to send the API call to the service.
10725// the "output" return value is not valid until after Send returns without error.
10726//
10727// See UpdateAssociation for more information on using the UpdateAssociation
10728// API call, and error handling.
10729//
10730// This method is useful when you want to inject custom logic or configuration
10731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10732//
10733//
10734//    // Example sending a request using the UpdateAssociationRequest method.
10735//    req, resp := client.UpdateAssociationRequest(params)
10736//
10737//    err := req.Send()
10738//    if err == nil { // resp is now filled
10739//        fmt.Println(resp)
10740//    }
10741//
10742// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
10743func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) {
10744	op := &request.Operation{
10745		Name:       opUpdateAssociation,
10746		HTTPMethod: "POST",
10747		HTTPPath:   "/",
10748	}
10749
10750	if input == nil {
10751		input = &UpdateAssociationInput{}
10752	}
10753
10754	output = &UpdateAssociationOutput{}
10755	req = c.newRequest(op, input, output)
10756	return
10757}
10758
10759// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM).
10760//
10761// Updates an association. You can update the association name and version,
10762// the document version, schedule, parameters, and Amazon S3 output.
10763//
10764// In order to call this API action, your IAM user account, group, or role must
10765// be configured with permission to call the DescribeAssociation API action.
10766// If you don't have permission to call DescribeAssociation, then you receive
10767// the following error: An error occurred (AccessDeniedException) when calling
10768// the UpdateAssociation operation: User: <user_arn> is not authorized to perform:
10769// ssm:DescribeAssociation on resource: <resource_arn>
10770//
10771// When you update an association, the association immediately runs against
10772// the specified targets.
10773//
10774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10775// with awserr.Error's Code and Message methods to get detailed information about
10776// the error.
10777//
10778// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10779// API operation UpdateAssociation for usage and error information.
10780//
10781// Returned Error Codes:
10782//   * ErrCodeInternalServerError "InternalServerError"
10783//   An error occurred on the server side.
10784//
10785//   * ErrCodeInvalidSchedule "InvalidSchedule"
10786//   The schedule is invalid. Verify your cron or rate expression and try again.
10787//
10788//   * ErrCodeInvalidParameters "InvalidParameters"
10789//   You must specify values for all required parameters in the Systems Manager
10790//   document. You can only supply values to parameters defined in the Systems
10791//   Manager document.
10792//
10793//   * ErrCodeInvalidOutputLocation "InvalidOutputLocation"
10794//   The output location is not valid or does not exist.
10795//
10796//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
10797//   The document version is not valid or does not exist.
10798//
10799//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10800//   The specified association does not exist.
10801//
10802//   * ErrCodeInvalidUpdate "InvalidUpdate"
10803//   The update is not valid.
10804//
10805//   * ErrCodeTooManyUpdates "TooManyUpdates"
10806//   There are concurrent updates for a resource that supports one update at a
10807//   time.
10808//
10809//   * ErrCodeInvalidDocument "InvalidDocument"
10810//   The specified document does not exist.
10811//
10812//   * ErrCodeInvalidTarget "InvalidTarget"
10813//   The target is not valid or does not exist. It might not be configured for
10814//   EC2 Systems Manager or you might not have permission to perform the operation.
10815//
10816//   * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion"
10817//   The version you specified is not valid. Use ListAssociationVersions to view
10818//   all versions of an association according to the association ID. Or, use the
10819//   $LATEST parameter to view the latest version of the association.
10820//
10821//   * ErrCodeAssociationVersionLimitExceeded "AssociationVersionLimitExceeded"
10822//   You have reached the maximum number versions allowed for an association.
10823//   Each association has a limit of 1,000 versions.
10824//
10825// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
10826func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) {
10827	req, out := c.UpdateAssociationRequest(input)
10828	return out, req.Send()
10829}
10830
10831// UpdateAssociationWithContext is the same as UpdateAssociation with the addition of
10832// the ability to pass a context and additional request options.
10833//
10834// See UpdateAssociation for details on how to use this API operation.
10835//
10836// The context must be non-nil and will be used for request cancellation. If
10837// the context is nil a panic will occur. In the future the SDK may create
10838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10839// for more information on using Contexts.
10840func (c *SSM) UpdateAssociationWithContext(ctx aws.Context, input *UpdateAssociationInput, opts ...request.Option) (*UpdateAssociationOutput, error) {
10841	req, out := c.UpdateAssociationRequest(input)
10842	req.SetContext(ctx)
10843	req.ApplyOptions(opts...)
10844	return out, req.Send()
10845}
10846
10847const opUpdateAssociationStatus = "UpdateAssociationStatus"
10848
10849// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the
10850// client's request for the UpdateAssociationStatus operation. The "output" return
10851// value will be populated with the request's response once the request completes
10852// successfully.
10853//
10854// Use "Send" method on the returned Request to send the API call to the service.
10855// the "output" return value is not valid until after Send returns without error.
10856//
10857// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus
10858// API call, and error handling.
10859//
10860// This method is useful when you want to inject custom logic or configuration
10861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10862//
10863//
10864//    // Example sending a request using the UpdateAssociationStatusRequest method.
10865//    req, resp := client.UpdateAssociationStatusRequest(params)
10866//
10867//    err := req.Send()
10868//    if err == nil { // resp is now filled
10869//        fmt.Println(resp)
10870//    }
10871//
10872// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
10873func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) {
10874	op := &request.Operation{
10875		Name:       opUpdateAssociationStatus,
10876		HTTPMethod: "POST",
10877		HTTPPath:   "/",
10878	}
10879
10880	if input == nil {
10881		input = &UpdateAssociationStatusInput{}
10882	}
10883
10884	output = &UpdateAssociationStatusOutput{}
10885	req = c.newRequest(op, input, output)
10886	return
10887}
10888
10889// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM).
10890//
10891// Updates the status of the Systems Manager document associated with the specified
10892// instance.
10893//
10894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10895// with awserr.Error's Code and Message methods to get detailed information about
10896// the error.
10897//
10898// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10899// API operation UpdateAssociationStatus for usage and error information.
10900//
10901// Returned Error Codes:
10902//   * ErrCodeInternalServerError "InternalServerError"
10903//   An error occurred on the server side.
10904//
10905//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
10906//   The following problems can cause this exception:
10907//
10908//   You do not have permission to access the instance.
10909//
10910//   SSM Agent is not running. Verify that SSM Agent is running.
10911//
10912//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
10913//
10914//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
10915//   Stopping. Invalid states are: Shutting-down and Terminated.
10916//
10917//   * ErrCodeInvalidDocument "InvalidDocument"
10918//   The specified document does not exist.
10919//
10920//   * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist"
10921//   The specified association does not exist.
10922//
10923//   * ErrCodeStatusUnchanged "StatusUnchanged"
10924//   The updated status is the same as the current status.
10925//
10926//   * ErrCodeTooManyUpdates "TooManyUpdates"
10927//   There are concurrent updates for a resource that supports one update at a
10928//   time.
10929//
10930// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
10931func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) {
10932	req, out := c.UpdateAssociationStatusRequest(input)
10933	return out, req.Send()
10934}
10935
10936// UpdateAssociationStatusWithContext is the same as UpdateAssociationStatus with the addition of
10937// the ability to pass a context and additional request options.
10938//
10939// See UpdateAssociationStatus for details on how to use this API operation.
10940//
10941// The context must be non-nil and will be used for request cancellation. If
10942// the context is nil a panic will occur. In the future the SDK may create
10943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10944// for more information on using Contexts.
10945func (c *SSM) UpdateAssociationStatusWithContext(ctx aws.Context, input *UpdateAssociationStatusInput, opts ...request.Option) (*UpdateAssociationStatusOutput, error) {
10946	req, out := c.UpdateAssociationStatusRequest(input)
10947	req.SetContext(ctx)
10948	req.ApplyOptions(opts...)
10949	return out, req.Send()
10950}
10951
10952const opUpdateDocument = "UpdateDocument"
10953
10954// UpdateDocumentRequest generates a "aws/request.Request" representing the
10955// client's request for the UpdateDocument operation. The "output" return
10956// value will be populated with the request's response once the request completes
10957// successfully.
10958//
10959// Use "Send" method on the returned Request to send the API call to the service.
10960// the "output" return value is not valid until after Send returns without error.
10961//
10962// See UpdateDocument for more information on using the UpdateDocument
10963// API call, and error handling.
10964//
10965// This method is useful when you want to inject custom logic or configuration
10966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10967//
10968//
10969//    // Example sending a request using the UpdateDocumentRequest method.
10970//    req, resp := client.UpdateDocumentRequest(params)
10971//
10972//    err := req.Send()
10973//    if err == nil { // resp is now filled
10974//        fmt.Println(resp)
10975//    }
10976//
10977// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
10978func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
10979	op := &request.Operation{
10980		Name:       opUpdateDocument,
10981		HTTPMethod: "POST",
10982		HTTPPath:   "/",
10983	}
10984
10985	if input == nil {
10986		input = &UpdateDocumentInput{}
10987	}
10988
10989	output = &UpdateDocumentOutput{}
10990	req = c.newRequest(op, input, output)
10991	return
10992}
10993
10994// UpdateDocument API operation for Amazon Simple Systems Manager (SSM).
10995//
10996// Updates one or more values for an SSM document.
10997//
10998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10999// with awserr.Error's Code and Message methods to get detailed information about
11000// the error.
11001//
11002// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11003// API operation UpdateDocument for usage and error information.
11004//
11005// Returned Error Codes:
11006//   * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded"
11007//   The size limit of a document is 64 KB.
11008//
11009//   * ErrCodeDocumentVersionLimitExceeded "DocumentVersionLimitExceeded"
11010//   The document has too many versions. Delete one or more document versions
11011//   and try again.
11012//
11013//   * ErrCodeInternalServerError "InternalServerError"
11014//   An error occurred on the server side.
11015//
11016//   * ErrCodeDuplicateDocumentContent "DuplicateDocumentContent"
11017//   The content of the association document matches another document. Change
11018//   the content of the document and try again.
11019//
11020//   * ErrCodeDuplicateDocumentVersionName "DuplicateDocumentVersionName"
11021//   The version name has already been used in this document. Specify a different
11022//   version name, and then try again.
11023//
11024//   * ErrCodeInvalidDocumentContent "InvalidDocumentContent"
11025//   The content for the document is not valid.
11026//
11027//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
11028//   The document version is not valid or does not exist.
11029//
11030//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
11031//   The version of the document schema is not supported.
11032//
11033//   * ErrCodeInvalidDocument "InvalidDocument"
11034//   The specified document does not exist.
11035//
11036//   * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation"
11037//   You attempted to delete a document while it is still shared. You must stop
11038//   sharing the document before you can delete it.
11039//
11040// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
11041func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
11042	req, out := c.UpdateDocumentRequest(input)
11043	return out, req.Send()
11044}
11045
11046// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
11047// the ability to pass a context and additional request options.
11048//
11049// See UpdateDocument for details on how to use this API operation.
11050//
11051// The context must be non-nil and will be used for request cancellation. If
11052// the context is nil a panic will occur. In the future the SDK may create
11053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11054// for more information on using Contexts.
11055func (c *SSM) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
11056	req, out := c.UpdateDocumentRequest(input)
11057	req.SetContext(ctx)
11058	req.ApplyOptions(opts...)
11059	return out, req.Send()
11060}
11061
11062const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion"
11063
11064// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the
11065// client's request for the UpdateDocumentDefaultVersion operation. The "output" return
11066// value will be populated with the request's response once the request completes
11067// successfully.
11068//
11069// Use "Send" method on the returned Request to send the API call to the service.
11070// the "output" return value is not valid until after Send returns without error.
11071//
11072// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion
11073// API call, and error handling.
11074//
11075// This method is useful when you want to inject custom logic or configuration
11076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11077//
11078//
11079//    // Example sending a request using the UpdateDocumentDefaultVersionRequest method.
11080//    req, resp := client.UpdateDocumentDefaultVersionRequest(params)
11081//
11082//    err := req.Send()
11083//    if err == nil { // resp is now filled
11084//        fmt.Println(resp)
11085//    }
11086//
11087// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
11088func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) {
11089	op := &request.Operation{
11090		Name:       opUpdateDocumentDefaultVersion,
11091		HTTPMethod: "POST",
11092		HTTPPath:   "/",
11093	}
11094
11095	if input == nil {
11096		input = &UpdateDocumentDefaultVersionInput{}
11097	}
11098
11099	output = &UpdateDocumentDefaultVersionOutput{}
11100	req = c.newRequest(op, input, output)
11101	return
11102}
11103
11104// UpdateDocumentDefaultVersion API operation for Amazon Simple Systems Manager (SSM).
11105//
11106// Set the default version of a document.
11107//
11108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11109// with awserr.Error's Code and Message methods to get detailed information about
11110// the error.
11111//
11112// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11113// API operation UpdateDocumentDefaultVersion for usage and error information.
11114//
11115// Returned Error Codes:
11116//   * ErrCodeInternalServerError "InternalServerError"
11117//   An error occurred on the server side.
11118//
11119//   * ErrCodeInvalidDocument "InvalidDocument"
11120//   The specified document does not exist.
11121//
11122//   * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion"
11123//   The document version is not valid or does not exist.
11124//
11125//   * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion"
11126//   The version of the document schema is not supported.
11127//
11128// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
11129func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) {
11130	req, out := c.UpdateDocumentDefaultVersionRequest(input)
11131	return out, req.Send()
11132}
11133
11134// UpdateDocumentDefaultVersionWithContext is the same as UpdateDocumentDefaultVersion with the addition of
11135// the ability to pass a context and additional request options.
11136//
11137// See UpdateDocumentDefaultVersion for details on how to use this API operation.
11138//
11139// The context must be non-nil and will be used for request cancellation. If
11140// the context is nil a panic will occur. In the future the SDK may create
11141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11142// for more information on using Contexts.
11143func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *UpdateDocumentDefaultVersionInput, opts ...request.Option) (*UpdateDocumentDefaultVersionOutput, error) {
11144	req, out := c.UpdateDocumentDefaultVersionRequest(input)
11145	req.SetContext(ctx)
11146	req.ApplyOptions(opts...)
11147	return out, req.Send()
11148}
11149
11150const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow"
11151
11152// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the
11153// client's request for the UpdateMaintenanceWindow operation. The "output" return
11154// value will be populated with the request's response once the request completes
11155// successfully.
11156//
11157// Use "Send" method on the returned Request to send the API call to the service.
11158// the "output" return value is not valid until after Send returns without error.
11159//
11160// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow
11161// API call, and error handling.
11162//
11163// This method is useful when you want to inject custom logic or configuration
11164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11165//
11166//
11167//    // Example sending a request using the UpdateMaintenanceWindowRequest method.
11168//    req, resp := client.UpdateMaintenanceWindowRequest(params)
11169//
11170//    err := req.Send()
11171//    if err == nil { // resp is now filled
11172//        fmt.Println(resp)
11173//    }
11174//
11175// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
11176func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) {
11177	op := &request.Operation{
11178		Name:       opUpdateMaintenanceWindow,
11179		HTTPMethod: "POST",
11180		HTTPPath:   "/",
11181	}
11182
11183	if input == nil {
11184		input = &UpdateMaintenanceWindowInput{}
11185	}
11186
11187	output = &UpdateMaintenanceWindowOutput{}
11188	req = c.newRequest(op, input, output)
11189	return
11190}
11191
11192// UpdateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
11193//
11194// Updates an existing maintenance window. Only specified parameters are modified.
11195//
11196// The value you specify for Duration determines the specific end time for the
11197// maintenance window based on the time it begins. No maintenance window tasks
11198// are permitted to start after the resulting endtime minus the number of hours
11199// you specify for Cutoff. For example, if the maintenance window starts at
11200// 3 PM, the duration is three hours, and the value you specify for Cutoff is
11201// one hour, no maintenance window tasks can start after 5 PM.
11202//
11203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11204// with awserr.Error's Code and Message methods to get detailed information about
11205// the error.
11206//
11207// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11208// API operation UpdateMaintenanceWindow for usage and error information.
11209//
11210// Returned Error Codes:
11211//   * ErrCodeDoesNotExistException "DoesNotExistException"
11212//   Error returned when the ID specified for a resource, such as a maintenance
11213//   window or Patch baseline, doesn't exist.
11214//
11215//   For information about resource limits in Systems Manager, see AWS Systems
11216//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11217//
11218//   * ErrCodeInternalServerError "InternalServerError"
11219//   An error occurred on the server side.
11220//
11221// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
11222func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) {
11223	req, out := c.UpdateMaintenanceWindowRequest(input)
11224	return out, req.Send()
11225}
11226
11227// UpdateMaintenanceWindowWithContext is the same as UpdateMaintenanceWindow with the addition of
11228// the ability to pass a context and additional request options.
11229//
11230// See UpdateMaintenanceWindow for details on how to use this API operation.
11231//
11232// The context must be non-nil and will be used for request cancellation. If
11233// the context is nil a panic will occur. In the future the SDK may create
11234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11235// for more information on using Contexts.
11236func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateMaintenanceWindowInput, opts ...request.Option) (*UpdateMaintenanceWindowOutput, error) {
11237	req, out := c.UpdateMaintenanceWindowRequest(input)
11238	req.SetContext(ctx)
11239	req.ApplyOptions(opts...)
11240	return out, req.Send()
11241}
11242
11243const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget"
11244
11245// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the
11246// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return
11247// value will be populated with the request's response once the request completes
11248// successfully.
11249//
11250// Use "Send" method on the returned Request to send the API call to the service.
11251// the "output" return value is not valid until after Send returns without error.
11252//
11253// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget
11254// API call, and error handling.
11255//
11256// This method is useful when you want to inject custom logic or configuration
11257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11258//
11259//
11260//    // Example sending a request using the UpdateMaintenanceWindowTargetRequest method.
11261//    req, resp := client.UpdateMaintenanceWindowTargetRequest(params)
11262//
11263//    err := req.Send()
11264//    if err == nil { // resp is now filled
11265//        fmt.Println(resp)
11266//    }
11267//
11268// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
11269func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) {
11270	op := &request.Operation{
11271		Name:       opUpdateMaintenanceWindowTarget,
11272		HTTPMethod: "POST",
11273		HTTPPath:   "/",
11274	}
11275
11276	if input == nil {
11277		input = &UpdateMaintenanceWindowTargetInput{}
11278	}
11279
11280	output = &UpdateMaintenanceWindowTargetOutput{}
11281	req = c.newRequest(op, input, output)
11282	return
11283}
11284
11285// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM).
11286//
11287// Modifies the target of an existing maintenance window. You can change the
11288// following:
11289//
11290//    * Name
11291//
11292//    * Description
11293//
11294//    * Owner
11295//
11296//    * IDs for an ID target
11297//
11298//    * Tags for a Tag target
11299//
11300//    * From any supported tag type to another. The three supported tag types
11301//    are ID target, Tag target, and resource group. For more information, see
11302//    Target.
11303//
11304// If a parameter is null, then the corresponding field is not modified.
11305//
11306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11307// with awserr.Error's Code and Message methods to get detailed information about
11308// the error.
11309//
11310// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11311// API operation UpdateMaintenanceWindowTarget for usage and error information.
11312//
11313// Returned Error Codes:
11314//   * ErrCodeDoesNotExistException "DoesNotExistException"
11315//   Error returned when the ID specified for a resource, such as a maintenance
11316//   window or Patch baseline, doesn't exist.
11317//
11318//   For information about resource limits in Systems Manager, see AWS Systems
11319//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11320//
11321//   * ErrCodeInternalServerError "InternalServerError"
11322//   An error occurred on the server side.
11323//
11324// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
11325func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) {
11326	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
11327	return out, req.Send()
11328}
11329
11330// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of
11331// the ability to pass a context and additional request options.
11332//
11333// See UpdateMaintenanceWindowTarget for details on how to use this API operation.
11334//
11335// The context must be non-nil and will be used for request cancellation. If
11336// the context is nil a panic will occur. In the future the SDK may create
11337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11338// for more information on using Contexts.
11339func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) {
11340	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
11341	req.SetContext(ctx)
11342	req.ApplyOptions(opts...)
11343	return out, req.Send()
11344}
11345
11346const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask"
11347
11348// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
11349// client's request for the UpdateMaintenanceWindowTask operation. The "output" return
11350// value will be populated with the request's response once the request completes
11351// successfully.
11352//
11353// Use "Send" method on the returned Request to send the API call to the service.
11354// the "output" return value is not valid until after Send returns without error.
11355//
11356// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask
11357// API call, and error handling.
11358//
11359// This method is useful when you want to inject custom logic or configuration
11360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11361//
11362//
11363//    // Example sending a request using the UpdateMaintenanceWindowTaskRequest method.
11364//    req, resp := client.UpdateMaintenanceWindowTaskRequest(params)
11365//
11366//    err := req.Send()
11367//    if err == nil { // resp is now filled
11368//        fmt.Println(resp)
11369//    }
11370//
11371// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
11372func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) {
11373	op := &request.Operation{
11374		Name:       opUpdateMaintenanceWindowTask,
11375		HTTPMethod: "POST",
11376		HTTPPath:   "/",
11377	}
11378
11379	if input == nil {
11380		input = &UpdateMaintenanceWindowTaskInput{}
11381	}
11382
11383	output = &UpdateMaintenanceWindowTaskOutput{}
11384	req = c.newRequest(op, input, output)
11385	return
11386}
11387
11388// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
11389//
11390// Modifies a task assigned to a maintenance window. You can't change the task
11391// type, but you can change the following values:
11392//
11393//    * TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript
11394//    to AWS-RunShellScript.
11395//
11396//    * ServiceRoleArn
11397//
11398//    * TaskInvocationParameters
11399//
11400//    * Priority
11401//
11402//    * MaxConcurrency
11403//
11404//    * MaxErrors
11405//
11406// If a parameter is null, then the corresponding field is not modified. Also,
11407// if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow
11408// action are required for this request. Optional fields that aren't specified
11409// are set to null.
11410//
11411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11412// with awserr.Error's Code and Message methods to get detailed information about
11413// the error.
11414//
11415// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11416// API operation UpdateMaintenanceWindowTask for usage and error information.
11417//
11418// Returned Error Codes:
11419//   * ErrCodeDoesNotExistException "DoesNotExistException"
11420//   Error returned when the ID specified for a resource, such as a maintenance
11421//   window or Patch baseline, doesn't exist.
11422//
11423//   For information about resource limits in Systems Manager, see AWS Systems
11424//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11425//
11426//   * ErrCodeInternalServerError "InternalServerError"
11427//   An error occurred on the server side.
11428//
11429// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
11430func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) {
11431	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
11432	return out, req.Send()
11433}
11434
11435// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of
11436// the ability to pass a context and additional request options.
11437//
11438// See UpdateMaintenanceWindowTask for details on how to use this API operation.
11439//
11440// The context must be non-nil and will be used for request cancellation. If
11441// the context is nil a panic will occur. In the future the SDK may create
11442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11443// for more information on using Contexts.
11444func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) {
11445	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
11446	req.SetContext(ctx)
11447	req.ApplyOptions(opts...)
11448	return out, req.Send()
11449}
11450
11451const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole"
11452
11453// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the
11454// client's request for the UpdateManagedInstanceRole operation. The "output" return
11455// value will be populated with the request's response once the request completes
11456// successfully.
11457//
11458// Use "Send" method on the returned Request to send the API call to the service.
11459// the "output" return value is not valid until after Send returns without error.
11460//
11461// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole
11462// API call, and error handling.
11463//
11464// This method is useful when you want to inject custom logic or configuration
11465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11466//
11467//
11468//    // Example sending a request using the UpdateManagedInstanceRoleRequest method.
11469//    req, resp := client.UpdateManagedInstanceRoleRequest(params)
11470//
11471//    err := req.Send()
11472//    if err == nil { // resp is now filled
11473//        fmt.Println(resp)
11474//    }
11475//
11476// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
11477func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) {
11478	op := &request.Operation{
11479		Name:       opUpdateManagedInstanceRole,
11480		HTTPMethod: "POST",
11481		HTTPPath:   "/",
11482	}
11483
11484	if input == nil {
11485		input = &UpdateManagedInstanceRoleInput{}
11486	}
11487
11488	output = &UpdateManagedInstanceRoleOutput{}
11489	req = c.newRequest(op, input, output)
11490	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11491	return
11492}
11493
11494// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM).
11495//
11496// Assigns or changes an Amazon Identity and Access Management (IAM) role for
11497// the managed instance.
11498//
11499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11500// with awserr.Error's Code and Message methods to get detailed information about
11501// the error.
11502//
11503// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11504// API operation UpdateManagedInstanceRole for usage and error information.
11505//
11506// Returned Error Codes:
11507//   * ErrCodeInvalidInstanceId "InvalidInstanceId"
11508//   The following problems can cause this exception:
11509//
11510//   You do not have permission to access the instance.
11511//
11512//   SSM Agent is not running. Verify that SSM Agent is running.
11513//
11514//   SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.
11515//
11516//   The instance is not in valid state. Valid states are: Running, Pending, Stopped,
11517//   Stopping. Invalid states are: Shutting-down and Terminated.
11518//
11519//   * ErrCodeInternalServerError "InternalServerError"
11520//   An error occurred on the server side.
11521//
11522// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
11523func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) {
11524	req, out := c.UpdateManagedInstanceRoleRequest(input)
11525	return out, req.Send()
11526}
11527
11528// UpdateManagedInstanceRoleWithContext is the same as UpdateManagedInstanceRole with the addition of
11529// the ability to pass a context and additional request options.
11530//
11531// See UpdateManagedInstanceRole for details on how to use this API operation.
11532//
11533// The context must be non-nil and will be used for request cancellation. If
11534// the context is nil a panic will occur. In the future the SDK may create
11535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11536// for more information on using Contexts.
11537func (c *SSM) UpdateManagedInstanceRoleWithContext(ctx aws.Context, input *UpdateManagedInstanceRoleInput, opts ...request.Option) (*UpdateManagedInstanceRoleOutput, error) {
11538	req, out := c.UpdateManagedInstanceRoleRequest(input)
11539	req.SetContext(ctx)
11540	req.ApplyOptions(opts...)
11541	return out, req.Send()
11542}
11543
11544const opUpdateOpsItem = "UpdateOpsItem"
11545
11546// UpdateOpsItemRequest generates a "aws/request.Request" representing the
11547// client's request for the UpdateOpsItem operation. The "output" return
11548// value will be populated with the request's response once the request completes
11549// successfully.
11550//
11551// Use "Send" method on the returned Request to send the API call to the service.
11552// the "output" return value is not valid until after Send returns without error.
11553//
11554// See UpdateOpsItem for more information on using the UpdateOpsItem
11555// API call, and error handling.
11556//
11557// This method is useful when you want to inject custom logic or configuration
11558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11559//
11560//
11561//    // Example sending a request using the UpdateOpsItemRequest method.
11562//    req, resp := client.UpdateOpsItemRequest(params)
11563//
11564//    err := req.Send()
11565//    if err == nil { // resp is now filled
11566//        fmt.Println(resp)
11567//    }
11568//
11569// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
11570func (c *SSM) UpdateOpsItemRequest(input *UpdateOpsItemInput) (req *request.Request, output *UpdateOpsItemOutput) {
11571	op := &request.Operation{
11572		Name:       opUpdateOpsItem,
11573		HTTPMethod: "POST",
11574		HTTPPath:   "/",
11575	}
11576
11577	if input == nil {
11578		input = &UpdateOpsItemInput{}
11579	}
11580
11581	output = &UpdateOpsItemOutput{}
11582	req = c.newRequest(op, input, output)
11583	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11584	return
11585}
11586
11587// UpdateOpsItem API operation for Amazon Simple Systems Manager (SSM).
11588//
11589// Edit or change an OpsItem. You must have permission in AWS Identity and Access
11590// Management (IAM) to update an OpsItem. For more information, see Getting
11591// Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
11592// in the AWS Systems Manager User Guide.
11593//
11594// Operations engineers and IT professionals use OpsCenter to view, investigate,
11595// and remediate operational issues impacting the performance and health of
11596// their AWS resources. For more information, see AWS Systems Manager OpsCenter
11597// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
11598// in the AWS Systems Manager User Guide.
11599//
11600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11601// with awserr.Error's Code and Message methods to get detailed information about
11602// the error.
11603//
11604// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11605// API operation UpdateOpsItem for usage and error information.
11606//
11607// Returned Error Codes:
11608//   * ErrCodeInternalServerError "InternalServerError"
11609//   An error occurred on the server side.
11610//
11611//   * ErrCodeOpsItemNotFoundException "OpsItemNotFoundException"
11612//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
11613//
11614//   * ErrCodeOpsItemAlreadyExistsException "OpsItemAlreadyExistsException"
11615//   The OpsItem already exists.
11616//
11617//   * ErrCodeOpsItemLimitExceededException "OpsItemLimitExceededException"
11618//   The request caused OpsItems to exceed one or more limits. For information
11619//   about OpsItem limits, see What are the resource limits for OpsCenter? (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
11620//
11621//   * ErrCodeOpsItemInvalidParameterException "OpsItemInvalidParameterException"
11622//   A specified parameter argument isn't valid. Verify the available arguments
11623//   and try again.
11624//
11625// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
11626func (c *SSM) UpdateOpsItem(input *UpdateOpsItemInput) (*UpdateOpsItemOutput, error) {
11627	req, out := c.UpdateOpsItemRequest(input)
11628	return out, req.Send()
11629}
11630
11631// UpdateOpsItemWithContext is the same as UpdateOpsItem with the addition of
11632// the ability to pass a context and additional request options.
11633//
11634// See UpdateOpsItem for details on how to use this API operation.
11635//
11636// The context must be non-nil and will be used for request cancellation. If
11637// the context is nil a panic will occur. In the future the SDK may create
11638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11639// for more information on using Contexts.
11640func (c *SSM) UpdateOpsItemWithContext(ctx aws.Context, input *UpdateOpsItemInput, opts ...request.Option) (*UpdateOpsItemOutput, error) {
11641	req, out := c.UpdateOpsItemRequest(input)
11642	req.SetContext(ctx)
11643	req.ApplyOptions(opts...)
11644	return out, req.Send()
11645}
11646
11647const opUpdatePatchBaseline = "UpdatePatchBaseline"
11648
11649// UpdatePatchBaselineRequest generates a "aws/request.Request" representing the
11650// client's request for the UpdatePatchBaseline operation. The "output" return
11651// value will be populated with the request's response once the request completes
11652// successfully.
11653//
11654// Use "Send" method on the returned Request to send the API call to the service.
11655// the "output" return value is not valid until after Send returns without error.
11656//
11657// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline
11658// API call, and error handling.
11659//
11660// This method is useful when you want to inject custom logic or configuration
11661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11662//
11663//
11664//    // Example sending a request using the UpdatePatchBaselineRequest method.
11665//    req, resp := client.UpdatePatchBaselineRequest(params)
11666//
11667//    err := req.Send()
11668//    if err == nil { // resp is now filled
11669//        fmt.Println(resp)
11670//    }
11671//
11672// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
11673func (c *SSM) UpdatePatchBaselineRequest(input *UpdatePatchBaselineInput) (req *request.Request, output *UpdatePatchBaselineOutput) {
11674	op := &request.Operation{
11675		Name:       opUpdatePatchBaseline,
11676		HTTPMethod: "POST",
11677		HTTPPath:   "/",
11678	}
11679
11680	if input == nil {
11681		input = &UpdatePatchBaselineInput{}
11682	}
11683
11684	output = &UpdatePatchBaselineOutput{}
11685	req = c.newRequest(op, input, output)
11686	return
11687}
11688
11689// UpdatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
11690//
11691// Modifies an existing patch baseline. Fields not specified in the request
11692// are left unchanged.
11693//
11694// For information about valid key and value pairs in PatchFilters for each
11695// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html).
11696//
11697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11698// with awserr.Error's Code and Message methods to get detailed information about
11699// the error.
11700//
11701// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11702// API operation UpdatePatchBaseline for usage and error information.
11703//
11704// Returned Error Codes:
11705//   * ErrCodeDoesNotExistException "DoesNotExistException"
11706//   Error returned when the ID specified for a resource, such as a maintenance
11707//   window or Patch baseline, doesn't exist.
11708//
11709//   For information about resource limits in Systems Manager, see AWS Systems
11710//   Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm).
11711//
11712//   * ErrCodeInternalServerError "InternalServerError"
11713//   An error occurred on the server side.
11714//
11715// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
11716func (c *SSM) UpdatePatchBaseline(input *UpdatePatchBaselineInput) (*UpdatePatchBaselineOutput, error) {
11717	req, out := c.UpdatePatchBaselineRequest(input)
11718	return out, req.Send()
11719}
11720
11721// UpdatePatchBaselineWithContext is the same as UpdatePatchBaseline with the addition of
11722// the ability to pass a context and additional request options.
11723//
11724// See UpdatePatchBaseline for details on how to use this API operation.
11725//
11726// The context must be non-nil and will be used for request cancellation. If
11727// the context is nil a panic will occur. In the future the SDK may create
11728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11729// for more information on using Contexts.
11730func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatchBaselineInput, opts ...request.Option) (*UpdatePatchBaselineOutput, error) {
11731	req, out := c.UpdatePatchBaselineRequest(input)
11732	req.SetContext(ctx)
11733	req.ApplyOptions(opts...)
11734	return out, req.Send()
11735}
11736
11737const opUpdateResourceDataSync = "UpdateResourceDataSync"
11738
11739// UpdateResourceDataSyncRequest generates a "aws/request.Request" representing the
11740// client's request for the UpdateResourceDataSync operation. The "output" return
11741// value will be populated with the request's response once the request completes
11742// successfully.
11743//
11744// Use "Send" method on the returned Request to send the API call to the service.
11745// the "output" return value is not valid until after Send returns without error.
11746//
11747// See UpdateResourceDataSync for more information on using the UpdateResourceDataSync
11748// API call, and error handling.
11749//
11750// This method is useful when you want to inject custom logic or configuration
11751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11752//
11753//
11754//    // Example sending a request using the UpdateResourceDataSyncRequest method.
11755//    req, resp := client.UpdateResourceDataSyncRequest(params)
11756//
11757//    err := req.Send()
11758//    if err == nil { // resp is now filled
11759//        fmt.Println(resp)
11760//    }
11761//
11762// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync
11763func (c *SSM) UpdateResourceDataSyncRequest(input *UpdateResourceDataSyncInput) (req *request.Request, output *UpdateResourceDataSyncOutput) {
11764	op := &request.Operation{
11765		Name:       opUpdateResourceDataSync,
11766		HTTPMethod: "POST",
11767		HTTPPath:   "/",
11768	}
11769
11770	if input == nil {
11771		input = &UpdateResourceDataSyncInput{}
11772	}
11773
11774	output = &UpdateResourceDataSyncOutput{}
11775	req = c.newRequest(op, input, output)
11776	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11777	return
11778}
11779
11780// UpdateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
11781//
11782// Update a resource data sync. After you create a resource data sync for a
11783// Region, you can't change the account options for that sync. For example,
11784// if you create a sync in the us-east-2 (Ohio) Region and you choose the Include
11785// only the current account option, you can't edit that sync later and choose
11786// the Include all accounts from my AWS Organizations configuration option.
11787// Instead, you must delete the first resource data sync, and create a new one.
11788//
11789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11790// with awserr.Error's Code and Message methods to get detailed information about
11791// the error.
11792//
11793// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11794// API operation UpdateResourceDataSync for usage and error information.
11795//
11796// Returned Error Codes:
11797//   * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException"
11798//   The specified sync name was not found.
11799//
11800//   * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException"
11801//   The specified sync configuration is invalid.
11802//
11803//   * ErrCodeResourceDataSyncConflictException "ResourceDataSyncConflictException"
11804//   Another UpdateResourceDataSync request is being processed. Wait a few minutes
11805//   and try again.
11806//
11807//   * ErrCodeInternalServerError "InternalServerError"
11808//   An error occurred on the server side.
11809//
11810// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync
11811func (c *SSM) UpdateResourceDataSync(input *UpdateResourceDataSyncInput) (*UpdateResourceDataSyncOutput, error) {
11812	req, out := c.UpdateResourceDataSyncRequest(input)
11813	return out, req.Send()
11814}
11815
11816// UpdateResourceDataSyncWithContext is the same as UpdateResourceDataSync with the addition of
11817// the ability to pass a context and additional request options.
11818//
11819// See UpdateResourceDataSync for details on how to use this API operation.
11820//
11821// The context must be non-nil and will be used for request cancellation. If
11822// the context is nil a panic will occur. In the future the SDK may create
11823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11824// for more information on using Contexts.
11825func (c *SSM) UpdateResourceDataSyncWithContext(ctx aws.Context, input *UpdateResourceDataSyncInput, opts ...request.Option) (*UpdateResourceDataSyncOutput, error) {
11826	req, out := c.UpdateResourceDataSyncRequest(input)
11827	req.SetContext(ctx)
11828	req.ApplyOptions(opts...)
11829	return out, req.Send()
11830}
11831
11832const opUpdateServiceSetting = "UpdateServiceSetting"
11833
11834// UpdateServiceSettingRequest generates a "aws/request.Request" representing the
11835// client's request for the UpdateServiceSetting operation. The "output" return
11836// value will be populated with the request's response once the request completes
11837// successfully.
11838//
11839// Use "Send" method on the returned Request to send the API call to the service.
11840// the "output" return value is not valid until after Send returns without error.
11841//
11842// See UpdateServiceSetting for more information on using the UpdateServiceSetting
11843// API call, and error handling.
11844//
11845// This method is useful when you want to inject custom logic or configuration
11846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11847//
11848//
11849//    // Example sending a request using the UpdateServiceSettingRequest method.
11850//    req, resp := client.UpdateServiceSettingRequest(params)
11851//
11852//    err := req.Send()
11853//    if err == nil { // resp is now filled
11854//        fmt.Println(resp)
11855//    }
11856//
11857// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
11858func (c *SSM) UpdateServiceSettingRequest(input *UpdateServiceSettingInput) (req *request.Request, output *UpdateServiceSettingOutput) {
11859	op := &request.Operation{
11860		Name:       opUpdateServiceSetting,
11861		HTTPMethod: "POST",
11862		HTTPPath:   "/",
11863	}
11864
11865	if input == nil {
11866		input = &UpdateServiceSettingInput{}
11867	}
11868
11869	output = &UpdateServiceSettingOutput{}
11870	req = c.newRequest(op, input, output)
11871	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11872	return
11873}
11874
11875// UpdateServiceSetting API operation for Amazon Simple Systems Manager (SSM).
11876//
11877// ServiceSetting is an account-level setting for an AWS service. This setting
11878// defines how a user interacts with or uses a service or a feature of a service.
11879// For example, if an AWS service charges money to the account based on feature
11880// or service usage, then the AWS service team might create a default setting
11881// of "false". This means the user can't use this feature unless they change
11882// the setting to "true" and intentionally opt in for a paid feature.
11883//
11884// Services map a SettingId object to a setting value. AWS services teams define
11885// the default value for a SettingId. You can't create a new SettingId, but
11886// you can overwrite the default value if you have the ssm:UpdateServiceSetting
11887// permission for the setting. Use the GetServiceSetting API action to view
11888// the current value. Or, use the ResetServiceSetting to change the value back
11889// to the original value defined by the AWS service team.
11890//
11891// Update the service setting for the account.
11892//
11893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11894// with awserr.Error's Code and Message methods to get detailed information about
11895// the error.
11896//
11897// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11898// API operation UpdateServiceSetting for usage and error information.
11899//
11900// Returned Error Codes:
11901//   * ErrCodeInternalServerError "InternalServerError"
11902//   An error occurred on the server side.
11903//
11904//   * ErrCodeServiceSettingNotFound "ServiceSettingNotFound"
11905//   The specified service setting was not found. Either the service name or the
11906//   setting has not been provisioned by the AWS service team.
11907//
11908//   * ErrCodeTooManyUpdates "TooManyUpdates"
11909//   There are concurrent updates for a resource that supports one update at a
11910//   time.
11911//
11912// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
11913func (c *SSM) UpdateServiceSetting(input *UpdateServiceSettingInput) (*UpdateServiceSettingOutput, error) {
11914	req, out := c.UpdateServiceSettingRequest(input)
11915	return out, req.Send()
11916}
11917
11918// UpdateServiceSettingWithContext is the same as UpdateServiceSetting with the addition of
11919// the ability to pass a context and additional request options.
11920//
11921// See UpdateServiceSetting for details on how to use this API operation.
11922//
11923// The context must be non-nil and will be used for request cancellation. If
11924// the context is nil a panic will occur. In the future the SDK may create
11925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11926// for more information on using Contexts.
11927func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServiceSettingInput, opts ...request.Option) (*UpdateServiceSettingOutput, error) {
11928	req, out := c.UpdateServiceSettingRequest(input)
11929	req.SetContext(ctx)
11930	req.ApplyOptions(opts...)
11931	return out, req.Send()
11932}
11933
11934// Information includes the AWS account ID where the current document is shared
11935// and the version shared with that account.
11936type AccountSharingInfo struct {
11937	_ struct{} `type:"structure"`
11938
11939	// The AWS account ID where the current document is shared.
11940	AccountId *string `type:"string"`
11941
11942	// The version of the current document shared with the account.
11943	SharedDocumentVersion *string `type:"string"`
11944}
11945
11946// String returns the string representation
11947func (s AccountSharingInfo) String() string {
11948	return awsutil.Prettify(s)
11949}
11950
11951// GoString returns the string representation
11952func (s AccountSharingInfo) GoString() string {
11953	return s.String()
11954}
11955
11956// SetAccountId sets the AccountId field's value.
11957func (s *AccountSharingInfo) SetAccountId(v string) *AccountSharingInfo {
11958	s.AccountId = &v
11959	return s
11960}
11961
11962// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
11963func (s *AccountSharingInfo) SetSharedDocumentVersion(v string) *AccountSharingInfo {
11964	s.SharedDocumentVersion = &v
11965	return s
11966}
11967
11968// An activation registers one or more on-premises servers or virtual machines
11969// (VMs) with AWS so that you can configure those servers or VMs using Run Command.
11970// A server or VM that has been registered with AWS is called a managed instance.
11971type Activation struct {
11972	_ struct{} `type:"structure"`
11973
11974	// The ID created by Systems Manager when you submitted the activation.
11975	ActivationId *string `type:"string"`
11976
11977	// The date the activation was created.
11978	CreatedDate *time.Time `type:"timestamp"`
11979
11980	// A name for the managed instance when it is created.
11981	DefaultInstanceName *string `type:"string"`
11982
11983	// A user defined description of the activation.
11984	Description *string `type:"string"`
11985
11986	// The date when this activation can no longer be used to register managed instances.
11987	ExpirationDate *time.Time `type:"timestamp"`
11988
11989	// Whether or not the activation is expired.
11990	Expired *bool `type:"boolean"`
11991
11992	// The Amazon Identity and Access Management (IAM) role to assign to the managed
11993	// instance.
11994	IamRole *string `type:"string"`
11995
11996	// The maximum number of managed instances that can be registered using this
11997	// activation.
11998	RegistrationLimit *int64 `min:"1" type:"integer"`
11999
12000	// The number of managed instances already registered with this activation.
12001	RegistrationsCount *int64 `min:"1" type:"integer"`
12002
12003	// Tags assigned to the activation.
12004	Tags []*Tag `type:"list"`
12005}
12006
12007// String returns the string representation
12008func (s Activation) String() string {
12009	return awsutil.Prettify(s)
12010}
12011
12012// GoString returns the string representation
12013func (s Activation) GoString() string {
12014	return s.String()
12015}
12016
12017// SetActivationId sets the ActivationId field's value.
12018func (s *Activation) SetActivationId(v string) *Activation {
12019	s.ActivationId = &v
12020	return s
12021}
12022
12023// SetCreatedDate sets the CreatedDate field's value.
12024func (s *Activation) SetCreatedDate(v time.Time) *Activation {
12025	s.CreatedDate = &v
12026	return s
12027}
12028
12029// SetDefaultInstanceName sets the DefaultInstanceName field's value.
12030func (s *Activation) SetDefaultInstanceName(v string) *Activation {
12031	s.DefaultInstanceName = &v
12032	return s
12033}
12034
12035// SetDescription sets the Description field's value.
12036func (s *Activation) SetDescription(v string) *Activation {
12037	s.Description = &v
12038	return s
12039}
12040
12041// SetExpirationDate sets the ExpirationDate field's value.
12042func (s *Activation) SetExpirationDate(v time.Time) *Activation {
12043	s.ExpirationDate = &v
12044	return s
12045}
12046
12047// SetExpired sets the Expired field's value.
12048func (s *Activation) SetExpired(v bool) *Activation {
12049	s.Expired = &v
12050	return s
12051}
12052
12053// SetIamRole sets the IamRole field's value.
12054func (s *Activation) SetIamRole(v string) *Activation {
12055	s.IamRole = &v
12056	return s
12057}
12058
12059// SetRegistrationLimit sets the RegistrationLimit field's value.
12060func (s *Activation) SetRegistrationLimit(v int64) *Activation {
12061	s.RegistrationLimit = &v
12062	return s
12063}
12064
12065// SetRegistrationsCount sets the RegistrationsCount field's value.
12066func (s *Activation) SetRegistrationsCount(v int64) *Activation {
12067	s.RegistrationsCount = &v
12068	return s
12069}
12070
12071// SetTags sets the Tags field's value.
12072func (s *Activation) SetTags(v []*Tag) *Activation {
12073	s.Tags = v
12074	return s
12075}
12076
12077type AddTagsToResourceInput struct {
12078	_ struct{} `type:"structure"`
12079
12080	// The resource ID you want to tag.
12081	//
12082	// Use the ID of the resource. Here are some examples:
12083	//
12084	// ManagedInstance: mi-012345abcde
12085	//
12086	// MaintenanceWindow: mw-012345abcde
12087	//
12088	// PatchBaseline: pb-012345abcde
12089	//
12090	// For the Document and Parameter values, use the name of the resource.
12091	//
12092	// The ManagedInstance type for this API action is only for on-premises managed
12093	// instances. You must specify the name of the managed instance in the following
12094	// format: mi-ID_number. For example, mi-1a2b3c4d5e6f.
12095	//
12096	// ResourceId is a required field
12097	ResourceId *string `type:"string" required:"true"`
12098
12099	// Specifies the type of resource you are tagging.
12100	//
12101	// The ManagedInstance type for this API action is for on-premises managed instances.
12102	// You must specify the name of the managed instance in the following format:
12103	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
12104	//
12105	// ResourceType is a required field
12106	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
12107
12108	// One or more tags. The value parameter is required, but if you don't want
12109	// the tag to have a value, specify the parameter with no value, and we set
12110	// the value to an empty string.
12111	//
12112	// Do not enter personally identifiable information in this field.
12113	//
12114	// Tags is a required field
12115	Tags []*Tag `type:"list" required:"true"`
12116}
12117
12118// String returns the string representation
12119func (s AddTagsToResourceInput) String() string {
12120	return awsutil.Prettify(s)
12121}
12122
12123// GoString returns the string representation
12124func (s AddTagsToResourceInput) GoString() string {
12125	return s.String()
12126}
12127
12128// Validate inspects the fields of the type to determine if they are valid.
12129func (s *AddTagsToResourceInput) Validate() error {
12130	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
12131	if s.ResourceId == nil {
12132		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12133	}
12134	if s.ResourceType == nil {
12135		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
12136	}
12137	if s.Tags == nil {
12138		invalidParams.Add(request.NewErrParamRequired("Tags"))
12139	}
12140	if s.Tags != nil {
12141		for i, v := range s.Tags {
12142			if v == nil {
12143				continue
12144			}
12145			if err := v.Validate(); err != nil {
12146				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
12147			}
12148		}
12149	}
12150
12151	if invalidParams.Len() > 0 {
12152		return invalidParams
12153	}
12154	return nil
12155}
12156
12157// SetResourceId sets the ResourceId field's value.
12158func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
12159	s.ResourceId = &v
12160	return s
12161}
12162
12163// SetResourceType sets the ResourceType field's value.
12164func (s *AddTagsToResourceInput) SetResourceType(v string) *AddTagsToResourceInput {
12165	s.ResourceType = &v
12166	return s
12167}
12168
12169// SetTags sets the Tags field's value.
12170func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
12171	s.Tags = v
12172	return s
12173}
12174
12175type AddTagsToResourceOutput struct {
12176	_ struct{} `type:"structure"`
12177}
12178
12179// String returns the string representation
12180func (s AddTagsToResourceOutput) String() string {
12181	return awsutil.Prettify(s)
12182}
12183
12184// GoString returns the string representation
12185func (s AddTagsToResourceOutput) GoString() string {
12186	return s.String()
12187}
12188
12189// Describes an association of a Systems Manager document and an instance.
12190type Association struct {
12191	_ struct{} `type:"structure"`
12192
12193	// The ID created by the system when you create an association. An association
12194	// is a binding between a document and a set of targets with a schedule.
12195	AssociationId *string `type:"string"`
12196
12197	// The association name.
12198	AssociationName *string `type:"string"`
12199
12200	// The association version.
12201	AssociationVersion *string `type:"string"`
12202
12203	// The version of the document used in the association.
12204	DocumentVersion *string `type:"string"`
12205
12206	// The ID of the instance.
12207	InstanceId *string `type:"string"`
12208
12209	// The date on which the association was last run.
12210	LastExecutionDate *time.Time `type:"timestamp"`
12211
12212	// The name of the Systems Manager document.
12213	Name *string `type:"string"`
12214
12215	// Information about the association.
12216	Overview *AssociationOverview `type:"structure"`
12217
12218	// A cron expression that specifies a schedule when the association runs.
12219	ScheduleExpression *string `min:"1" type:"string"`
12220
12221	// The instances targeted by the request to create an association.
12222	Targets []*Target `type:"list"`
12223}
12224
12225// String returns the string representation
12226func (s Association) String() string {
12227	return awsutil.Prettify(s)
12228}
12229
12230// GoString returns the string representation
12231func (s Association) GoString() string {
12232	return s.String()
12233}
12234
12235// SetAssociationId sets the AssociationId field's value.
12236func (s *Association) SetAssociationId(v string) *Association {
12237	s.AssociationId = &v
12238	return s
12239}
12240
12241// SetAssociationName sets the AssociationName field's value.
12242func (s *Association) SetAssociationName(v string) *Association {
12243	s.AssociationName = &v
12244	return s
12245}
12246
12247// SetAssociationVersion sets the AssociationVersion field's value.
12248func (s *Association) SetAssociationVersion(v string) *Association {
12249	s.AssociationVersion = &v
12250	return s
12251}
12252
12253// SetDocumentVersion sets the DocumentVersion field's value.
12254func (s *Association) SetDocumentVersion(v string) *Association {
12255	s.DocumentVersion = &v
12256	return s
12257}
12258
12259// SetInstanceId sets the InstanceId field's value.
12260func (s *Association) SetInstanceId(v string) *Association {
12261	s.InstanceId = &v
12262	return s
12263}
12264
12265// SetLastExecutionDate sets the LastExecutionDate field's value.
12266func (s *Association) SetLastExecutionDate(v time.Time) *Association {
12267	s.LastExecutionDate = &v
12268	return s
12269}
12270
12271// SetName sets the Name field's value.
12272func (s *Association) SetName(v string) *Association {
12273	s.Name = &v
12274	return s
12275}
12276
12277// SetOverview sets the Overview field's value.
12278func (s *Association) SetOverview(v *AssociationOverview) *Association {
12279	s.Overview = v
12280	return s
12281}
12282
12283// SetScheduleExpression sets the ScheduleExpression field's value.
12284func (s *Association) SetScheduleExpression(v string) *Association {
12285	s.ScheduleExpression = &v
12286	return s
12287}
12288
12289// SetTargets sets the Targets field's value.
12290func (s *Association) SetTargets(v []*Target) *Association {
12291	s.Targets = v
12292	return s
12293}
12294
12295// Describes the parameters for a document.
12296type AssociationDescription struct {
12297	_ struct{} `type:"structure"`
12298
12299	// The association ID.
12300	AssociationId *string `type:"string"`
12301
12302	// The association name.
12303	AssociationName *string `type:"string"`
12304
12305	// The association version.
12306	AssociationVersion *string `type:"string"`
12307
12308	// Specify the target for the association. This target is required for associations
12309	// that use an Automation document and target resources by using rate controls.
12310	AutomationTargetParameterName *string `min:"1" type:"string"`
12311
12312	// The severity level that is assigned to the association.
12313	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
12314
12315	// The date when the association was made.
12316	Date *time.Time `type:"timestamp"`
12317
12318	// The document version.
12319	DocumentVersion *string `type:"string"`
12320
12321	// The ID of the instance.
12322	InstanceId *string `type:"string"`
12323
12324	// The date on which the association was last run.
12325	LastExecutionDate *time.Time `type:"timestamp"`
12326
12327	// The last date on which the association was successfully run.
12328	LastSuccessfulExecutionDate *time.Time `type:"timestamp"`
12329
12330	// The date when the association was last updated.
12331	LastUpdateAssociationDate *time.Time `type:"timestamp"`
12332
12333	// The maximum number of targets allowed to run the association at the same
12334	// time. You can specify a number, for example 10, or a percentage of the target
12335	// set, for example 10%. The default value is 100%, which means all targets
12336	// run the association at the same time.
12337	//
12338	// If a new instance starts and attempts to run an association while Systems
12339	// Manager is running MaxConcurrency associations, the association is allowed
12340	// to run. During the next association interval, the new instance will process
12341	// its association within the limit specified for MaxConcurrency.
12342	MaxConcurrency *string `min:"1" type:"string"`
12343
12344	// The number of errors that are allowed before the system stops sending requests
12345	// to run the association on additional targets. You can specify either an absolute
12346	// number of errors, for example 10, or a percentage of the target set, for
12347	// example 10%. If you specify 3, for example, the system stops sending requests
12348	// when the fourth error is received. If you specify 0, then the system stops
12349	// sending requests after the first error is returned. If you run an association
12350	// on 50 instances and set MaxError to 10%, then the system stops sending the
12351	// request when the sixth error is received.
12352	//
12353	// Executions that are already running an association when MaxErrors is reached
12354	// are allowed to complete, but some of these executions may fail as well. If
12355	// you need to ensure that there won't be more than max-errors failed executions,
12356	// set MaxConcurrency to 1 so that executions proceed one at a time.
12357	MaxErrors *string `min:"1" type:"string"`
12358
12359	// The name of the Systems Manager document.
12360	Name *string `type:"string"`
12361
12362	// An Amazon S3 bucket where you want to store the output details of the request.
12363	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
12364
12365	// Information about the association.
12366	Overview *AssociationOverview `type:"structure"`
12367
12368	// A description of the parameters for a document.
12369	Parameters map[string][]*string `type:"map"`
12370
12371	// A cron expression that specifies a schedule when the association runs.
12372	ScheduleExpression *string `min:"1" type:"string"`
12373
12374	// The association status.
12375	Status *AssociationStatus `type:"structure"`
12376
12377	// The instances targeted by the request.
12378	Targets []*Target `type:"list"`
12379}
12380
12381// String returns the string representation
12382func (s AssociationDescription) String() string {
12383	return awsutil.Prettify(s)
12384}
12385
12386// GoString returns the string representation
12387func (s AssociationDescription) GoString() string {
12388	return s.String()
12389}
12390
12391// SetAssociationId sets the AssociationId field's value.
12392func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription {
12393	s.AssociationId = &v
12394	return s
12395}
12396
12397// SetAssociationName sets the AssociationName field's value.
12398func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription {
12399	s.AssociationName = &v
12400	return s
12401}
12402
12403// SetAssociationVersion sets the AssociationVersion field's value.
12404func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription {
12405	s.AssociationVersion = &v
12406	return s
12407}
12408
12409// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
12410func (s *AssociationDescription) SetAutomationTargetParameterName(v string) *AssociationDescription {
12411	s.AutomationTargetParameterName = &v
12412	return s
12413}
12414
12415// SetComplianceSeverity sets the ComplianceSeverity field's value.
12416func (s *AssociationDescription) SetComplianceSeverity(v string) *AssociationDescription {
12417	s.ComplianceSeverity = &v
12418	return s
12419}
12420
12421// SetDate sets the Date field's value.
12422func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription {
12423	s.Date = &v
12424	return s
12425}
12426
12427// SetDocumentVersion sets the DocumentVersion field's value.
12428func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescription {
12429	s.DocumentVersion = &v
12430	return s
12431}
12432
12433// SetInstanceId sets the InstanceId field's value.
12434func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription {
12435	s.InstanceId = &v
12436	return s
12437}
12438
12439// SetLastExecutionDate sets the LastExecutionDate field's value.
12440func (s *AssociationDescription) SetLastExecutionDate(v time.Time) *AssociationDescription {
12441	s.LastExecutionDate = &v
12442	return s
12443}
12444
12445// SetLastSuccessfulExecutionDate sets the LastSuccessfulExecutionDate field's value.
12446func (s *AssociationDescription) SetLastSuccessfulExecutionDate(v time.Time) *AssociationDescription {
12447	s.LastSuccessfulExecutionDate = &v
12448	return s
12449}
12450
12451// SetLastUpdateAssociationDate sets the LastUpdateAssociationDate field's value.
12452func (s *AssociationDescription) SetLastUpdateAssociationDate(v time.Time) *AssociationDescription {
12453	s.LastUpdateAssociationDate = &v
12454	return s
12455}
12456
12457// SetMaxConcurrency sets the MaxConcurrency field's value.
12458func (s *AssociationDescription) SetMaxConcurrency(v string) *AssociationDescription {
12459	s.MaxConcurrency = &v
12460	return s
12461}
12462
12463// SetMaxErrors sets the MaxErrors field's value.
12464func (s *AssociationDescription) SetMaxErrors(v string) *AssociationDescription {
12465	s.MaxErrors = &v
12466	return s
12467}
12468
12469// SetName sets the Name field's value.
12470func (s *AssociationDescription) SetName(v string) *AssociationDescription {
12471	s.Name = &v
12472	return s
12473}
12474
12475// SetOutputLocation sets the OutputLocation field's value.
12476func (s *AssociationDescription) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationDescription {
12477	s.OutputLocation = v
12478	return s
12479}
12480
12481// SetOverview sets the Overview field's value.
12482func (s *AssociationDescription) SetOverview(v *AssociationOverview) *AssociationDescription {
12483	s.Overview = v
12484	return s
12485}
12486
12487// SetParameters sets the Parameters field's value.
12488func (s *AssociationDescription) SetParameters(v map[string][]*string) *AssociationDescription {
12489	s.Parameters = v
12490	return s
12491}
12492
12493// SetScheduleExpression sets the ScheduleExpression field's value.
12494func (s *AssociationDescription) SetScheduleExpression(v string) *AssociationDescription {
12495	s.ScheduleExpression = &v
12496	return s
12497}
12498
12499// SetStatus sets the Status field's value.
12500func (s *AssociationDescription) SetStatus(v *AssociationStatus) *AssociationDescription {
12501	s.Status = v
12502	return s
12503}
12504
12505// SetTargets sets the Targets field's value.
12506func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription {
12507	s.Targets = v
12508	return s
12509}
12510
12511// Includes information about the specified association.
12512type AssociationExecution struct {
12513	_ struct{} `type:"structure"`
12514
12515	// The association ID.
12516	AssociationId *string `type:"string"`
12517
12518	// The association version.
12519	AssociationVersion *string `type:"string"`
12520
12521	// The time the execution started.
12522	CreatedTime *time.Time `type:"timestamp"`
12523
12524	// Detailed status information about the execution.
12525	DetailedStatus *string `type:"string"`
12526
12527	// The execution ID for the association.
12528	ExecutionId *string `type:"string"`
12529
12530	// The date of the last execution.
12531	LastExecutionDate *time.Time `type:"timestamp"`
12532
12533	// An aggregate status of the resources in the execution based on the status
12534	// type.
12535	ResourceCountByStatus *string `type:"string"`
12536
12537	// The status of the association execution.
12538	Status *string `type:"string"`
12539}
12540
12541// String returns the string representation
12542func (s AssociationExecution) String() string {
12543	return awsutil.Prettify(s)
12544}
12545
12546// GoString returns the string representation
12547func (s AssociationExecution) GoString() string {
12548	return s.String()
12549}
12550
12551// SetAssociationId sets the AssociationId field's value.
12552func (s *AssociationExecution) SetAssociationId(v string) *AssociationExecution {
12553	s.AssociationId = &v
12554	return s
12555}
12556
12557// SetAssociationVersion sets the AssociationVersion field's value.
12558func (s *AssociationExecution) SetAssociationVersion(v string) *AssociationExecution {
12559	s.AssociationVersion = &v
12560	return s
12561}
12562
12563// SetCreatedTime sets the CreatedTime field's value.
12564func (s *AssociationExecution) SetCreatedTime(v time.Time) *AssociationExecution {
12565	s.CreatedTime = &v
12566	return s
12567}
12568
12569// SetDetailedStatus sets the DetailedStatus field's value.
12570func (s *AssociationExecution) SetDetailedStatus(v string) *AssociationExecution {
12571	s.DetailedStatus = &v
12572	return s
12573}
12574
12575// SetExecutionId sets the ExecutionId field's value.
12576func (s *AssociationExecution) SetExecutionId(v string) *AssociationExecution {
12577	s.ExecutionId = &v
12578	return s
12579}
12580
12581// SetLastExecutionDate sets the LastExecutionDate field's value.
12582func (s *AssociationExecution) SetLastExecutionDate(v time.Time) *AssociationExecution {
12583	s.LastExecutionDate = &v
12584	return s
12585}
12586
12587// SetResourceCountByStatus sets the ResourceCountByStatus field's value.
12588func (s *AssociationExecution) SetResourceCountByStatus(v string) *AssociationExecution {
12589	s.ResourceCountByStatus = &v
12590	return s
12591}
12592
12593// SetStatus sets the Status field's value.
12594func (s *AssociationExecution) SetStatus(v string) *AssociationExecution {
12595	s.Status = &v
12596	return s
12597}
12598
12599// Filters used in the request.
12600type AssociationExecutionFilter struct {
12601	_ struct{} `type:"structure"`
12602
12603	// The key value used in the request.
12604	//
12605	// Key is a required field
12606	Key *string `type:"string" required:"true" enum:"AssociationExecutionFilterKey"`
12607
12608	// The filter type specified in the request.
12609	//
12610	// Type is a required field
12611	Type *string `type:"string" required:"true" enum:"AssociationFilterOperatorType"`
12612
12613	// The value specified for the key.
12614	//
12615	// Value is a required field
12616	Value *string `min:"1" type:"string" required:"true"`
12617}
12618
12619// String returns the string representation
12620func (s AssociationExecutionFilter) String() string {
12621	return awsutil.Prettify(s)
12622}
12623
12624// GoString returns the string representation
12625func (s AssociationExecutionFilter) GoString() string {
12626	return s.String()
12627}
12628
12629// Validate inspects the fields of the type to determine if they are valid.
12630func (s *AssociationExecutionFilter) Validate() error {
12631	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionFilter"}
12632	if s.Key == nil {
12633		invalidParams.Add(request.NewErrParamRequired("Key"))
12634	}
12635	if s.Type == nil {
12636		invalidParams.Add(request.NewErrParamRequired("Type"))
12637	}
12638	if s.Value == nil {
12639		invalidParams.Add(request.NewErrParamRequired("Value"))
12640	}
12641	if s.Value != nil && len(*s.Value) < 1 {
12642		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12643	}
12644
12645	if invalidParams.Len() > 0 {
12646		return invalidParams
12647	}
12648	return nil
12649}
12650
12651// SetKey sets the Key field's value.
12652func (s *AssociationExecutionFilter) SetKey(v string) *AssociationExecutionFilter {
12653	s.Key = &v
12654	return s
12655}
12656
12657// SetType sets the Type field's value.
12658func (s *AssociationExecutionFilter) SetType(v string) *AssociationExecutionFilter {
12659	s.Type = &v
12660	return s
12661}
12662
12663// SetValue sets the Value field's value.
12664func (s *AssociationExecutionFilter) SetValue(v string) *AssociationExecutionFilter {
12665	s.Value = &v
12666	return s
12667}
12668
12669// Includes information about the specified association execution.
12670type AssociationExecutionTarget struct {
12671	_ struct{} `type:"structure"`
12672
12673	// The association ID.
12674	AssociationId *string `type:"string"`
12675
12676	// The association version.
12677	AssociationVersion *string `type:"string"`
12678
12679	// Detailed information about the execution status.
12680	DetailedStatus *string `type:"string"`
12681
12682	// The execution ID.
12683	ExecutionId *string `type:"string"`
12684
12685	// The date of the last execution.
12686	LastExecutionDate *time.Time `type:"timestamp"`
12687
12688	// The location where the association details are saved.
12689	OutputSource *OutputSource `type:"structure"`
12690
12691	// The resource ID, for example, the instance ID where the association ran.
12692	ResourceId *string `min:"1" type:"string"`
12693
12694	// The resource type, for example, instance.
12695	ResourceType *string `min:"1" type:"string"`
12696
12697	// The association execution status.
12698	Status *string `type:"string"`
12699}
12700
12701// String returns the string representation
12702func (s AssociationExecutionTarget) String() string {
12703	return awsutil.Prettify(s)
12704}
12705
12706// GoString returns the string representation
12707func (s AssociationExecutionTarget) GoString() string {
12708	return s.String()
12709}
12710
12711// SetAssociationId sets the AssociationId field's value.
12712func (s *AssociationExecutionTarget) SetAssociationId(v string) *AssociationExecutionTarget {
12713	s.AssociationId = &v
12714	return s
12715}
12716
12717// SetAssociationVersion sets the AssociationVersion field's value.
12718func (s *AssociationExecutionTarget) SetAssociationVersion(v string) *AssociationExecutionTarget {
12719	s.AssociationVersion = &v
12720	return s
12721}
12722
12723// SetDetailedStatus sets the DetailedStatus field's value.
12724func (s *AssociationExecutionTarget) SetDetailedStatus(v string) *AssociationExecutionTarget {
12725	s.DetailedStatus = &v
12726	return s
12727}
12728
12729// SetExecutionId sets the ExecutionId field's value.
12730func (s *AssociationExecutionTarget) SetExecutionId(v string) *AssociationExecutionTarget {
12731	s.ExecutionId = &v
12732	return s
12733}
12734
12735// SetLastExecutionDate sets the LastExecutionDate field's value.
12736func (s *AssociationExecutionTarget) SetLastExecutionDate(v time.Time) *AssociationExecutionTarget {
12737	s.LastExecutionDate = &v
12738	return s
12739}
12740
12741// SetOutputSource sets the OutputSource field's value.
12742func (s *AssociationExecutionTarget) SetOutputSource(v *OutputSource) *AssociationExecutionTarget {
12743	s.OutputSource = v
12744	return s
12745}
12746
12747// SetResourceId sets the ResourceId field's value.
12748func (s *AssociationExecutionTarget) SetResourceId(v string) *AssociationExecutionTarget {
12749	s.ResourceId = &v
12750	return s
12751}
12752
12753// SetResourceType sets the ResourceType field's value.
12754func (s *AssociationExecutionTarget) SetResourceType(v string) *AssociationExecutionTarget {
12755	s.ResourceType = &v
12756	return s
12757}
12758
12759// SetStatus sets the Status field's value.
12760func (s *AssociationExecutionTarget) SetStatus(v string) *AssociationExecutionTarget {
12761	s.Status = &v
12762	return s
12763}
12764
12765// Filters for the association execution.
12766type AssociationExecutionTargetsFilter struct {
12767	_ struct{} `type:"structure"`
12768
12769	// The key value used in the request.
12770	//
12771	// Key is a required field
12772	Key *string `type:"string" required:"true" enum:"AssociationExecutionTargetsFilterKey"`
12773
12774	// The value specified for the key.
12775	//
12776	// Value is a required field
12777	Value *string `min:"1" type:"string" required:"true"`
12778}
12779
12780// String returns the string representation
12781func (s AssociationExecutionTargetsFilter) String() string {
12782	return awsutil.Prettify(s)
12783}
12784
12785// GoString returns the string representation
12786func (s AssociationExecutionTargetsFilter) GoString() string {
12787	return s.String()
12788}
12789
12790// Validate inspects the fields of the type to determine if they are valid.
12791func (s *AssociationExecutionTargetsFilter) Validate() error {
12792	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionTargetsFilter"}
12793	if s.Key == nil {
12794		invalidParams.Add(request.NewErrParamRequired("Key"))
12795	}
12796	if s.Value == nil {
12797		invalidParams.Add(request.NewErrParamRequired("Value"))
12798	}
12799	if s.Value != nil && len(*s.Value) < 1 {
12800		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12801	}
12802
12803	if invalidParams.Len() > 0 {
12804		return invalidParams
12805	}
12806	return nil
12807}
12808
12809// SetKey sets the Key field's value.
12810func (s *AssociationExecutionTargetsFilter) SetKey(v string) *AssociationExecutionTargetsFilter {
12811	s.Key = &v
12812	return s
12813}
12814
12815// SetValue sets the Value field's value.
12816func (s *AssociationExecutionTargetsFilter) SetValue(v string) *AssociationExecutionTargetsFilter {
12817	s.Value = &v
12818	return s
12819}
12820
12821// Describes a filter.
12822type AssociationFilter struct {
12823	_ struct{} `type:"structure"`
12824
12825	// The name of the filter.
12826	//
12827	// Key is a required field
12828	Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"`
12829
12830	// The filter value.
12831	//
12832	// Value is a required field
12833	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
12834}
12835
12836// String returns the string representation
12837func (s AssociationFilter) String() string {
12838	return awsutil.Prettify(s)
12839}
12840
12841// GoString returns the string representation
12842func (s AssociationFilter) GoString() string {
12843	return s.String()
12844}
12845
12846// Validate inspects the fields of the type to determine if they are valid.
12847func (s *AssociationFilter) Validate() error {
12848	invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"}
12849	if s.Key == nil {
12850		invalidParams.Add(request.NewErrParamRequired("Key"))
12851	}
12852	if s.Value == nil {
12853		invalidParams.Add(request.NewErrParamRequired("Value"))
12854	}
12855	if s.Value != nil && len(*s.Value) < 1 {
12856		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12857	}
12858
12859	if invalidParams.Len() > 0 {
12860		return invalidParams
12861	}
12862	return nil
12863}
12864
12865// SetKey sets the Key field's value.
12866func (s *AssociationFilter) SetKey(v string) *AssociationFilter {
12867	s.Key = &v
12868	return s
12869}
12870
12871// SetValue sets the Value field's value.
12872func (s *AssociationFilter) SetValue(v string) *AssociationFilter {
12873	s.Value = &v
12874	return s
12875}
12876
12877// Information about the association.
12878type AssociationOverview struct {
12879	_ struct{} `type:"structure"`
12880
12881	// Returns the number of targets for the association status. For example, if
12882	// you created an association with two instances, and one of them was successful,
12883	// this would return the count of instances by status.
12884	AssociationStatusAggregatedCount map[string]*int64 `type:"map"`
12885
12886	// A detailed status of the association.
12887	DetailedStatus *string `type:"string"`
12888
12889	// The status of the association. Status can be: Pending, Success, or Failed.
12890	Status *string `type:"string"`
12891}
12892
12893// String returns the string representation
12894func (s AssociationOverview) String() string {
12895	return awsutil.Prettify(s)
12896}
12897
12898// GoString returns the string representation
12899func (s AssociationOverview) GoString() string {
12900	return s.String()
12901}
12902
12903// SetAssociationStatusAggregatedCount sets the AssociationStatusAggregatedCount field's value.
12904func (s *AssociationOverview) SetAssociationStatusAggregatedCount(v map[string]*int64) *AssociationOverview {
12905	s.AssociationStatusAggregatedCount = v
12906	return s
12907}
12908
12909// SetDetailedStatus sets the DetailedStatus field's value.
12910func (s *AssociationOverview) SetDetailedStatus(v string) *AssociationOverview {
12911	s.DetailedStatus = &v
12912	return s
12913}
12914
12915// SetStatus sets the Status field's value.
12916func (s *AssociationOverview) SetStatus(v string) *AssociationOverview {
12917	s.Status = &v
12918	return s
12919}
12920
12921// Describes an association status.
12922type AssociationStatus struct {
12923	_ struct{} `type:"structure"`
12924
12925	// A user-defined string.
12926	AdditionalInfo *string `type:"string"`
12927
12928	// The date when the status changed.
12929	//
12930	// Date is a required field
12931	Date *time.Time `type:"timestamp" required:"true"`
12932
12933	// The reason for the status.
12934	//
12935	// Message is a required field
12936	Message *string `min:"1" type:"string" required:"true"`
12937
12938	// The status.
12939	//
12940	// Name is a required field
12941	Name *string `type:"string" required:"true" enum:"AssociationStatusName"`
12942}
12943
12944// String returns the string representation
12945func (s AssociationStatus) String() string {
12946	return awsutil.Prettify(s)
12947}
12948
12949// GoString returns the string representation
12950func (s AssociationStatus) GoString() string {
12951	return s.String()
12952}
12953
12954// Validate inspects the fields of the type to determine if they are valid.
12955func (s *AssociationStatus) Validate() error {
12956	invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"}
12957	if s.Date == nil {
12958		invalidParams.Add(request.NewErrParamRequired("Date"))
12959	}
12960	if s.Message == nil {
12961		invalidParams.Add(request.NewErrParamRequired("Message"))
12962	}
12963	if s.Message != nil && len(*s.Message) < 1 {
12964		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
12965	}
12966	if s.Name == nil {
12967		invalidParams.Add(request.NewErrParamRequired("Name"))
12968	}
12969
12970	if invalidParams.Len() > 0 {
12971		return invalidParams
12972	}
12973	return nil
12974}
12975
12976// SetAdditionalInfo sets the AdditionalInfo field's value.
12977func (s *AssociationStatus) SetAdditionalInfo(v string) *AssociationStatus {
12978	s.AdditionalInfo = &v
12979	return s
12980}
12981
12982// SetDate sets the Date field's value.
12983func (s *AssociationStatus) SetDate(v time.Time) *AssociationStatus {
12984	s.Date = &v
12985	return s
12986}
12987
12988// SetMessage sets the Message field's value.
12989func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
12990	s.Message = &v
12991	return s
12992}
12993
12994// SetName sets the Name field's value.
12995func (s *AssociationStatus) SetName(v string) *AssociationStatus {
12996	s.Name = &v
12997	return s
12998}
12999
13000// Information about the association version.
13001type AssociationVersionInfo struct {
13002	_ struct{} `type:"structure"`
13003
13004	// The ID created by the system when the association was created.
13005	AssociationId *string `type:"string"`
13006
13007	// The name specified for the association version when the association version
13008	// was created.
13009	AssociationName *string `type:"string"`
13010
13011	// The association version.
13012	AssociationVersion *string `type:"string"`
13013
13014	// The severity level that is assigned to the association.
13015	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
13016
13017	// The date the association version was created.
13018	CreatedDate *time.Time `type:"timestamp"`
13019
13020	// The version of a Systems Manager document used when the association version
13021	// was created.
13022	DocumentVersion *string `type:"string"`
13023
13024	// The maximum number of targets allowed to run the association at the same
13025	// time. You can specify a number, for example 10, or a percentage of the target
13026	// set, for example 10%. The default value is 100%, which means all targets
13027	// run the association at the same time.
13028	//
13029	// If a new instance starts and attempts to run an association while Systems
13030	// Manager is running MaxConcurrency associations, the association is allowed
13031	// to run. During the next association interval, the new instance will process
13032	// its association within the limit specified for MaxConcurrency.
13033	MaxConcurrency *string `min:"1" type:"string"`
13034
13035	// The number of errors that are allowed before the system stops sending requests
13036	// to run the association on additional targets. You can specify either an absolute
13037	// number of errors, for example 10, or a percentage of the target set, for
13038	// example 10%. If you specify 3, for example, the system stops sending requests
13039	// when the fourth error is received. If you specify 0, then the system stops
13040	// sending requests after the first error is returned. If you run an association
13041	// on 50 instances and set MaxError to 10%, then the system stops sending the
13042	// request when the sixth error is received.
13043	//
13044	// Executions that are already running an association when MaxErrors is reached
13045	// are allowed to complete, but some of these executions may fail as well. If
13046	// you need to ensure that there won't be more than max-errors failed executions,
13047	// set MaxConcurrency to 1 so that executions proceed one at a time.
13048	MaxErrors *string `min:"1" type:"string"`
13049
13050	// The name specified when the association was created.
13051	Name *string `type:"string"`
13052
13053	// The location in Amazon S3 specified for the association when the association
13054	// version was created.
13055	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
13056
13057	// Parameters specified when the association version was created.
13058	Parameters map[string][]*string `type:"map"`
13059
13060	// The cron or rate schedule specified for the association when the association
13061	// version was created.
13062	ScheduleExpression *string `min:"1" type:"string"`
13063
13064	// The targets specified for the association when the association version was
13065	// created.
13066	Targets []*Target `type:"list"`
13067}
13068
13069// String returns the string representation
13070func (s AssociationVersionInfo) String() string {
13071	return awsutil.Prettify(s)
13072}
13073
13074// GoString returns the string representation
13075func (s AssociationVersionInfo) GoString() string {
13076	return s.String()
13077}
13078
13079// SetAssociationId sets the AssociationId field's value.
13080func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo {
13081	s.AssociationId = &v
13082	return s
13083}
13084
13085// SetAssociationName sets the AssociationName field's value.
13086func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo {
13087	s.AssociationName = &v
13088	return s
13089}
13090
13091// SetAssociationVersion sets the AssociationVersion field's value.
13092func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo {
13093	s.AssociationVersion = &v
13094	return s
13095}
13096
13097// SetComplianceSeverity sets the ComplianceSeverity field's value.
13098func (s *AssociationVersionInfo) SetComplianceSeverity(v string) *AssociationVersionInfo {
13099	s.ComplianceSeverity = &v
13100	return s
13101}
13102
13103// SetCreatedDate sets the CreatedDate field's value.
13104func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo {
13105	s.CreatedDate = &v
13106	return s
13107}
13108
13109// SetDocumentVersion sets the DocumentVersion field's value.
13110func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo {
13111	s.DocumentVersion = &v
13112	return s
13113}
13114
13115// SetMaxConcurrency sets the MaxConcurrency field's value.
13116func (s *AssociationVersionInfo) SetMaxConcurrency(v string) *AssociationVersionInfo {
13117	s.MaxConcurrency = &v
13118	return s
13119}
13120
13121// SetMaxErrors sets the MaxErrors field's value.
13122func (s *AssociationVersionInfo) SetMaxErrors(v string) *AssociationVersionInfo {
13123	s.MaxErrors = &v
13124	return s
13125}
13126
13127// SetName sets the Name field's value.
13128func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo {
13129	s.Name = &v
13130	return s
13131}
13132
13133// SetOutputLocation sets the OutputLocation field's value.
13134func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo {
13135	s.OutputLocation = v
13136	return s
13137}
13138
13139// SetParameters sets the Parameters field's value.
13140func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo {
13141	s.Parameters = v
13142	return s
13143}
13144
13145// SetScheduleExpression sets the ScheduleExpression field's value.
13146func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo {
13147	s.ScheduleExpression = &v
13148	return s
13149}
13150
13151// SetTargets sets the Targets field's value.
13152func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo {
13153	s.Targets = v
13154	return s
13155}
13156
13157// A structure that includes attributes that describe a document attachment.
13158type AttachmentContent struct {
13159	_ struct{} `type:"structure"`
13160
13161	// The cryptographic hash value of the document content.
13162	Hash *string `type:"string"`
13163
13164	// The hash algorithm used to calculate the hash value.
13165	HashType *string `type:"string" enum:"AttachmentHashType"`
13166
13167	// The name of an attachment.
13168	Name *string `type:"string"`
13169
13170	// The size of an attachment in bytes.
13171	Size *int64 `type:"long"`
13172
13173	// The URL location of the attachment content.
13174	Url *string `type:"string"`
13175}
13176
13177// String returns the string representation
13178func (s AttachmentContent) String() string {
13179	return awsutil.Prettify(s)
13180}
13181
13182// GoString returns the string representation
13183func (s AttachmentContent) GoString() string {
13184	return s.String()
13185}
13186
13187// SetHash sets the Hash field's value.
13188func (s *AttachmentContent) SetHash(v string) *AttachmentContent {
13189	s.Hash = &v
13190	return s
13191}
13192
13193// SetHashType sets the HashType field's value.
13194func (s *AttachmentContent) SetHashType(v string) *AttachmentContent {
13195	s.HashType = &v
13196	return s
13197}
13198
13199// SetName sets the Name field's value.
13200func (s *AttachmentContent) SetName(v string) *AttachmentContent {
13201	s.Name = &v
13202	return s
13203}
13204
13205// SetSize sets the Size field's value.
13206func (s *AttachmentContent) SetSize(v int64) *AttachmentContent {
13207	s.Size = &v
13208	return s
13209}
13210
13211// SetUrl sets the Url field's value.
13212func (s *AttachmentContent) SetUrl(v string) *AttachmentContent {
13213	s.Url = &v
13214	return s
13215}
13216
13217// An attribute of an attachment, such as the attachment name.
13218type AttachmentInformation struct {
13219	_ struct{} `type:"structure"`
13220
13221	// The name of the attachment.
13222	Name *string `type:"string"`
13223}
13224
13225// String returns the string representation
13226func (s AttachmentInformation) String() string {
13227	return awsutil.Prettify(s)
13228}
13229
13230// GoString returns the string representation
13231func (s AttachmentInformation) GoString() string {
13232	return s.String()
13233}
13234
13235// SetName sets the Name field's value.
13236func (s *AttachmentInformation) SetName(v string) *AttachmentInformation {
13237	s.Name = &v
13238	return s
13239}
13240
13241// Identifying information about a document attachment, including the file name
13242// and a key-value pair that identifies the location of an attachment to a document.
13243type AttachmentsSource struct {
13244	_ struct{} `type:"structure"`
13245
13246	// The key of a key-value pair that identifies the location of an attachment
13247	// to a document.
13248	Key *string `type:"string" enum:"AttachmentsSourceKey"`
13249
13250	// The name of the document attachment file.
13251	Name *string `type:"string"`
13252
13253	// The value of a key-value pair that identifies the location of an attachment
13254	// to a document. The format is the URL of the location of a document attachment,
13255	// such as the URL of an Amazon S3 bucket.
13256	Values []*string `min:"1" type:"list"`
13257}
13258
13259// String returns the string representation
13260func (s AttachmentsSource) String() string {
13261	return awsutil.Prettify(s)
13262}
13263
13264// GoString returns the string representation
13265func (s AttachmentsSource) GoString() string {
13266	return s.String()
13267}
13268
13269// Validate inspects the fields of the type to determine if they are valid.
13270func (s *AttachmentsSource) Validate() error {
13271	invalidParams := request.ErrInvalidParams{Context: "AttachmentsSource"}
13272	if s.Values != nil && len(s.Values) < 1 {
13273		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13274	}
13275
13276	if invalidParams.Len() > 0 {
13277		return invalidParams
13278	}
13279	return nil
13280}
13281
13282// SetKey sets the Key field's value.
13283func (s *AttachmentsSource) SetKey(v string) *AttachmentsSource {
13284	s.Key = &v
13285	return s
13286}
13287
13288// SetName sets the Name field's value.
13289func (s *AttachmentsSource) SetName(v string) *AttachmentsSource {
13290	s.Name = &v
13291	return s
13292}
13293
13294// SetValues sets the Values field's value.
13295func (s *AttachmentsSource) SetValues(v []*string) *AttachmentsSource {
13296	s.Values = v
13297	return s
13298}
13299
13300// Detailed information about the current state of an individual Automation
13301// execution.
13302type AutomationExecution struct {
13303	_ struct{} `type:"structure"`
13304
13305	// The execution ID.
13306	AutomationExecutionId *string `min:"36" type:"string"`
13307
13308	// The execution status of the Automation.
13309	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
13310
13311	// The action of the step that is currently running.
13312	CurrentAction *string `type:"string"`
13313
13314	// The name of the step that is currently running.
13315	CurrentStepName *string `type:"string"`
13316
13317	// The name of the Automation document used during the execution.
13318	DocumentName *string `type:"string"`
13319
13320	// The version of the document to use during execution.
13321	DocumentVersion *string `type:"string"`
13322
13323	// The Amazon Resource Name (ARN) of the user who ran the automation.
13324	ExecutedBy *string `type:"string"`
13325
13326	// The time the execution finished.
13327	ExecutionEndTime *time.Time `type:"timestamp"`
13328
13329	// The time the execution started.
13330	ExecutionStartTime *time.Time `type:"timestamp"`
13331
13332	// A message describing why an execution has failed, if the status is set to
13333	// Failed.
13334	FailureMessage *string `type:"string"`
13335
13336	// The MaxConcurrency value specified by the user when the execution started.
13337	MaxConcurrency *string `min:"1" type:"string"`
13338
13339	// The MaxErrors value specified by the user when the execution started.
13340	MaxErrors *string `min:"1" type:"string"`
13341
13342	// The automation execution mode.
13343	Mode *string `type:"string" enum:"ExecutionMode"`
13344
13345	// The list of execution outputs as defined in the automation document.
13346	Outputs map[string][]*string `min:"1" type:"map"`
13347
13348	// The key-value map of execution parameters, which were supplied when calling
13349	// StartAutomationExecution.
13350	Parameters map[string][]*string `min:"1" type:"map"`
13351
13352	// The AutomationExecutionId of the parent automation.
13353	ParentAutomationExecutionId *string `min:"36" type:"string"`
13354
13355	// An aggregate of step execution statuses displayed in the AWS Console for
13356	// a multi-Region and multi-account Automation execution.
13357	ProgressCounters *ProgressCounters `type:"structure"`
13358
13359	// A list of resolved targets in the rate control execution.
13360	ResolvedTargets *ResolvedTargets `type:"structure"`
13361
13362	// A list of details about the current state of all steps that comprise an execution.
13363	// An Automation document contains a list of steps that are run in order.
13364	StepExecutions []*StepExecution `type:"list"`
13365
13366	// A boolean value that indicates if the response contains the full list of
13367	// the Automation step executions. If true, use the DescribeAutomationStepExecutions
13368	// API action to get the full list of step executions.
13369	StepExecutionsTruncated *bool `type:"boolean"`
13370
13371	// The target of the execution.
13372	Target *string `type:"string"`
13373
13374	// The combination of AWS Regions and/or AWS accounts where you want to run
13375	// the Automation.
13376	TargetLocations []*TargetLocation `min:"1" type:"list"`
13377
13378	// The specified key-value mapping of document parameters to target resources.
13379	TargetMaps []map[string][]*string `type:"list"`
13380
13381	// The parameter name.
13382	TargetParameterName *string `min:"1" type:"string"`
13383
13384	// The specified targets.
13385	Targets []*Target `type:"list"`
13386}
13387
13388// String returns the string representation
13389func (s AutomationExecution) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s AutomationExecution) GoString() string {
13395	return s.String()
13396}
13397
13398// SetAutomationExecutionId sets the AutomationExecutionId field's value.
13399func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution {
13400	s.AutomationExecutionId = &v
13401	return s
13402}
13403
13404// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
13405func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *AutomationExecution {
13406	s.AutomationExecutionStatus = &v
13407	return s
13408}
13409
13410// SetCurrentAction sets the CurrentAction field's value.
13411func (s *AutomationExecution) SetCurrentAction(v string) *AutomationExecution {
13412	s.CurrentAction = &v
13413	return s
13414}
13415
13416// SetCurrentStepName sets the CurrentStepName field's value.
13417func (s *AutomationExecution) SetCurrentStepName(v string) *AutomationExecution {
13418	s.CurrentStepName = &v
13419	return s
13420}
13421
13422// SetDocumentName sets the DocumentName field's value.
13423func (s *AutomationExecution) SetDocumentName(v string) *AutomationExecution {
13424	s.DocumentName = &v
13425	return s
13426}
13427
13428// SetDocumentVersion sets the DocumentVersion field's value.
13429func (s *AutomationExecution) SetDocumentVersion(v string) *AutomationExecution {
13430	s.DocumentVersion = &v
13431	return s
13432}
13433
13434// SetExecutedBy sets the ExecutedBy field's value.
13435func (s *AutomationExecution) SetExecutedBy(v string) *AutomationExecution {
13436	s.ExecutedBy = &v
13437	return s
13438}
13439
13440// SetExecutionEndTime sets the ExecutionEndTime field's value.
13441func (s *AutomationExecution) SetExecutionEndTime(v time.Time) *AutomationExecution {
13442	s.ExecutionEndTime = &v
13443	return s
13444}
13445
13446// SetExecutionStartTime sets the ExecutionStartTime field's value.
13447func (s *AutomationExecution) SetExecutionStartTime(v time.Time) *AutomationExecution {
13448	s.ExecutionStartTime = &v
13449	return s
13450}
13451
13452// SetFailureMessage sets the FailureMessage field's value.
13453func (s *AutomationExecution) SetFailureMessage(v string) *AutomationExecution {
13454	s.FailureMessage = &v
13455	return s
13456}
13457
13458// SetMaxConcurrency sets the MaxConcurrency field's value.
13459func (s *AutomationExecution) SetMaxConcurrency(v string) *AutomationExecution {
13460	s.MaxConcurrency = &v
13461	return s
13462}
13463
13464// SetMaxErrors sets the MaxErrors field's value.
13465func (s *AutomationExecution) SetMaxErrors(v string) *AutomationExecution {
13466	s.MaxErrors = &v
13467	return s
13468}
13469
13470// SetMode sets the Mode field's value.
13471func (s *AutomationExecution) SetMode(v string) *AutomationExecution {
13472	s.Mode = &v
13473	return s
13474}
13475
13476// SetOutputs sets the Outputs field's value.
13477func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution {
13478	s.Outputs = v
13479	return s
13480}
13481
13482// SetParameters sets the Parameters field's value.
13483func (s *AutomationExecution) SetParameters(v map[string][]*string) *AutomationExecution {
13484	s.Parameters = v
13485	return s
13486}
13487
13488// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
13489func (s *AutomationExecution) SetParentAutomationExecutionId(v string) *AutomationExecution {
13490	s.ParentAutomationExecutionId = &v
13491	return s
13492}
13493
13494// SetProgressCounters sets the ProgressCounters field's value.
13495func (s *AutomationExecution) SetProgressCounters(v *ProgressCounters) *AutomationExecution {
13496	s.ProgressCounters = v
13497	return s
13498}
13499
13500// SetResolvedTargets sets the ResolvedTargets field's value.
13501func (s *AutomationExecution) SetResolvedTargets(v *ResolvedTargets) *AutomationExecution {
13502	s.ResolvedTargets = v
13503	return s
13504}
13505
13506// SetStepExecutions sets the StepExecutions field's value.
13507func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution {
13508	s.StepExecutions = v
13509	return s
13510}
13511
13512// SetStepExecutionsTruncated sets the StepExecutionsTruncated field's value.
13513func (s *AutomationExecution) SetStepExecutionsTruncated(v bool) *AutomationExecution {
13514	s.StepExecutionsTruncated = &v
13515	return s
13516}
13517
13518// SetTarget sets the Target field's value.
13519func (s *AutomationExecution) SetTarget(v string) *AutomationExecution {
13520	s.Target = &v
13521	return s
13522}
13523
13524// SetTargetLocations sets the TargetLocations field's value.
13525func (s *AutomationExecution) SetTargetLocations(v []*TargetLocation) *AutomationExecution {
13526	s.TargetLocations = v
13527	return s
13528}
13529
13530// SetTargetMaps sets the TargetMaps field's value.
13531func (s *AutomationExecution) SetTargetMaps(v []map[string][]*string) *AutomationExecution {
13532	s.TargetMaps = v
13533	return s
13534}
13535
13536// SetTargetParameterName sets the TargetParameterName field's value.
13537func (s *AutomationExecution) SetTargetParameterName(v string) *AutomationExecution {
13538	s.TargetParameterName = &v
13539	return s
13540}
13541
13542// SetTargets sets the Targets field's value.
13543func (s *AutomationExecution) SetTargets(v []*Target) *AutomationExecution {
13544	s.Targets = v
13545	return s
13546}
13547
13548// A filter used to match specific automation executions. This is used to limit
13549// the scope of Automation execution information returned.
13550type AutomationExecutionFilter struct {
13551	_ struct{} `type:"structure"`
13552
13553	// One or more keys to limit the results. Valid filter keys include the following:
13554	// DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction,
13555	// StartTimeBefore, StartTimeAfter.
13556	//
13557	// Key is a required field
13558	Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"`
13559
13560	// The values used to limit the execution information associated with the filter's
13561	// key.
13562	//
13563	// Values is a required field
13564	Values []*string `min:"1" type:"list" required:"true"`
13565}
13566
13567// String returns the string representation
13568func (s AutomationExecutionFilter) String() string {
13569	return awsutil.Prettify(s)
13570}
13571
13572// GoString returns the string representation
13573func (s AutomationExecutionFilter) GoString() string {
13574	return s.String()
13575}
13576
13577// Validate inspects the fields of the type to determine if they are valid.
13578func (s *AutomationExecutionFilter) Validate() error {
13579	invalidParams := request.ErrInvalidParams{Context: "AutomationExecutionFilter"}
13580	if s.Key == nil {
13581		invalidParams.Add(request.NewErrParamRequired("Key"))
13582	}
13583	if s.Values == nil {
13584		invalidParams.Add(request.NewErrParamRequired("Values"))
13585	}
13586	if s.Values != nil && len(s.Values) < 1 {
13587		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13588	}
13589
13590	if invalidParams.Len() > 0 {
13591		return invalidParams
13592	}
13593	return nil
13594}
13595
13596// SetKey sets the Key field's value.
13597func (s *AutomationExecutionFilter) SetKey(v string) *AutomationExecutionFilter {
13598	s.Key = &v
13599	return s
13600}
13601
13602// SetValues sets the Values field's value.
13603func (s *AutomationExecutionFilter) SetValues(v []*string) *AutomationExecutionFilter {
13604	s.Values = v
13605	return s
13606}
13607
13608// Details about a specific Automation execution.
13609type AutomationExecutionMetadata struct {
13610	_ struct{} `type:"structure"`
13611
13612	// The execution ID.
13613	AutomationExecutionId *string `min:"36" type:"string"`
13614
13615	// The status of the execution. Valid values include: Running, Succeeded, Failed,
13616	// Timed out, or Cancelled.
13617	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
13618
13619	// Use this filter with DescribeAutomationExecutions. Specify either Local or
13620	// CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions
13621	// and accounts. For more information, see Executing Automations in Multiple
13622	// AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
13623	// in the AWS Systems Manager User Guide.
13624	AutomationType *string `type:"string" enum:"AutomationType"`
13625
13626	// The action of the step that is currently running.
13627	CurrentAction *string `type:"string"`
13628
13629	// The name of the step that is currently running.
13630	CurrentStepName *string `type:"string"`
13631
13632	// The name of the Automation document used during execution.
13633	DocumentName *string `type:"string"`
13634
13635	// The document version used during the execution.
13636	DocumentVersion *string `type:"string"`
13637
13638	// The IAM role ARN of the user who ran the Automation.
13639	ExecutedBy *string `type:"string"`
13640
13641	// The time the execution finished. This is not populated if the execution is
13642	// still in progress.
13643	ExecutionEndTime *time.Time `type:"timestamp"`
13644
13645	// The time the execution started.>
13646	ExecutionStartTime *time.Time `type:"timestamp"`
13647
13648	// The list of execution outputs as defined in the Automation document.
13649	FailureMessage *string `type:"string"`
13650
13651	// An Amazon S3 bucket where execution information is stored.
13652	LogFile *string `type:"string"`
13653
13654	// The MaxConcurrency value specified by the user when starting the Automation.
13655	MaxConcurrency *string `min:"1" type:"string"`
13656
13657	// The MaxErrors value specified by the user when starting the Automation.
13658	MaxErrors *string `min:"1" type:"string"`
13659
13660	// The Automation execution mode.
13661	Mode *string `type:"string" enum:"ExecutionMode"`
13662
13663	// The list of execution outputs as defined in the Automation document.
13664	Outputs map[string][]*string `min:"1" type:"map"`
13665
13666	// The ExecutionId of the parent Automation.
13667	ParentAutomationExecutionId *string `min:"36" type:"string"`
13668
13669	// A list of targets that resolved during the execution.
13670	ResolvedTargets *ResolvedTargets `type:"structure"`
13671
13672	// The list of execution outputs as defined in the Automation document.
13673	Target *string `type:"string"`
13674
13675	// The specified key-value mapping of document parameters to target resources.
13676	TargetMaps []map[string][]*string `type:"list"`
13677
13678	// The list of execution outputs as defined in the Automation document.
13679	TargetParameterName *string `min:"1" type:"string"`
13680
13681	// The targets defined by the user when starting the Automation.
13682	Targets []*Target `type:"list"`
13683}
13684
13685// String returns the string representation
13686func (s AutomationExecutionMetadata) String() string {
13687	return awsutil.Prettify(s)
13688}
13689
13690// GoString returns the string representation
13691func (s AutomationExecutionMetadata) GoString() string {
13692	return s.String()
13693}
13694
13695// SetAutomationExecutionId sets the AutomationExecutionId field's value.
13696func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata {
13697	s.AutomationExecutionId = &v
13698	return s
13699}
13700
13701// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
13702func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *AutomationExecutionMetadata {
13703	s.AutomationExecutionStatus = &v
13704	return s
13705}
13706
13707// SetAutomationType sets the AutomationType field's value.
13708func (s *AutomationExecutionMetadata) SetAutomationType(v string) *AutomationExecutionMetadata {
13709	s.AutomationType = &v
13710	return s
13711}
13712
13713// SetCurrentAction sets the CurrentAction field's value.
13714func (s *AutomationExecutionMetadata) SetCurrentAction(v string) *AutomationExecutionMetadata {
13715	s.CurrentAction = &v
13716	return s
13717}
13718
13719// SetCurrentStepName sets the CurrentStepName field's value.
13720func (s *AutomationExecutionMetadata) SetCurrentStepName(v string) *AutomationExecutionMetadata {
13721	s.CurrentStepName = &v
13722	return s
13723}
13724
13725// SetDocumentName sets the DocumentName field's value.
13726func (s *AutomationExecutionMetadata) SetDocumentName(v string) *AutomationExecutionMetadata {
13727	s.DocumentName = &v
13728	return s
13729}
13730
13731// SetDocumentVersion sets the DocumentVersion field's value.
13732func (s *AutomationExecutionMetadata) SetDocumentVersion(v string) *AutomationExecutionMetadata {
13733	s.DocumentVersion = &v
13734	return s
13735}
13736
13737// SetExecutedBy sets the ExecutedBy field's value.
13738func (s *AutomationExecutionMetadata) SetExecutedBy(v string) *AutomationExecutionMetadata {
13739	s.ExecutedBy = &v
13740	return s
13741}
13742
13743// SetExecutionEndTime sets the ExecutionEndTime field's value.
13744func (s *AutomationExecutionMetadata) SetExecutionEndTime(v time.Time) *AutomationExecutionMetadata {
13745	s.ExecutionEndTime = &v
13746	return s
13747}
13748
13749// SetExecutionStartTime sets the ExecutionStartTime field's value.
13750func (s *AutomationExecutionMetadata) SetExecutionStartTime(v time.Time) *AutomationExecutionMetadata {
13751	s.ExecutionStartTime = &v
13752	return s
13753}
13754
13755// SetFailureMessage sets the FailureMessage field's value.
13756func (s *AutomationExecutionMetadata) SetFailureMessage(v string) *AutomationExecutionMetadata {
13757	s.FailureMessage = &v
13758	return s
13759}
13760
13761// SetLogFile sets the LogFile field's value.
13762func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata {
13763	s.LogFile = &v
13764	return s
13765}
13766
13767// SetMaxConcurrency sets the MaxConcurrency field's value.
13768func (s *AutomationExecutionMetadata) SetMaxConcurrency(v string) *AutomationExecutionMetadata {
13769	s.MaxConcurrency = &v
13770	return s
13771}
13772
13773// SetMaxErrors sets the MaxErrors field's value.
13774func (s *AutomationExecutionMetadata) SetMaxErrors(v string) *AutomationExecutionMetadata {
13775	s.MaxErrors = &v
13776	return s
13777}
13778
13779// SetMode sets the Mode field's value.
13780func (s *AutomationExecutionMetadata) SetMode(v string) *AutomationExecutionMetadata {
13781	s.Mode = &v
13782	return s
13783}
13784
13785// SetOutputs sets the Outputs field's value.
13786func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata {
13787	s.Outputs = v
13788	return s
13789}
13790
13791// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
13792func (s *AutomationExecutionMetadata) SetParentAutomationExecutionId(v string) *AutomationExecutionMetadata {
13793	s.ParentAutomationExecutionId = &v
13794	return s
13795}
13796
13797// SetResolvedTargets sets the ResolvedTargets field's value.
13798func (s *AutomationExecutionMetadata) SetResolvedTargets(v *ResolvedTargets) *AutomationExecutionMetadata {
13799	s.ResolvedTargets = v
13800	return s
13801}
13802
13803// SetTarget sets the Target field's value.
13804func (s *AutomationExecutionMetadata) SetTarget(v string) *AutomationExecutionMetadata {
13805	s.Target = &v
13806	return s
13807}
13808
13809// SetTargetMaps sets the TargetMaps field's value.
13810func (s *AutomationExecutionMetadata) SetTargetMaps(v []map[string][]*string) *AutomationExecutionMetadata {
13811	s.TargetMaps = v
13812	return s
13813}
13814
13815// SetTargetParameterName sets the TargetParameterName field's value.
13816func (s *AutomationExecutionMetadata) SetTargetParameterName(v string) *AutomationExecutionMetadata {
13817	s.TargetParameterName = &v
13818	return s
13819}
13820
13821// SetTargets sets the Targets field's value.
13822func (s *AutomationExecutionMetadata) SetTargets(v []*Target) *AutomationExecutionMetadata {
13823	s.Targets = v
13824	return s
13825}
13826
13827type CancelCommandInput struct {
13828	_ struct{} `type:"structure"`
13829
13830	// The ID of the command you want to cancel.
13831	//
13832	// CommandId is a required field
13833	CommandId *string `min:"36" type:"string" required:"true"`
13834
13835	// (Optional) A list of instance IDs on which you want to cancel the command.
13836	// If not provided, the command is canceled on every instance on which it was
13837	// requested.
13838	InstanceIds []*string `type:"list"`
13839}
13840
13841// String returns the string representation
13842func (s CancelCommandInput) String() string {
13843	return awsutil.Prettify(s)
13844}
13845
13846// GoString returns the string representation
13847func (s CancelCommandInput) GoString() string {
13848	return s.String()
13849}
13850
13851// Validate inspects the fields of the type to determine if they are valid.
13852func (s *CancelCommandInput) Validate() error {
13853	invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"}
13854	if s.CommandId == nil {
13855		invalidParams.Add(request.NewErrParamRequired("CommandId"))
13856	}
13857	if s.CommandId != nil && len(*s.CommandId) < 36 {
13858		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
13859	}
13860
13861	if invalidParams.Len() > 0 {
13862		return invalidParams
13863	}
13864	return nil
13865}
13866
13867// SetCommandId sets the CommandId field's value.
13868func (s *CancelCommandInput) SetCommandId(v string) *CancelCommandInput {
13869	s.CommandId = &v
13870	return s
13871}
13872
13873// SetInstanceIds sets the InstanceIds field's value.
13874func (s *CancelCommandInput) SetInstanceIds(v []*string) *CancelCommandInput {
13875	s.InstanceIds = v
13876	return s
13877}
13878
13879// Whether or not the command was successfully canceled. There is no guarantee
13880// that a request can be canceled.
13881type CancelCommandOutput struct {
13882	_ struct{} `type:"structure"`
13883}
13884
13885// String returns the string representation
13886func (s CancelCommandOutput) String() string {
13887	return awsutil.Prettify(s)
13888}
13889
13890// GoString returns the string representation
13891func (s CancelCommandOutput) GoString() string {
13892	return s.String()
13893}
13894
13895type CancelMaintenanceWindowExecutionInput struct {
13896	_ struct{} `type:"structure"`
13897
13898	// The ID of the maintenance window execution to stop.
13899	//
13900	// WindowExecutionId is a required field
13901	WindowExecutionId *string `min:"36" type:"string" required:"true"`
13902}
13903
13904// String returns the string representation
13905func (s CancelMaintenanceWindowExecutionInput) String() string {
13906	return awsutil.Prettify(s)
13907}
13908
13909// GoString returns the string representation
13910func (s CancelMaintenanceWindowExecutionInput) GoString() string {
13911	return s.String()
13912}
13913
13914// Validate inspects the fields of the type to determine if they are valid.
13915func (s *CancelMaintenanceWindowExecutionInput) Validate() error {
13916	invalidParams := request.ErrInvalidParams{Context: "CancelMaintenanceWindowExecutionInput"}
13917	if s.WindowExecutionId == nil {
13918		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
13919	}
13920	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
13921		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
13922	}
13923
13924	if invalidParams.Len() > 0 {
13925		return invalidParams
13926	}
13927	return nil
13928}
13929
13930// SetWindowExecutionId sets the WindowExecutionId field's value.
13931func (s *CancelMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionInput {
13932	s.WindowExecutionId = &v
13933	return s
13934}
13935
13936type CancelMaintenanceWindowExecutionOutput struct {
13937	_ struct{} `type:"structure"`
13938
13939	// The ID of the maintenance window execution that has been stopped.
13940	WindowExecutionId *string `min:"36" type:"string"`
13941}
13942
13943// String returns the string representation
13944func (s CancelMaintenanceWindowExecutionOutput) String() string {
13945	return awsutil.Prettify(s)
13946}
13947
13948// GoString returns the string representation
13949func (s CancelMaintenanceWindowExecutionOutput) GoString() string {
13950	return s.String()
13951}
13952
13953// SetWindowExecutionId sets the WindowExecutionId field's value.
13954func (s *CancelMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionOutput {
13955	s.WindowExecutionId = &v
13956	return s
13957}
13958
13959// Configuration options for sending command output to CloudWatch Logs.
13960type CloudWatchOutputConfig struct {
13961	_ struct{} `type:"structure"`
13962
13963	// The name of the CloudWatch log group where you want to send command output.
13964	// If you don't specify a group name, Systems Manager automatically creates
13965	// a log group for you. The log group uses the following naming format: aws/ssm/SystemsManagerDocumentName.
13966	CloudWatchLogGroupName *string `min:"1" type:"string"`
13967
13968	// Enables Systems Manager to send command output to CloudWatch Logs.
13969	CloudWatchOutputEnabled *bool `type:"boolean"`
13970}
13971
13972// String returns the string representation
13973func (s CloudWatchOutputConfig) String() string {
13974	return awsutil.Prettify(s)
13975}
13976
13977// GoString returns the string representation
13978func (s CloudWatchOutputConfig) GoString() string {
13979	return s.String()
13980}
13981
13982// Validate inspects the fields of the type to determine if they are valid.
13983func (s *CloudWatchOutputConfig) Validate() error {
13984	invalidParams := request.ErrInvalidParams{Context: "CloudWatchOutputConfig"}
13985	if s.CloudWatchLogGroupName != nil && len(*s.CloudWatchLogGroupName) < 1 {
13986		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupName", 1))
13987	}
13988
13989	if invalidParams.Len() > 0 {
13990		return invalidParams
13991	}
13992	return nil
13993}
13994
13995// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
13996func (s *CloudWatchOutputConfig) SetCloudWatchLogGroupName(v string) *CloudWatchOutputConfig {
13997	s.CloudWatchLogGroupName = &v
13998	return s
13999}
14000
14001// SetCloudWatchOutputEnabled sets the CloudWatchOutputEnabled field's value.
14002func (s *CloudWatchOutputConfig) SetCloudWatchOutputEnabled(v bool) *CloudWatchOutputConfig {
14003	s.CloudWatchOutputEnabled = &v
14004	return s
14005}
14006
14007// Describes a command request.
14008type Command struct {
14009	_ struct{} `type:"structure"`
14010
14011	// CloudWatch Logs information where you want Systems Manager to send the command
14012	// output.
14013	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
14014
14015	// A unique identifier for this command.
14016	CommandId *string `min:"36" type:"string"`
14017
14018	// User-specified information about the command, such as a brief description
14019	// of what the command should do.
14020	Comment *string `type:"string"`
14021
14022	// The number of targets for which the command invocation reached a terminal
14023	// state. Terminal states include the following: Success, Failed, Execution
14024	// Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.
14025	CompletedCount *int64 `type:"integer"`
14026
14027	// The number of targets for which the status is Delivery Timed Out.
14028	DeliveryTimedOutCount *int64 `type:"integer"`
14029
14030	// The name of the document requested for execution.
14031	DocumentName *string `type:"string"`
14032
14033	// The SSM document version.
14034	DocumentVersion *string `type:"string"`
14035
14036	// The number of targets for which the status is Failed or Execution Timed Out.
14037	ErrorCount *int64 `type:"integer"`
14038
14039	// If this time is reached and the command has not already started running,
14040	// it will not run. Calculated based on the ExpiresAfter user input provided
14041	// as part of the SendCommand API.
14042	ExpiresAfter *time.Time `type:"timestamp"`
14043
14044	// The instance IDs against which this command was requested.
14045	InstanceIds []*string `type:"list"`
14046
14047	// The maximum number of instances that are allowed to run the command at the
14048	// same time. You can specify a number of instances, such as 10, or a percentage
14049	// of instances, such as 10%. The default value is 50. For more information
14050	// about how to use MaxConcurrency, see Running Commands Using Systems Manager
14051	// Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
14052	// in the AWS Systems Manager User Guide.
14053	MaxConcurrency *string `min:"1" type:"string"`
14054
14055	// The maximum number of errors allowed before the system stops sending the
14056	// command to additional targets. You can specify a number of errors, such as
14057	// 10, or a percentage or errors, such as 10%. The default value is 0. For more
14058	// information about how to use MaxErrors, see Running Commands Using Systems
14059	// Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
14060	// in the AWS Systems Manager User Guide.
14061	MaxErrors *string `min:"1" type:"string"`
14062
14063	// Configurations for sending notifications about command status changes.
14064	NotificationConfig *NotificationConfig `type:"structure"`
14065
14066	// The S3 bucket where the responses to the command executions should be stored.
14067	// This was requested when issuing the command.
14068	OutputS3BucketName *string `min:"3" type:"string"`
14069
14070	// The S3 directory path inside the bucket where the responses to the command
14071	// executions should be stored. This was requested when issuing the command.
14072	OutputS3KeyPrefix *string `type:"string"`
14073
14074	// (Deprecated) You can no longer specify this parameter. The system ignores
14075	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
14076	// region.
14077	OutputS3Region *string `min:"3" type:"string"`
14078
14079	// The parameter values to be inserted in the document when running the command.
14080	Parameters map[string][]*string `type:"map"`
14081
14082	// The date and time the command was requested.
14083	RequestedDateTime *time.Time `type:"timestamp"`
14084
14085	// The IAM service role that Run Command uses to act on your behalf when sending
14086	// notifications about command status changes.
14087	ServiceRole *string `type:"string"`
14088
14089	// The status of the command.
14090	Status *string `type:"string" enum:"CommandStatus"`
14091
14092	// A detailed status of the command execution. StatusDetails includes more information
14093	// than Status because it includes states resulting from error and concurrency
14094	// control parameters. StatusDetails can show different results than Status.
14095	// For more information about these statuses, see Understanding Command Statuses
14096	// (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
14097	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
14098	// values:
14099	//
14100	//    * Pending: The command has not been sent to any instances.
14101	//
14102	//    * In Progress: The command has been sent to at least one instance but
14103	//    has not reached a final state on all instances.
14104	//
14105	//    * Success: The command successfully ran on all invocations. This is a
14106	//    terminal state.
14107	//
14108	//    * Delivery Timed Out: The value of MaxErrors or more command invocations
14109	//    shows a status of Delivery Timed Out. This is a terminal state.
14110	//
14111	//    * Execution Timed Out: The value of MaxErrors or more command invocations
14112	//    shows a status of Execution Timed Out. This is a terminal state.
14113	//
14114	//    * Failed: The value of MaxErrors or more command invocations shows a status
14115	//    of Failed. This is a terminal state.
14116	//
14117	//    * Incomplete: The command was attempted on all instances and one or more
14118	//    invocations does not have a value of Success but not enough invocations
14119	//    failed for the status to be Failed. This is a terminal state.
14120	//
14121	//    * Canceled: The command was terminated before it was completed. This is
14122	//    a terminal state.
14123	//
14124	//    * Rate Exceeded: The number of instances targeted by the command exceeded
14125	//    the account limit for pending invocations. The system has canceled the
14126	//    command before running it on any instance. This is a terminal state.
14127	StatusDetails *string `type:"string"`
14128
14129	// The number of targets for the command.
14130	TargetCount *int64 `type:"integer"`
14131
14132	// An array of search criteria that targets instances using a Key,Value combination
14133	// that you specify. Targets is required if you don't provide one or more instance
14134	// IDs in the call.
14135	Targets []*Target `type:"list"`
14136}
14137
14138// String returns the string representation
14139func (s Command) String() string {
14140	return awsutil.Prettify(s)
14141}
14142
14143// GoString returns the string representation
14144func (s Command) GoString() string {
14145	return s.String()
14146}
14147
14148// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
14149func (s *Command) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *Command {
14150	s.CloudWatchOutputConfig = v
14151	return s
14152}
14153
14154// SetCommandId sets the CommandId field's value.
14155func (s *Command) SetCommandId(v string) *Command {
14156	s.CommandId = &v
14157	return s
14158}
14159
14160// SetComment sets the Comment field's value.
14161func (s *Command) SetComment(v string) *Command {
14162	s.Comment = &v
14163	return s
14164}
14165
14166// SetCompletedCount sets the CompletedCount field's value.
14167func (s *Command) SetCompletedCount(v int64) *Command {
14168	s.CompletedCount = &v
14169	return s
14170}
14171
14172// SetDeliveryTimedOutCount sets the DeliveryTimedOutCount field's value.
14173func (s *Command) SetDeliveryTimedOutCount(v int64) *Command {
14174	s.DeliveryTimedOutCount = &v
14175	return s
14176}
14177
14178// SetDocumentName sets the DocumentName field's value.
14179func (s *Command) SetDocumentName(v string) *Command {
14180	s.DocumentName = &v
14181	return s
14182}
14183
14184// SetDocumentVersion sets the DocumentVersion field's value.
14185func (s *Command) SetDocumentVersion(v string) *Command {
14186	s.DocumentVersion = &v
14187	return s
14188}
14189
14190// SetErrorCount sets the ErrorCount field's value.
14191func (s *Command) SetErrorCount(v int64) *Command {
14192	s.ErrorCount = &v
14193	return s
14194}
14195
14196// SetExpiresAfter sets the ExpiresAfter field's value.
14197func (s *Command) SetExpiresAfter(v time.Time) *Command {
14198	s.ExpiresAfter = &v
14199	return s
14200}
14201
14202// SetInstanceIds sets the InstanceIds field's value.
14203func (s *Command) SetInstanceIds(v []*string) *Command {
14204	s.InstanceIds = v
14205	return s
14206}
14207
14208// SetMaxConcurrency sets the MaxConcurrency field's value.
14209func (s *Command) SetMaxConcurrency(v string) *Command {
14210	s.MaxConcurrency = &v
14211	return s
14212}
14213
14214// SetMaxErrors sets the MaxErrors field's value.
14215func (s *Command) SetMaxErrors(v string) *Command {
14216	s.MaxErrors = &v
14217	return s
14218}
14219
14220// SetNotificationConfig sets the NotificationConfig field's value.
14221func (s *Command) SetNotificationConfig(v *NotificationConfig) *Command {
14222	s.NotificationConfig = v
14223	return s
14224}
14225
14226// SetOutputS3BucketName sets the OutputS3BucketName field's value.
14227func (s *Command) SetOutputS3BucketName(v string) *Command {
14228	s.OutputS3BucketName = &v
14229	return s
14230}
14231
14232// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
14233func (s *Command) SetOutputS3KeyPrefix(v string) *Command {
14234	s.OutputS3KeyPrefix = &v
14235	return s
14236}
14237
14238// SetOutputS3Region sets the OutputS3Region field's value.
14239func (s *Command) SetOutputS3Region(v string) *Command {
14240	s.OutputS3Region = &v
14241	return s
14242}
14243
14244// SetParameters sets the Parameters field's value.
14245func (s *Command) SetParameters(v map[string][]*string) *Command {
14246	s.Parameters = v
14247	return s
14248}
14249
14250// SetRequestedDateTime sets the RequestedDateTime field's value.
14251func (s *Command) SetRequestedDateTime(v time.Time) *Command {
14252	s.RequestedDateTime = &v
14253	return s
14254}
14255
14256// SetServiceRole sets the ServiceRole field's value.
14257func (s *Command) SetServiceRole(v string) *Command {
14258	s.ServiceRole = &v
14259	return s
14260}
14261
14262// SetStatus sets the Status field's value.
14263func (s *Command) SetStatus(v string) *Command {
14264	s.Status = &v
14265	return s
14266}
14267
14268// SetStatusDetails sets the StatusDetails field's value.
14269func (s *Command) SetStatusDetails(v string) *Command {
14270	s.StatusDetails = &v
14271	return s
14272}
14273
14274// SetTargetCount sets the TargetCount field's value.
14275func (s *Command) SetTargetCount(v int64) *Command {
14276	s.TargetCount = &v
14277	return s
14278}
14279
14280// SetTargets sets the Targets field's value.
14281func (s *Command) SetTargets(v []*Target) *Command {
14282	s.Targets = v
14283	return s
14284}
14285
14286// Describes a command filter.
14287type CommandFilter struct {
14288	_ struct{} `type:"structure"`
14289
14290	// The name of the filter.
14291	//
14292	// Key is a required field
14293	Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"`
14294
14295	// The filter value. Valid values for each filter key are as follows:
14296	//
14297	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
14298	//    specify 2018-07-07T00:00:00Z to see a list of command executions occurring
14299	//    July 7, 2018, and later.
14300	//
14301	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
14302	//    specify 2018-07-07T00:00:00Z to see a list of command executions from
14303	//    before July 7, 2018.
14304	//
14305	//    * Status: Specify a valid command status to see a list of all command
14306	//    executions with that status. Status values you can specify include: Pending
14307	//    InProgress Success Cancelled Failed TimedOut Cancelling
14308	//
14309	//    * DocumentName: Specify name of the SSM document for which you want to
14310	//    see command execution results. For example, specify AWS-RunPatchBaseline
14311	//    to see command executions that used this SSM document to perform security
14312	//    patching operations on instances.
14313	//
14314	//    * ExecutionStage: Specify one of the following values: Executing: Returns
14315	//    a list of command executions that are currently still running. Complete:
14316	//    Returns a list of command executions that have already completed.
14317	//
14318	// Value is a required field
14319	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
14320}
14321
14322// String returns the string representation
14323func (s CommandFilter) String() string {
14324	return awsutil.Prettify(s)
14325}
14326
14327// GoString returns the string representation
14328func (s CommandFilter) GoString() string {
14329	return s.String()
14330}
14331
14332// Validate inspects the fields of the type to determine if they are valid.
14333func (s *CommandFilter) Validate() error {
14334	invalidParams := request.ErrInvalidParams{Context: "CommandFilter"}
14335	if s.Key == nil {
14336		invalidParams.Add(request.NewErrParamRequired("Key"))
14337	}
14338	if s.Value == nil {
14339		invalidParams.Add(request.NewErrParamRequired("Value"))
14340	}
14341	if s.Value != nil && len(*s.Value) < 1 {
14342		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
14343	}
14344
14345	if invalidParams.Len() > 0 {
14346		return invalidParams
14347	}
14348	return nil
14349}
14350
14351// SetKey sets the Key field's value.
14352func (s *CommandFilter) SetKey(v string) *CommandFilter {
14353	s.Key = &v
14354	return s
14355}
14356
14357// SetValue sets the Value field's value.
14358func (s *CommandFilter) SetValue(v string) *CommandFilter {
14359	s.Value = &v
14360	return s
14361}
14362
14363// An invocation is copy of a command sent to a specific instance. A command
14364// can apply to one or more instances. A command invocation applies to one instance.
14365// For example, if a user runs SendCommand against three instances, then a command
14366// invocation is created for each requested instance ID. A command invocation
14367// returns status and detail information about a command you ran.
14368type CommandInvocation struct {
14369	_ struct{} `type:"structure"`
14370
14371	// CloudWatch Logs information where you want Systems Manager to send the command
14372	// output.
14373	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
14374
14375	// The command against which this invocation was requested.
14376	CommandId *string `min:"36" type:"string"`
14377
14378	CommandPlugins []*CommandPlugin `type:"list"`
14379
14380	// User-specified information about the command, such as a brief description
14381	// of what the command should do.
14382	Comment *string `type:"string"`
14383
14384	// The document name that was requested for execution.
14385	DocumentName *string `type:"string"`
14386
14387	// The SSM document version.
14388	DocumentVersion *string `type:"string"`
14389
14390	// The instance ID in which this invocation was requested.
14391	InstanceId *string `type:"string"`
14392
14393	// The name of the invocation target. For Amazon EC2 instances this is the value
14394	// for the aws:Name tag. For on-premises instances, this is the name of the
14395	// instance.
14396	InstanceName *string `type:"string"`
14397
14398	// Configurations for sending notifications about command status changes on
14399	// a per instance basis.
14400	NotificationConfig *NotificationConfig `type:"structure"`
14401
14402	// The time and date the request was sent to this instance.
14403	RequestedDateTime *time.Time `type:"timestamp"`
14404
14405	// The IAM service role that Run Command uses to act on your behalf when sending
14406	// notifications about command status changes on a per instance basis.
14407	ServiceRole *string `type:"string"`
14408
14409	// The URL to the plugin's StdErr file in Amazon S3, if the Amazon S3 bucket
14410	// was defined for the parent command. For an invocation, StandardErrorUrl is
14411	// populated if there is just one plugin defined for the command, and the Amazon
14412	// S3 bucket was defined for the command.
14413	StandardErrorUrl *string `type:"string"`
14414
14415	// The URL to the plugin's StdOut file in Amazon S3, if the Amazon S3 bucket
14416	// was defined for the parent command. For an invocation, StandardOutputUrl
14417	// is populated if there is just one plugin defined for the command, and the
14418	// Amazon S3 bucket was defined for the command.
14419	StandardOutputUrl *string `type:"string"`
14420
14421	// Whether or not the invocation succeeded, failed, or is pending.
14422	Status *string `type:"string" enum:"CommandInvocationStatus"`
14423
14424	// A detailed status of the command execution for each invocation (each instance
14425	// targeted by the command). StatusDetails includes more information than Status
14426	// because it includes states resulting from error and concurrency control parameters.
14427	// StatusDetails can show different results than Status. For more information
14428	// about these statuses, see Understanding Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
14429	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
14430	// values:
14431	//
14432	//    * Pending: The command has not been sent to the instance.
14433	//
14434	//    * In Progress: The command has been sent to the instance but has not reached
14435	//    a terminal state.
14436	//
14437	//    * Success: The execution of the command or plugin was successfully completed.
14438	//    This is a terminal state.
14439	//
14440	//    * Delivery Timed Out: The command was not delivered to the instance before
14441	//    the delivery timeout expired. Delivery timeouts do not count against the
14442	//    parent command's MaxErrors limit, but they do contribute to whether the
14443	//    parent command status is Success or Incomplete. This is a terminal state.
14444	//
14445	//    * Execution Timed Out: Command execution started on the instance, but
14446	//    the execution was not complete before the execution timeout expired. Execution
14447	//    timeouts count against the MaxErrors limit of the parent command. This
14448	//    is a terminal state.
14449	//
14450	//    * Failed: The command was not successful on the instance. For a plugin,
14451	//    this indicates that the result code was not zero. For a command invocation,
14452	//    this indicates that the result code for one or more plugins was not zero.
14453	//    Invocation failures count against the MaxErrors limit of the parent command.
14454	//    This is a terminal state.
14455	//
14456	//    * Canceled: The command was terminated before it was completed. This is
14457	//    a terminal state.
14458	//
14459	//    * Undeliverable: The command can't be delivered to the instance. The instance
14460	//    might not exist or might not be responding. Undeliverable invocations
14461	//    don't count against the parent command's MaxErrors limit and don't contribute
14462	//    to whether the parent command status is Success or Incomplete. This is
14463	//    a terminal state.
14464	//
14465	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
14466	//    command invocations were canceled by the system. This is a terminal state.
14467	StatusDetails *string `type:"string"`
14468
14469	// Gets the trace output sent by the agent.
14470	TraceOutput *string `type:"string"`
14471}
14472
14473// String returns the string representation
14474func (s CommandInvocation) String() string {
14475	return awsutil.Prettify(s)
14476}
14477
14478// GoString returns the string representation
14479func (s CommandInvocation) GoString() string {
14480	return s.String()
14481}
14482
14483// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
14484func (s *CommandInvocation) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *CommandInvocation {
14485	s.CloudWatchOutputConfig = v
14486	return s
14487}
14488
14489// SetCommandId sets the CommandId field's value.
14490func (s *CommandInvocation) SetCommandId(v string) *CommandInvocation {
14491	s.CommandId = &v
14492	return s
14493}
14494
14495// SetCommandPlugins sets the CommandPlugins field's value.
14496func (s *CommandInvocation) SetCommandPlugins(v []*CommandPlugin) *CommandInvocation {
14497	s.CommandPlugins = v
14498	return s
14499}
14500
14501// SetComment sets the Comment field's value.
14502func (s *CommandInvocation) SetComment(v string) *CommandInvocation {
14503	s.Comment = &v
14504	return s
14505}
14506
14507// SetDocumentName sets the DocumentName field's value.
14508func (s *CommandInvocation) SetDocumentName(v string) *CommandInvocation {
14509	s.DocumentName = &v
14510	return s
14511}
14512
14513// SetDocumentVersion sets the DocumentVersion field's value.
14514func (s *CommandInvocation) SetDocumentVersion(v string) *CommandInvocation {
14515	s.DocumentVersion = &v
14516	return s
14517}
14518
14519// SetInstanceId sets the InstanceId field's value.
14520func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation {
14521	s.InstanceId = &v
14522	return s
14523}
14524
14525// SetInstanceName sets the InstanceName field's value.
14526func (s *CommandInvocation) SetInstanceName(v string) *CommandInvocation {
14527	s.InstanceName = &v
14528	return s
14529}
14530
14531// SetNotificationConfig sets the NotificationConfig field's value.
14532func (s *CommandInvocation) SetNotificationConfig(v *NotificationConfig) *CommandInvocation {
14533	s.NotificationConfig = v
14534	return s
14535}
14536
14537// SetRequestedDateTime sets the RequestedDateTime field's value.
14538func (s *CommandInvocation) SetRequestedDateTime(v time.Time) *CommandInvocation {
14539	s.RequestedDateTime = &v
14540	return s
14541}
14542
14543// SetServiceRole sets the ServiceRole field's value.
14544func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation {
14545	s.ServiceRole = &v
14546	return s
14547}
14548
14549// SetStandardErrorUrl sets the StandardErrorUrl field's value.
14550func (s *CommandInvocation) SetStandardErrorUrl(v string) *CommandInvocation {
14551	s.StandardErrorUrl = &v
14552	return s
14553}
14554
14555// SetStandardOutputUrl sets the StandardOutputUrl field's value.
14556func (s *CommandInvocation) SetStandardOutputUrl(v string) *CommandInvocation {
14557	s.StandardOutputUrl = &v
14558	return s
14559}
14560
14561// SetStatus sets the Status field's value.
14562func (s *CommandInvocation) SetStatus(v string) *CommandInvocation {
14563	s.Status = &v
14564	return s
14565}
14566
14567// SetStatusDetails sets the StatusDetails field's value.
14568func (s *CommandInvocation) SetStatusDetails(v string) *CommandInvocation {
14569	s.StatusDetails = &v
14570	return s
14571}
14572
14573// SetTraceOutput sets the TraceOutput field's value.
14574func (s *CommandInvocation) SetTraceOutput(v string) *CommandInvocation {
14575	s.TraceOutput = &v
14576	return s
14577}
14578
14579// Describes plugin details.
14580type CommandPlugin struct {
14581	_ struct{} `type:"structure"`
14582
14583	// The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin,
14584	// aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch,
14585	// aws:runShellScript, or aws:updateSSMAgent.
14586	Name *string `min:"4" type:"string"`
14587
14588	// Output of the plugin execution.
14589	Output *string `type:"string"`
14590
14591	// The S3 bucket where the responses to the command executions should be stored.
14592	// This was requested when issuing the command. For example, in the following
14593	// response:
14594	//
14595	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
14596	//
14597	// test_folder is the name of the Amazon S3 bucket;
14598	//
14599	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
14600	//
14601	// i-1234567876543 is the instance ID;
14602	//
14603	// awsrunShellScript is the name of the plugin.
14604	OutputS3BucketName *string `min:"3" type:"string"`
14605
14606	// The S3 directory path inside the bucket where the responses to the command
14607	// executions should be stored. This was requested when issuing the command.
14608	// For example, in the following response:
14609	//
14610	// test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript
14611	//
14612	// test_folder is the name of the Amazon S3 bucket;
14613	//
14614	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
14615	//
14616	// i-1234567876543 is the instance ID;
14617	//
14618	// awsrunShellScript is the name of the plugin.
14619	OutputS3KeyPrefix *string `type:"string"`
14620
14621	// (Deprecated) You can no longer specify this parameter. The system ignores
14622	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
14623	// region.
14624	OutputS3Region *string `min:"3" type:"string"`
14625
14626	// A numeric response code generated after running the plugin.
14627	ResponseCode *int64 `type:"integer"`
14628
14629	// The time the plugin stopped running. Could stop prematurely if, for example,
14630	// a cancel command was sent.
14631	ResponseFinishDateTime *time.Time `type:"timestamp"`
14632
14633	// The time the plugin started running.
14634	ResponseStartDateTime *time.Time `type:"timestamp"`
14635
14636	// The URL for the complete text written by the plugin to stderr. If execution
14637	// is not yet complete, then this string is empty.
14638	StandardErrorUrl *string `type:"string"`
14639
14640	// The URL for the complete text written by the plugin to stdout in Amazon S3.
14641	// If the Amazon S3 bucket for the command was not specified, then this string
14642	// is empty.
14643	StandardOutputUrl *string `type:"string"`
14644
14645	// The status of this plugin. You can run a document with multiple plugins.
14646	Status *string `type:"string" enum:"CommandPluginStatus"`
14647
14648	// A detailed status of the plugin execution. StatusDetails includes more information
14649	// than Status because it includes states resulting from error and concurrency
14650	// control parameters. StatusDetails can show different results than Status.
14651	// For more information about these statuses, see Understanding Command Statuses
14652	// (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
14653	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
14654	// values:
14655	//
14656	//    * Pending: The command has not been sent to the instance.
14657	//
14658	//    * In Progress: The command has been sent to the instance but has not reached
14659	//    a terminal state.
14660	//
14661	//    * Success: The execution of the command or plugin was successfully completed.
14662	//    This is a terminal state.
14663	//
14664	//    * Delivery Timed Out: The command was not delivered to the instance before
14665	//    the delivery timeout expired. Delivery timeouts do not count against the
14666	//    parent command's MaxErrors limit, but they do contribute to whether the
14667	//    parent command status is Success or Incomplete. This is a terminal state.
14668	//
14669	//    * Execution Timed Out: Command execution started on the instance, but
14670	//    the execution was not complete before the execution timeout expired. Execution
14671	//    timeouts count against the MaxErrors limit of the parent command. This
14672	//    is a terminal state.
14673	//
14674	//    * Failed: The command was not successful on the instance. For a plugin,
14675	//    this indicates that the result code was not zero. For a command invocation,
14676	//    this indicates that the result code for one or more plugins was not zero.
14677	//    Invocation failures count against the MaxErrors limit of the parent command.
14678	//    This is a terminal state.
14679	//
14680	//    * Canceled: The command was terminated before it was completed. This is
14681	//    a terminal state.
14682	//
14683	//    * Undeliverable: The command can't be delivered to the instance. The instance
14684	//    might not exist, or it might not be responding. Undeliverable invocations
14685	//    don't count against the parent command's MaxErrors limit, and they don't
14686	//    contribute to whether the parent command status is Success or Incomplete.
14687	//    This is a terminal state.
14688	//
14689	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
14690	//    command invocations were canceled by the system. This is a terminal state.
14691	StatusDetails *string `type:"string"`
14692}
14693
14694// String returns the string representation
14695func (s CommandPlugin) String() string {
14696	return awsutil.Prettify(s)
14697}
14698
14699// GoString returns the string representation
14700func (s CommandPlugin) GoString() string {
14701	return s.String()
14702}
14703
14704// SetName sets the Name field's value.
14705func (s *CommandPlugin) SetName(v string) *CommandPlugin {
14706	s.Name = &v
14707	return s
14708}
14709
14710// SetOutput sets the Output field's value.
14711func (s *CommandPlugin) SetOutput(v string) *CommandPlugin {
14712	s.Output = &v
14713	return s
14714}
14715
14716// SetOutputS3BucketName sets the OutputS3BucketName field's value.
14717func (s *CommandPlugin) SetOutputS3BucketName(v string) *CommandPlugin {
14718	s.OutputS3BucketName = &v
14719	return s
14720}
14721
14722// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
14723func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin {
14724	s.OutputS3KeyPrefix = &v
14725	return s
14726}
14727
14728// SetOutputS3Region sets the OutputS3Region field's value.
14729func (s *CommandPlugin) SetOutputS3Region(v string) *CommandPlugin {
14730	s.OutputS3Region = &v
14731	return s
14732}
14733
14734// SetResponseCode sets the ResponseCode field's value.
14735func (s *CommandPlugin) SetResponseCode(v int64) *CommandPlugin {
14736	s.ResponseCode = &v
14737	return s
14738}
14739
14740// SetResponseFinishDateTime sets the ResponseFinishDateTime field's value.
14741func (s *CommandPlugin) SetResponseFinishDateTime(v time.Time) *CommandPlugin {
14742	s.ResponseFinishDateTime = &v
14743	return s
14744}
14745
14746// SetResponseStartDateTime sets the ResponseStartDateTime field's value.
14747func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin {
14748	s.ResponseStartDateTime = &v
14749	return s
14750}
14751
14752// SetStandardErrorUrl sets the StandardErrorUrl field's value.
14753func (s *CommandPlugin) SetStandardErrorUrl(v string) *CommandPlugin {
14754	s.StandardErrorUrl = &v
14755	return s
14756}
14757
14758// SetStandardOutputUrl sets the StandardOutputUrl field's value.
14759func (s *CommandPlugin) SetStandardOutputUrl(v string) *CommandPlugin {
14760	s.StandardOutputUrl = &v
14761	return s
14762}
14763
14764// SetStatus sets the Status field's value.
14765func (s *CommandPlugin) SetStatus(v string) *CommandPlugin {
14766	s.Status = &v
14767	return s
14768}
14769
14770// SetStatusDetails sets the StatusDetails field's value.
14771func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin {
14772	s.StatusDetails = &v
14773	return s
14774}
14775
14776// A summary of the call execution that includes an execution ID, the type of
14777// execution (for example, Command), and the date/time of the execution using
14778// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
14779type ComplianceExecutionSummary struct {
14780	_ struct{} `type:"structure"`
14781
14782	// An ID created by the system when PutComplianceItems was called. For example,
14783	// CommandID is a valid execution ID. You can use this ID in subsequent calls.
14784	ExecutionId *string `type:"string"`
14785
14786	// The time the execution ran as a datetime object that is saved in the following
14787	// format: yyyy-MM-dd'T'HH:mm:ss'Z'.
14788	//
14789	// ExecutionTime is a required field
14790	ExecutionTime *time.Time `type:"timestamp" required:"true"`
14791
14792	// The type of execution. For example, Command is a valid execution type.
14793	ExecutionType *string `type:"string"`
14794}
14795
14796// String returns the string representation
14797func (s ComplianceExecutionSummary) String() string {
14798	return awsutil.Prettify(s)
14799}
14800
14801// GoString returns the string representation
14802func (s ComplianceExecutionSummary) GoString() string {
14803	return s.String()
14804}
14805
14806// Validate inspects the fields of the type to determine if they are valid.
14807func (s *ComplianceExecutionSummary) Validate() error {
14808	invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"}
14809	if s.ExecutionTime == nil {
14810		invalidParams.Add(request.NewErrParamRequired("ExecutionTime"))
14811	}
14812
14813	if invalidParams.Len() > 0 {
14814		return invalidParams
14815	}
14816	return nil
14817}
14818
14819// SetExecutionId sets the ExecutionId field's value.
14820func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary {
14821	s.ExecutionId = &v
14822	return s
14823}
14824
14825// SetExecutionTime sets the ExecutionTime field's value.
14826func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary {
14827	s.ExecutionTime = &v
14828	return s
14829}
14830
14831// SetExecutionType sets the ExecutionType field's value.
14832func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary {
14833	s.ExecutionType = &v
14834	return s
14835}
14836
14837// Information about the compliance as defined by the resource type. For example,
14838// for a patch resource type, Items includes information about the PatchSeverity,
14839// Classification, etc.
14840type ComplianceItem struct {
14841	_ struct{} `type:"structure"`
14842
14843	// The compliance type. For example, Association (for a State Manager association),
14844	// Patch, or Custom:string are all valid compliance types.
14845	ComplianceType *string `min:"1" type:"string"`
14846
14847	// A "Key": "Value" tag combination for the compliance item.
14848	Details map[string]*string `type:"map"`
14849
14850	// A summary for the compliance item. The summary includes an execution ID,
14851	// the execution type (for example, command), and the execution time.
14852	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
14853
14854	// An ID for the compliance item. For example, if the compliance item is a Windows
14855	// patch, the ID could be the number of the KB article; for example: KB4010320.
14856	Id *string `min:"1" type:"string"`
14857
14858	// An ID for the resource. For a managed instance, this is the instance ID.
14859	ResourceId *string `min:"1" type:"string"`
14860
14861	// The type of resource. ManagedInstance is currently the only supported resource
14862	// type.
14863	ResourceType *string `min:"1" type:"string"`
14864
14865	// The severity of the compliance status. Severity can be one of the following:
14866	// Critical, High, Medium, Low, Informational, Unspecified.
14867	Severity *string `type:"string" enum:"ComplianceSeverity"`
14868
14869	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
14870	Status *string `type:"string" enum:"ComplianceStatus"`
14871
14872	// A title for the compliance item. For example, if the compliance item is a
14873	// Windows patch, the title could be the title of the KB article for the patch;
14874	// for example: Security Update for Active Directory Federation Services.
14875	Title *string `type:"string"`
14876}
14877
14878// String returns the string representation
14879func (s ComplianceItem) String() string {
14880	return awsutil.Prettify(s)
14881}
14882
14883// GoString returns the string representation
14884func (s ComplianceItem) GoString() string {
14885	return s.String()
14886}
14887
14888// SetComplianceType sets the ComplianceType field's value.
14889func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem {
14890	s.ComplianceType = &v
14891	return s
14892}
14893
14894// SetDetails sets the Details field's value.
14895func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem {
14896	s.Details = v
14897	return s
14898}
14899
14900// SetExecutionSummary sets the ExecutionSummary field's value.
14901func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem {
14902	s.ExecutionSummary = v
14903	return s
14904}
14905
14906// SetId sets the Id field's value.
14907func (s *ComplianceItem) SetId(v string) *ComplianceItem {
14908	s.Id = &v
14909	return s
14910}
14911
14912// SetResourceId sets the ResourceId field's value.
14913func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem {
14914	s.ResourceId = &v
14915	return s
14916}
14917
14918// SetResourceType sets the ResourceType field's value.
14919func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem {
14920	s.ResourceType = &v
14921	return s
14922}
14923
14924// SetSeverity sets the Severity field's value.
14925func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem {
14926	s.Severity = &v
14927	return s
14928}
14929
14930// SetStatus sets the Status field's value.
14931func (s *ComplianceItem) SetStatus(v string) *ComplianceItem {
14932	s.Status = &v
14933	return s
14934}
14935
14936// SetTitle sets the Title field's value.
14937func (s *ComplianceItem) SetTitle(v string) *ComplianceItem {
14938	s.Title = &v
14939	return s
14940}
14941
14942// Information about a compliance item.
14943type ComplianceItemEntry struct {
14944	_ struct{} `type:"structure"`
14945
14946	// A "Key": "Value" tag combination for the compliance item.
14947	Details map[string]*string `type:"map"`
14948
14949	// The compliance item ID. For example, if the compliance item is a Windows
14950	// patch, the ID could be the number of the KB article.
14951	Id *string `min:"1" type:"string"`
14952
14953	// The severity of the compliance status. Severity can be one of the following:
14954	// Critical, High, Medium, Low, Informational, Unspecified.
14955	//
14956	// Severity is a required field
14957	Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"`
14958
14959	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
14960	//
14961	// Status is a required field
14962	Status *string `type:"string" required:"true" enum:"ComplianceStatus"`
14963
14964	// The title of the compliance item. For example, if the compliance item is
14965	// a Windows patch, the title could be the title of the KB article for the patch;
14966	// for example: Security Update for Active Directory Federation Services.
14967	Title *string `type:"string"`
14968}
14969
14970// String returns the string representation
14971func (s ComplianceItemEntry) String() string {
14972	return awsutil.Prettify(s)
14973}
14974
14975// GoString returns the string representation
14976func (s ComplianceItemEntry) GoString() string {
14977	return s.String()
14978}
14979
14980// Validate inspects the fields of the type to determine if they are valid.
14981func (s *ComplianceItemEntry) Validate() error {
14982	invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"}
14983	if s.Id != nil && len(*s.Id) < 1 {
14984		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14985	}
14986	if s.Severity == nil {
14987		invalidParams.Add(request.NewErrParamRequired("Severity"))
14988	}
14989	if s.Status == nil {
14990		invalidParams.Add(request.NewErrParamRequired("Status"))
14991	}
14992
14993	if invalidParams.Len() > 0 {
14994		return invalidParams
14995	}
14996	return nil
14997}
14998
14999// SetDetails sets the Details field's value.
15000func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry {
15001	s.Details = v
15002	return s
15003}
15004
15005// SetId sets the Id field's value.
15006func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry {
15007	s.Id = &v
15008	return s
15009}
15010
15011// SetSeverity sets the Severity field's value.
15012func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry {
15013	s.Severity = &v
15014	return s
15015}
15016
15017// SetStatus sets the Status field's value.
15018func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry {
15019	s.Status = &v
15020	return s
15021}
15022
15023// SetTitle sets the Title field's value.
15024func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry {
15025	s.Title = &v
15026	return s
15027}
15028
15029// One or more filters. Use a filter to return a more specific list of results.
15030type ComplianceStringFilter struct {
15031	_ struct{} `type:"structure"`
15032
15033	// The name of the filter.
15034	Key *string `min:"1" type:"string"`
15035
15036	// The type of comparison that should be performed for the value: Equal, NotEqual,
15037	// BeginWith, LessThan, or GreaterThan.
15038	Type *string `type:"string" enum:"ComplianceQueryOperatorType"`
15039
15040	// The value for which to search.
15041	Values []*string `min:"1" type:"list"`
15042}
15043
15044// String returns the string representation
15045func (s ComplianceStringFilter) String() string {
15046	return awsutil.Prettify(s)
15047}
15048
15049// GoString returns the string representation
15050func (s ComplianceStringFilter) GoString() string {
15051	return s.String()
15052}
15053
15054// Validate inspects the fields of the type to determine if they are valid.
15055func (s *ComplianceStringFilter) Validate() error {
15056	invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"}
15057	if s.Key != nil && len(*s.Key) < 1 {
15058		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
15059	}
15060	if s.Values != nil && len(s.Values) < 1 {
15061		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
15062	}
15063
15064	if invalidParams.Len() > 0 {
15065		return invalidParams
15066	}
15067	return nil
15068}
15069
15070// SetKey sets the Key field's value.
15071func (s *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter {
15072	s.Key = &v
15073	return s
15074}
15075
15076// SetType sets the Type field's value.
15077func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter {
15078	s.Type = &v
15079	return s
15080}
15081
15082// SetValues sets the Values field's value.
15083func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter {
15084	s.Values = v
15085	return s
15086}
15087
15088// A summary of compliance information by compliance type.
15089type ComplianceSummaryItem struct {
15090	_ struct{} `type:"structure"`
15091
15092	// The type of compliance item. For example, the compliance type can be Association,
15093	// Patch, or Custom:string.
15094	ComplianceType *string `min:"1" type:"string"`
15095
15096	// A list of COMPLIANT items for the specified compliance type.
15097	CompliantSummary *CompliantSummary `type:"structure"`
15098
15099	// A list of NON_COMPLIANT items for the specified compliance type.
15100	NonCompliantSummary *NonCompliantSummary `type:"structure"`
15101}
15102
15103// String returns the string representation
15104func (s ComplianceSummaryItem) String() string {
15105	return awsutil.Prettify(s)
15106}
15107
15108// GoString returns the string representation
15109func (s ComplianceSummaryItem) GoString() string {
15110	return s.String()
15111}
15112
15113// SetComplianceType sets the ComplianceType field's value.
15114func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem {
15115	s.ComplianceType = &v
15116	return s
15117}
15118
15119// SetCompliantSummary sets the CompliantSummary field's value.
15120func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem {
15121	s.CompliantSummary = v
15122	return s
15123}
15124
15125// SetNonCompliantSummary sets the NonCompliantSummary field's value.
15126func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem {
15127	s.NonCompliantSummary = v
15128	return s
15129}
15130
15131// A summary of resources that are compliant. The summary is organized according
15132// to the resource count for each compliance type.
15133type CompliantSummary struct {
15134	_ struct{} `type:"structure"`
15135
15136	// The total number of resources that are compliant.
15137	CompliantCount *int64 `type:"integer"`
15138
15139	// A summary of the compliance severity by compliance type.
15140	SeveritySummary *SeveritySummary `type:"structure"`
15141}
15142
15143// String returns the string representation
15144func (s CompliantSummary) String() string {
15145	return awsutil.Prettify(s)
15146}
15147
15148// GoString returns the string representation
15149func (s CompliantSummary) GoString() string {
15150	return s.String()
15151}
15152
15153// SetCompliantCount sets the CompliantCount field's value.
15154func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary {
15155	s.CompliantCount = &v
15156	return s
15157}
15158
15159// SetSeveritySummary sets the SeveritySummary field's value.
15160func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary {
15161	s.SeveritySummary = v
15162	return s
15163}
15164
15165type CreateActivationInput struct {
15166	_ struct{} `type:"structure"`
15167
15168	// The name of the registered, managed instance as it will appear in the Amazon
15169	// EC2 console or when you use the AWS command line tools to list EC2 resources.
15170	//
15171	// Do not enter personally identifiable information in this field.
15172	DefaultInstanceName *string `type:"string"`
15173
15174	// A user-defined description of the resource that you want to register with
15175	// Amazon EC2.
15176	//
15177	// Do not enter personally identifiable information in this field.
15178	Description *string `type:"string"`
15179
15180	// The date by which this activation request should expire. The default value
15181	// is 24 hours.
15182	ExpirationDate *time.Time `type:"timestamp"`
15183
15184	// The Amazon Identity and Access Management (IAM) role that you want to assign
15185	// to the managed instance.
15186	//
15187	// IamRole is a required field
15188	IamRole *string `type:"string" required:"true"`
15189
15190	// Specify the maximum number of managed instances you want to register. The
15191	// default value is 1 instance.
15192	RegistrationLimit *int64 `min:"1" type:"integer"`
15193
15194	// Optional metadata that you assign to a resource. Tags enable you to categorize
15195	// a resource in different ways, such as by purpose, owner, or environment.
15196	// For example, you might want to tag an activation to identify which servers
15197	// or virtual machines (VMs) in your on-premises environment you intend to activate.
15198	// In this case, you could specify the following key name/value pairs:
15199	//
15200	//    * Key=OS,Value=Windows
15201	//
15202	//    * Key=Environment,Value=Production
15203	//
15204	// When you install SSM Agent on your on-premises servers and VMs, you specify
15205	// an activation ID and code. When you specify the activation ID and code, tags
15206	// assigned to the activation are automatically applied to the on-premises servers
15207	// or VMs.
15208	//
15209	// You can't add tags to or delete tags from an existing activation. You can
15210	// tag your on-premises servers and VMs after they connect to Systems Manager
15211	// for the first time and are assigned a managed instance ID. This means they
15212	// are listed in the AWS Systems Manager console with an ID that is prefixed
15213	// with "mi-". For information about how to add tags to your managed instances,
15214	// see AddTagsToResource. For information about how to remove tags from your
15215	// managed instances, see RemoveTagsFromResource.
15216	Tags []*Tag `type:"list"`
15217}
15218
15219// String returns the string representation
15220func (s CreateActivationInput) String() string {
15221	return awsutil.Prettify(s)
15222}
15223
15224// GoString returns the string representation
15225func (s CreateActivationInput) GoString() string {
15226	return s.String()
15227}
15228
15229// Validate inspects the fields of the type to determine if they are valid.
15230func (s *CreateActivationInput) Validate() error {
15231	invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"}
15232	if s.IamRole == nil {
15233		invalidParams.Add(request.NewErrParamRequired("IamRole"))
15234	}
15235	if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 {
15236		invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1))
15237	}
15238	if s.Tags != nil {
15239		for i, v := range s.Tags {
15240			if v == nil {
15241				continue
15242			}
15243			if err := v.Validate(); err != nil {
15244				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15245			}
15246		}
15247	}
15248
15249	if invalidParams.Len() > 0 {
15250		return invalidParams
15251	}
15252	return nil
15253}
15254
15255// SetDefaultInstanceName sets the DefaultInstanceName field's value.
15256func (s *CreateActivationInput) SetDefaultInstanceName(v string) *CreateActivationInput {
15257	s.DefaultInstanceName = &v
15258	return s
15259}
15260
15261// SetDescription sets the Description field's value.
15262func (s *CreateActivationInput) SetDescription(v string) *CreateActivationInput {
15263	s.Description = &v
15264	return s
15265}
15266
15267// SetExpirationDate sets the ExpirationDate field's value.
15268func (s *CreateActivationInput) SetExpirationDate(v time.Time) *CreateActivationInput {
15269	s.ExpirationDate = &v
15270	return s
15271}
15272
15273// SetIamRole sets the IamRole field's value.
15274func (s *CreateActivationInput) SetIamRole(v string) *CreateActivationInput {
15275	s.IamRole = &v
15276	return s
15277}
15278
15279// SetRegistrationLimit sets the RegistrationLimit field's value.
15280func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationInput {
15281	s.RegistrationLimit = &v
15282	return s
15283}
15284
15285// SetTags sets the Tags field's value.
15286func (s *CreateActivationInput) SetTags(v []*Tag) *CreateActivationInput {
15287	s.Tags = v
15288	return s
15289}
15290
15291type CreateActivationOutput struct {
15292	_ struct{} `type:"structure"`
15293
15294	// The code the system generates when it processes the activation. The activation
15295	// code functions like a password to validate the activation ID.
15296	ActivationCode *string `min:"20" type:"string"`
15297
15298	// The ID number generated by the system when it processed the activation. The
15299	// activation ID functions like a user name.
15300	ActivationId *string `type:"string"`
15301}
15302
15303// String returns the string representation
15304func (s CreateActivationOutput) String() string {
15305	return awsutil.Prettify(s)
15306}
15307
15308// GoString returns the string representation
15309func (s CreateActivationOutput) GoString() string {
15310	return s.String()
15311}
15312
15313// SetActivationCode sets the ActivationCode field's value.
15314func (s *CreateActivationOutput) SetActivationCode(v string) *CreateActivationOutput {
15315	s.ActivationCode = &v
15316	return s
15317}
15318
15319// SetActivationId sets the ActivationId field's value.
15320func (s *CreateActivationOutput) SetActivationId(v string) *CreateActivationOutput {
15321	s.ActivationId = &v
15322	return s
15323}
15324
15325type CreateAssociationBatchInput struct {
15326	_ struct{} `type:"structure"`
15327
15328	// One or more associations.
15329	//
15330	// Entries is a required field
15331	Entries []*CreateAssociationBatchRequestEntry `min:"1" type:"list" required:"true"`
15332}
15333
15334// String returns the string representation
15335func (s CreateAssociationBatchInput) String() string {
15336	return awsutil.Prettify(s)
15337}
15338
15339// GoString returns the string representation
15340func (s CreateAssociationBatchInput) GoString() string {
15341	return s.String()
15342}
15343
15344// Validate inspects the fields of the type to determine if they are valid.
15345func (s *CreateAssociationBatchInput) Validate() error {
15346	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"}
15347	if s.Entries == nil {
15348		invalidParams.Add(request.NewErrParamRequired("Entries"))
15349	}
15350	if s.Entries != nil && len(s.Entries) < 1 {
15351		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
15352	}
15353	if s.Entries != nil {
15354		for i, v := range s.Entries {
15355			if v == nil {
15356				continue
15357			}
15358			if err := v.Validate(); err != nil {
15359				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
15360			}
15361		}
15362	}
15363
15364	if invalidParams.Len() > 0 {
15365		return invalidParams
15366	}
15367	return nil
15368}
15369
15370// SetEntries sets the Entries field's value.
15371func (s *CreateAssociationBatchInput) SetEntries(v []*CreateAssociationBatchRequestEntry) *CreateAssociationBatchInput {
15372	s.Entries = v
15373	return s
15374}
15375
15376type CreateAssociationBatchOutput struct {
15377	_ struct{} `type:"structure"`
15378
15379	// Information about the associations that failed.
15380	Failed []*FailedCreateAssociation `type:"list"`
15381
15382	// Information about the associations that succeeded.
15383	Successful []*AssociationDescription `type:"list"`
15384}
15385
15386// String returns the string representation
15387func (s CreateAssociationBatchOutput) String() string {
15388	return awsutil.Prettify(s)
15389}
15390
15391// GoString returns the string representation
15392func (s CreateAssociationBatchOutput) GoString() string {
15393	return s.String()
15394}
15395
15396// SetFailed sets the Failed field's value.
15397func (s *CreateAssociationBatchOutput) SetFailed(v []*FailedCreateAssociation) *CreateAssociationBatchOutput {
15398	s.Failed = v
15399	return s
15400}
15401
15402// SetSuccessful sets the Successful field's value.
15403func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription) *CreateAssociationBatchOutput {
15404	s.Successful = v
15405	return s
15406}
15407
15408// Describes the association of a Systems Manager SSM document and an instance.
15409type CreateAssociationBatchRequestEntry struct {
15410	_ struct{} `type:"structure"`
15411
15412	// Specify a descriptive name for the association.
15413	AssociationName *string `type:"string"`
15414
15415	// Specify the target for the association. This target is required for associations
15416	// that use an Automation document and target resources by using rate controls.
15417	AutomationTargetParameterName *string `min:"1" type:"string"`
15418
15419	// The severity level to assign to the association.
15420	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
15421
15422	// The document version.
15423	DocumentVersion *string `type:"string"`
15424
15425	// The ID of the instance.
15426	InstanceId *string `type:"string"`
15427
15428	// The maximum number of targets allowed to run the association at the same
15429	// time. You can specify a number, for example 10, or a percentage of the target
15430	// set, for example 10%. The default value is 100%, which means all targets
15431	// run the association at the same time.
15432	//
15433	// If a new instance starts and attempts to run an association while Systems
15434	// Manager is running MaxConcurrency associations, the association is allowed
15435	// to run. During the next association interval, the new instance will process
15436	// its association within the limit specified for MaxConcurrency.
15437	MaxConcurrency *string `min:"1" type:"string"`
15438
15439	// The number of errors that are allowed before the system stops sending requests
15440	// to run the association on additional targets. You can specify either an absolute
15441	// number of errors, for example 10, or a percentage of the target set, for
15442	// example 10%. If you specify 3, for example, the system stops sending requests
15443	// when the fourth error is received. If you specify 0, then the system stops
15444	// sending requests after the first error is returned. If you run an association
15445	// on 50 instances and set MaxError to 10%, then the system stops sending the
15446	// request when the sixth error is received.
15447	//
15448	// Executions that are already running an association when MaxErrors is reached
15449	// are allowed to complete, but some of these executions may fail as well. If
15450	// you need to ensure that there won't be more than max-errors failed executions,
15451	// set MaxConcurrency to 1 so that executions proceed one at a time.
15452	MaxErrors *string `min:"1" type:"string"`
15453
15454	// The name of the SSM document that contains the configuration information
15455	// for the instance. You can specify Command or Automation documents.
15456	//
15457	// You can specify AWS-predefined documents, documents you created, or a document
15458	// that is shared with you from another account.
15459	//
15460	// For SSM documents that are shared with you from other AWS accounts, you must
15461	// specify the complete SSM document ARN, in the following format:
15462	//
15463	// arn:aws:ssm:region:account-id:document/document-name
15464	//
15465	// For example:
15466	//
15467	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
15468	//
15469	// For AWS-predefined documents and SSM documents you created in your account,
15470	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
15471	// or My-Document.
15472	//
15473	// Name is a required field
15474	Name *string `type:"string" required:"true"`
15475
15476	// An Amazon S3 bucket where you want to store the results of this request.
15477	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
15478
15479	// A description of the parameters for a document.
15480	Parameters map[string][]*string `type:"map"`
15481
15482	// A cron expression that specifies a schedule when the association runs.
15483	ScheduleExpression *string `min:"1" type:"string"`
15484
15485	// The instances targeted by the request.
15486	Targets []*Target `type:"list"`
15487}
15488
15489// String returns the string representation
15490func (s CreateAssociationBatchRequestEntry) String() string {
15491	return awsutil.Prettify(s)
15492}
15493
15494// GoString returns the string representation
15495func (s CreateAssociationBatchRequestEntry) GoString() string {
15496	return s.String()
15497}
15498
15499// Validate inspects the fields of the type to determine if they are valid.
15500func (s *CreateAssociationBatchRequestEntry) Validate() error {
15501	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchRequestEntry"}
15502	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
15503		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
15504	}
15505	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
15506		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
15507	}
15508	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
15509		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
15510	}
15511	if s.Name == nil {
15512		invalidParams.Add(request.NewErrParamRequired("Name"))
15513	}
15514	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
15515		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
15516	}
15517	if s.OutputLocation != nil {
15518		if err := s.OutputLocation.Validate(); err != nil {
15519			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
15520		}
15521	}
15522	if s.Targets != nil {
15523		for i, v := range s.Targets {
15524			if v == nil {
15525				continue
15526			}
15527			if err := v.Validate(); err != nil {
15528				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
15529			}
15530		}
15531	}
15532
15533	if invalidParams.Len() > 0 {
15534		return invalidParams
15535	}
15536	return nil
15537}
15538
15539// SetAssociationName sets the AssociationName field's value.
15540func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry {
15541	s.AssociationName = &v
15542	return s
15543}
15544
15545// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
15546func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry {
15547	s.AutomationTargetParameterName = &v
15548	return s
15549}
15550
15551// SetComplianceSeverity sets the ComplianceSeverity field's value.
15552func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry {
15553	s.ComplianceSeverity = &v
15554	return s
15555}
15556
15557// SetDocumentVersion sets the DocumentVersion field's value.
15558func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry {
15559	s.DocumentVersion = &v
15560	return s
15561}
15562
15563// SetInstanceId sets the InstanceId field's value.
15564func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry {
15565	s.InstanceId = &v
15566	return s
15567}
15568
15569// SetMaxConcurrency sets the MaxConcurrency field's value.
15570func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry {
15571	s.MaxConcurrency = &v
15572	return s
15573}
15574
15575// SetMaxErrors sets the MaxErrors field's value.
15576func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry {
15577	s.MaxErrors = &v
15578	return s
15579}
15580
15581// SetName sets the Name field's value.
15582func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry {
15583	s.Name = &v
15584	return s
15585}
15586
15587// SetOutputLocation sets the OutputLocation field's value.
15588func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry {
15589	s.OutputLocation = v
15590	return s
15591}
15592
15593// SetParameters sets the Parameters field's value.
15594func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry {
15595	s.Parameters = v
15596	return s
15597}
15598
15599// SetScheduleExpression sets the ScheduleExpression field's value.
15600func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry {
15601	s.ScheduleExpression = &v
15602	return s
15603}
15604
15605// SetTargets sets the Targets field's value.
15606func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry {
15607	s.Targets = v
15608	return s
15609}
15610
15611type CreateAssociationInput struct {
15612	_ struct{} `type:"structure"`
15613
15614	// Specify a descriptive name for the association.
15615	AssociationName *string `type:"string"`
15616
15617	// Specify the target for the association. This target is required for associations
15618	// that use an Automation document and target resources by using rate controls.
15619	AutomationTargetParameterName *string `min:"1" type:"string"`
15620
15621	// The severity level to assign to the association.
15622	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
15623
15624	// The document version you want to associate with the target(s). Can be a specific
15625	// version or the default version.
15626	DocumentVersion *string `type:"string"`
15627
15628	// The instance ID.
15629	//
15630	// InstanceId has been deprecated. To specify an instance ID for an association,
15631	// use the Targets parameter. If you use the parameter InstanceId, you cannot
15632	// use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency,
15633	// OutputLocation, or ScheduleExpression. To use these parameters, you must
15634	// use the Targets parameter.
15635	InstanceId *string `type:"string"`
15636
15637	// The maximum number of targets allowed to run the association at the same
15638	// time. You can specify a number, for example 10, or a percentage of the target
15639	// set, for example 10%. The default value is 100%, which means all targets
15640	// run the association at the same time.
15641	//
15642	// If a new instance starts and attempts to run an association while Systems
15643	// Manager is running MaxConcurrency associations, the association is allowed
15644	// to run. During the next association interval, the new instance will process
15645	// its association within the limit specified for MaxConcurrency.
15646	MaxConcurrency *string `min:"1" type:"string"`
15647
15648	// The number of errors that are allowed before the system stops sending requests
15649	// to run the association on additional targets. You can specify either an absolute
15650	// number of errors, for example 10, or a percentage of the target set, for
15651	// example 10%. If you specify 3, for example, the system stops sending requests
15652	// when the fourth error is received. If you specify 0, then the system stops
15653	// sending requests after the first error is returned. If you run an association
15654	// on 50 instances and set MaxError to 10%, then the system stops sending the
15655	// request when the sixth error is received.
15656	//
15657	// Executions that are already running an association when MaxErrors is reached
15658	// are allowed to complete, but some of these executions may fail as well. If
15659	// you need to ensure that there won't be more than max-errors failed executions,
15660	// set MaxConcurrency to 1 so that executions proceed one at a time.
15661	MaxErrors *string `min:"1" type:"string"`
15662
15663	// The name of the SSM document that contains the configuration information
15664	// for the instance. You can specify Command or Automation documents.
15665	//
15666	// You can specify AWS-predefined documents, documents you created, or a document
15667	// that is shared with you from another account.
15668	//
15669	// For SSM documents that are shared with you from other AWS accounts, you must
15670	// specify the complete SSM document ARN, in the following format:
15671	//
15672	// arn:partition:ssm:region:account-id:document/document-name
15673	//
15674	// For example:
15675	//
15676	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
15677	//
15678	// For AWS-predefined documents and SSM documents you created in your account,
15679	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
15680	// or My-Document.
15681	//
15682	// Name is a required field
15683	Name *string `type:"string" required:"true"`
15684
15685	// An Amazon S3 bucket where you want to store the output details of the request.
15686	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
15687
15688	// The parameters for the runtime configuration of the document.
15689	Parameters map[string][]*string `type:"map"`
15690
15691	// A cron expression when the association will be applied to the target(s).
15692	ScheduleExpression *string `min:"1" type:"string"`
15693
15694	// The targets (either instances or tags) for the association. You must specify
15695	// a value for Targets if you don't specify a value for InstanceId.
15696	Targets []*Target `type:"list"`
15697}
15698
15699// String returns the string representation
15700func (s CreateAssociationInput) String() string {
15701	return awsutil.Prettify(s)
15702}
15703
15704// GoString returns the string representation
15705func (s CreateAssociationInput) GoString() string {
15706	return s.String()
15707}
15708
15709// Validate inspects the fields of the type to determine if they are valid.
15710func (s *CreateAssociationInput) Validate() error {
15711	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"}
15712	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
15713		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
15714	}
15715	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
15716		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
15717	}
15718	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
15719		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
15720	}
15721	if s.Name == nil {
15722		invalidParams.Add(request.NewErrParamRequired("Name"))
15723	}
15724	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
15725		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
15726	}
15727	if s.OutputLocation != nil {
15728		if err := s.OutputLocation.Validate(); err != nil {
15729			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
15730		}
15731	}
15732	if s.Targets != nil {
15733		for i, v := range s.Targets {
15734			if v == nil {
15735				continue
15736			}
15737			if err := v.Validate(); err != nil {
15738				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
15739			}
15740		}
15741	}
15742
15743	if invalidParams.Len() > 0 {
15744		return invalidParams
15745	}
15746	return nil
15747}
15748
15749// SetAssociationName sets the AssociationName field's value.
15750func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput {
15751	s.AssociationName = &v
15752	return s
15753}
15754
15755// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
15756func (s *CreateAssociationInput) SetAutomationTargetParameterName(v string) *CreateAssociationInput {
15757	s.AutomationTargetParameterName = &v
15758	return s
15759}
15760
15761// SetComplianceSeverity sets the ComplianceSeverity field's value.
15762func (s *CreateAssociationInput) SetComplianceSeverity(v string) *CreateAssociationInput {
15763	s.ComplianceSeverity = &v
15764	return s
15765}
15766
15767// SetDocumentVersion sets the DocumentVersion field's value.
15768func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput {
15769	s.DocumentVersion = &v
15770	return s
15771}
15772
15773// SetInstanceId sets the InstanceId field's value.
15774func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput {
15775	s.InstanceId = &v
15776	return s
15777}
15778
15779// SetMaxConcurrency sets the MaxConcurrency field's value.
15780func (s *CreateAssociationInput) SetMaxConcurrency(v string) *CreateAssociationInput {
15781	s.MaxConcurrency = &v
15782	return s
15783}
15784
15785// SetMaxErrors sets the MaxErrors field's value.
15786func (s *CreateAssociationInput) SetMaxErrors(v string) *CreateAssociationInput {
15787	s.MaxErrors = &v
15788	return s
15789}
15790
15791// SetName sets the Name field's value.
15792func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput {
15793	s.Name = &v
15794	return s
15795}
15796
15797// SetOutputLocation sets the OutputLocation field's value.
15798func (s *CreateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationInput {
15799	s.OutputLocation = v
15800	return s
15801}
15802
15803// SetParameters sets the Parameters field's value.
15804func (s *CreateAssociationInput) SetParameters(v map[string][]*string) *CreateAssociationInput {
15805	s.Parameters = v
15806	return s
15807}
15808
15809// SetScheduleExpression sets the ScheduleExpression field's value.
15810func (s *CreateAssociationInput) SetScheduleExpression(v string) *CreateAssociationInput {
15811	s.ScheduleExpression = &v
15812	return s
15813}
15814
15815// SetTargets sets the Targets field's value.
15816func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput {
15817	s.Targets = v
15818	return s
15819}
15820
15821type CreateAssociationOutput struct {
15822	_ struct{} `type:"structure"`
15823
15824	// Information about the association.
15825	AssociationDescription *AssociationDescription `type:"structure"`
15826}
15827
15828// String returns the string representation
15829func (s CreateAssociationOutput) String() string {
15830	return awsutil.Prettify(s)
15831}
15832
15833// GoString returns the string representation
15834func (s CreateAssociationOutput) GoString() string {
15835	return s.String()
15836}
15837
15838// SetAssociationDescription sets the AssociationDescription field's value.
15839func (s *CreateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *CreateAssociationOutput {
15840	s.AssociationDescription = v
15841	return s
15842}
15843
15844type CreateDocumentInput struct {
15845	_ struct{} `type:"structure"`
15846
15847	// A list of key and value pairs that describe attachments to a version of a
15848	// document.
15849	Attachments []*AttachmentsSource `type:"list"`
15850
15851	// A valid JSON or YAML string.
15852	//
15853	// Content is a required field
15854	Content *string `min:"1" type:"string" required:"true"`
15855
15856	// Specify the document format for the request. The document format can be either
15857	// JSON or YAML. JSON is the default format.
15858	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
15859
15860	// The type of document to create. Valid document types include: Command, Policy,
15861	// Automation, Session, and Package.
15862	DocumentType *string `type:"string" enum:"DocumentType"`
15863
15864	// A name for the Systems Manager document.
15865	//
15866	// Do not use the following to begin the names of documents you create. They
15867	// are reserved by AWS for use as document prefixes:
15868	//
15869	//    * aws
15870	//
15871	//    * amazon
15872	//
15873	//    * amzn
15874	//
15875	// Name is a required field
15876	Name *string `type:"string" required:"true"`
15877
15878	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
15879	// document requires an ApplicationConfigurationSchema document.
15880	Requires []*DocumentRequires `min:"1" type:"list"`
15881
15882	// Optional metadata that you assign to a resource. Tags enable you to categorize
15883	// a resource in different ways, such as by purpose, owner, or environment.
15884	// For example, you might want to tag an SSM document to identify the types
15885	// of targets or the environment where it will run. In this case, you could
15886	// specify the following key name/value pairs:
15887	//
15888	//    * Key=OS,Value=Windows
15889	//
15890	//    * Key=Environment,Value=Production
15891	//
15892	// To add tags to an existing SSM document, use the AddTagsToResource action.
15893	Tags []*Tag `type:"list"`
15894
15895	// Specify a target type to define the kinds of resources the document can run
15896	// on. For example, to run a document on EC2 instances, specify the following
15897	// value: /AWS::EC2::Instance. If you specify a value of '/' the document can
15898	// run on all types of resources. If you don't specify a value, the document
15899	// can't run on any resources. For a list of valid resource types, see AWS Resource
15900	// Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
15901	// in the AWS CloudFormation User Guide.
15902	TargetType *string `type:"string"`
15903
15904	// An optional field specifying the version of the artifact you are creating
15905	// with the document. For example, "Release 12, Update 6". This value is unique
15906	// across all versions of a document, and cannot be changed.
15907	VersionName *string `type:"string"`
15908}
15909
15910// String returns the string representation
15911func (s CreateDocumentInput) String() string {
15912	return awsutil.Prettify(s)
15913}
15914
15915// GoString returns the string representation
15916func (s CreateDocumentInput) GoString() string {
15917	return s.String()
15918}
15919
15920// Validate inspects the fields of the type to determine if they are valid.
15921func (s *CreateDocumentInput) Validate() error {
15922	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"}
15923	if s.Content == nil {
15924		invalidParams.Add(request.NewErrParamRequired("Content"))
15925	}
15926	if s.Content != nil && len(*s.Content) < 1 {
15927		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
15928	}
15929	if s.Name == nil {
15930		invalidParams.Add(request.NewErrParamRequired("Name"))
15931	}
15932	if s.Requires != nil && len(s.Requires) < 1 {
15933		invalidParams.Add(request.NewErrParamMinLen("Requires", 1))
15934	}
15935	if s.Attachments != nil {
15936		for i, v := range s.Attachments {
15937			if v == nil {
15938				continue
15939			}
15940			if err := v.Validate(); err != nil {
15941				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
15942			}
15943		}
15944	}
15945	if s.Requires != nil {
15946		for i, v := range s.Requires {
15947			if v == nil {
15948				continue
15949			}
15950			if err := v.Validate(); err != nil {
15951				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requires", i), err.(request.ErrInvalidParams))
15952			}
15953		}
15954	}
15955	if s.Tags != nil {
15956		for i, v := range s.Tags {
15957			if v == nil {
15958				continue
15959			}
15960			if err := v.Validate(); err != nil {
15961				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15962			}
15963		}
15964	}
15965
15966	if invalidParams.Len() > 0 {
15967		return invalidParams
15968	}
15969	return nil
15970}
15971
15972// SetAttachments sets the Attachments field's value.
15973func (s *CreateDocumentInput) SetAttachments(v []*AttachmentsSource) *CreateDocumentInput {
15974	s.Attachments = v
15975	return s
15976}
15977
15978// SetContent sets the Content field's value.
15979func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput {
15980	s.Content = &v
15981	return s
15982}
15983
15984// SetDocumentFormat sets the DocumentFormat field's value.
15985func (s *CreateDocumentInput) SetDocumentFormat(v string) *CreateDocumentInput {
15986	s.DocumentFormat = &v
15987	return s
15988}
15989
15990// SetDocumentType sets the DocumentType field's value.
15991func (s *CreateDocumentInput) SetDocumentType(v string) *CreateDocumentInput {
15992	s.DocumentType = &v
15993	return s
15994}
15995
15996// SetName sets the Name field's value.
15997func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput {
15998	s.Name = &v
15999	return s
16000}
16001
16002// SetRequires sets the Requires field's value.
16003func (s *CreateDocumentInput) SetRequires(v []*DocumentRequires) *CreateDocumentInput {
16004	s.Requires = v
16005	return s
16006}
16007
16008// SetTags sets the Tags field's value.
16009func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput {
16010	s.Tags = v
16011	return s
16012}
16013
16014// SetTargetType sets the TargetType field's value.
16015func (s *CreateDocumentInput) SetTargetType(v string) *CreateDocumentInput {
16016	s.TargetType = &v
16017	return s
16018}
16019
16020// SetVersionName sets the VersionName field's value.
16021func (s *CreateDocumentInput) SetVersionName(v string) *CreateDocumentInput {
16022	s.VersionName = &v
16023	return s
16024}
16025
16026type CreateDocumentOutput struct {
16027	_ struct{} `type:"structure"`
16028
16029	// Information about the Systems Manager document.
16030	DocumentDescription *DocumentDescription `type:"structure"`
16031}
16032
16033// String returns the string representation
16034func (s CreateDocumentOutput) String() string {
16035	return awsutil.Prettify(s)
16036}
16037
16038// GoString returns the string representation
16039func (s CreateDocumentOutput) GoString() string {
16040	return s.String()
16041}
16042
16043// SetDocumentDescription sets the DocumentDescription field's value.
16044func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *CreateDocumentOutput {
16045	s.DocumentDescription = v
16046	return s
16047}
16048
16049type CreateMaintenanceWindowInput struct {
16050	_ struct{} `type:"structure"`
16051
16052	// Enables a maintenance window task to run on managed instances, even if you
16053	// have not registered those instances as targets. If enabled, then you must
16054	// specify the unregistered instances (by instance ID) when you register a task
16055	// with the maintenance window.
16056	//
16057	// If you don't enable this option, then you must specify previously-registered
16058	// targets when you register a task with the maintenance window.
16059	//
16060	// AllowUnassociatedTargets is a required field
16061	AllowUnassociatedTargets *bool `type:"boolean" required:"true"`
16062
16063	// User-provided idempotency token.
16064	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
16065
16066	// The number of hours before the end of the maintenance window that Systems
16067	// Manager stops scheduling new tasks for execution.
16068	//
16069	// Cutoff is a required field
16070	Cutoff *int64 `type:"integer" required:"true"`
16071
16072	// An optional description for the maintenance window. We recommend specifying
16073	// a description to help you organize your maintenance windows.
16074	Description *string `min:"1" type:"string" sensitive:"true"`
16075
16076	// The duration of the maintenance window in hours.
16077	//
16078	// Duration is a required field
16079	Duration *int64 `min:"1" type:"integer" required:"true"`
16080
16081	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
16082	// window to become inactive. EndDate allows you to set a date and time in the
16083	// future when the maintenance window will no longer run.
16084	EndDate *string `type:"string"`
16085
16086	// The name of the maintenance window.
16087	//
16088	// Name is a required field
16089	Name *string `min:"3" type:"string" required:"true"`
16090
16091	// The schedule of the maintenance window in the form of a cron or rate expression.
16092	//
16093	// Schedule is a required field
16094	Schedule *string `min:"1" type:"string" required:"true"`
16095
16096	// The time zone that the scheduled maintenance window executions are based
16097	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
16098	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
16099	// (https://www.iana.org/time-zones) on the IANA website.
16100	ScheduleTimezone *string `type:"string"`
16101
16102	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
16103	// window to become active. StartDate allows you to delay activation of the
16104	// maintenance window until the specified future date.
16105	StartDate *string `type:"string"`
16106
16107	// Optional metadata that you assign to a resource. Tags enable you to categorize
16108	// a resource in different ways, such as by purpose, owner, or environment.
16109	// For example, you might want to tag a maintenance window to identify the type
16110	// of tasks it will run, the types of targets, and the environment it will run
16111	// in. In this case, you could specify the following key name/value pairs:
16112	//
16113	//    * Key=TaskType,Value=AgentUpdate
16114	//
16115	//    * Key=OS,Value=Windows
16116	//
16117	//    * Key=Environment,Value=Production
16118	//
16119	// To add tags to an existing maintenance window, use the AddTagsToResource
16120	// action.
16121	Tags []*Tag `type:"list"`
16122}
16123
16124// String returns the string representation
16125func (s CreateMaintenanceWindowInput) String() string {
16126	return awsutil.Prettify(s)
16127}
16128
16129// GoString returns the string representation
16130func (s CreateMaintenanceWindowInput) GoString() string {
16131	return s.String()
16132}
16133
16134// Validate inspects the fields of the type to determine if they are valid.
16135func (s *CreateMaintenanceWindowInput) Validate() error {
16136	invalidParams := request.ErrInvalidParams{Context: "CreateMaintenanceWindowInput"}
16137	if s.AllowUnassociatedTargets == nil {
16138		invalidParams.Add(request.NewErrParamRequired("AllowUnassociatedTargets"))
16139	}
16140	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
16141		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
16142	}
16143	if s.Cutoff == nil {
16144		invalidParams.Add(request.NewErrParamRequired("Cutoff"))
16145	}
16146	if s.Description != nil && len(*s.Description) < 1 {
16147		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
16148	}
16149	if s.Duration == nil {
16150		invalidParams.Add(request.NewErrParamRequired("Duration"))
16151	}
16152	if s.Duration != nil && *s.Duration < 1 {
16153		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
16154	}
16155	if s.Name == nil {
16156		invalidParams.Add(request.NewErrParamRequired("Name"))
16157	}
16158	if s.Name != nil && len(*s.Name) < 3 {
16159		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
16160	}
16161	if s.Schedule == nil {
16162		invalidParams.Add(request.NewErrParamRequired("Schedule"))
16163	}
16164	if s.Schedule != nil && len(*s.Schedule) < 1 {
16165		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
16166	}
16167	if s.Tags != nil {
16168		for i, v := range s.Tags {
16169			if v == nil {
16170				continue
16171			}
16172			if err := v.Validate(); err != nil {
16173				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16174			}
16175		}
16176	}
16177
16178	if invalidParams.Len() > 0 {
16179		return invalidParams
16180	}
16181	return nil
16182}
16183
16184// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
16185func (s *CreateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *CreateMaintenanceWindowInput {
16186	s.AllowUnassociatedTargets = &v
16187	return s
16188}
16189
16190// SetClientToken sets the ClientToken field's value.
16191func (s *CreateMaintenanceWindowInput) SetClientToken(v string) *CreateMaintenanceWindowInput {
16192	s.ClientToken = &v
16193	return s
16194}
16195
16196// SetCutoff sets the Cutoff field's value.
16197func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWindowInput {
16198	s.Cutoff = &v
16199	return s
16200}
16201
16202// SetDescription sets the Description field's value.
16203func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput {
16204	s.Description = &v
16205	return s
16206}
16207
16208// SetDuration sets the Duration field's value.
16209func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput {
16210	s.Duration = &v
16211	return s
16212}
16213
16214// SetEndDate sets the EndDate field's value.
16215func (s *CreateMaintenanceWindowInput) SetEndDate(v string) *CreateMaintenanceWindowInput {
16216	s.EndDate = &v
16217	return s
16218}
16219
16220// SetName sets the Name field's value.
16221func (s *CreateMaintenanceWindowInput) SetName(v string) *CreateMaintenanceWindowInput {
16222	s.Name = &v
16223	return s
16224}
16225
16226// SetSchedule sets the Schedule field's value.
16227func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceWindowInput {
16228	s.Schedule = &v
16229	return s
16230}
16231
16232// SetScheduleTimezone sets the ScheduleTimezone field's value.
16233func (s *CreateMaintenanceWindowInput) SetScheduleTimezone(v string) *CreateMaintenanceWindowInput {
16234	s.ScheduleTimezone = &v
16235	return s
16236}
16237
16238// SetStartDate sets the StartDate field's value.
16239func (s *CreateMaintenanceWindowInput) SetStartDate(v string) *CreateMaintenanceWindowInput {
16240	s.StartDate = &v
16241	return s
16242}
16243
16244// SetTags sets the Tags field's value.
16245func (s *CreateMaintenanceWindowInput) SetTags(v []*Tag) *CreateMaintenanceWindowInput {
16246	s.Tags = v
16247	return s
16248}
16249
16250type CreateMaintenanceWindowOutput struct {
16251	_ struct{} `type:"structure"`
16252
16253	// The ID of the created maintenance window.
16254	WindowId *string `min:"20" type:"string"`
16255}
16256
16257// String returns the string representation
16258func (s CreateMaintenanceWindowOutput) String() string {
16259	return awsutil.Prettify(s)
16260}
16261
16262// GoString returns the string representation
16263func (s CreateMaintenanceWindowOutput) GoString() string {
16264	return s.String()
16265}
16266
16267// SetWindowId sets the WindowId field's value.
16268func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenanceWindowOutput {
16269	s.WindowId = &v
16270	return s
16271}
16272
16273type CreateOpsItemInput struct {
16274	_ struct{} `type:"structure"`
16275
16276	// Specify a category to assign to an OpsItem.
16277	Category *string `min:"1" type:"string"`
16278
16279	// Information about the OpsItem.
16280	//
16281	// Description is a required field
16282	Description *string `min:"1" type:"string" required:"true"`
16283
16284	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
16285	// when this OpsItem is edited or changed.
16286	Notifications []*OpsItemNotification `type:"list"`
16287
16288	// Operational data is custom data that provides useful reference details about
16289	// the OpsItem. For example, you can specify log files, error strings, license
16290	// keys, troubleshooting tips, or other relevant data. You enter operational
16291	// data as key-value pairs. The key has a maximum length of 128 characters.
16292	// The value has a maximum size of 20 KB.
16293	//
16294	// Operational data keys can't begin with the following: amazon, aws, amzn,
16295	// ssm, /amazon, /aws, /amzn, /ssm.
16296	//
16297	// You can choose to make the data searchable by other users in the account
16298	// or you can restrict search access. Searchable data means that all users with
16299	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
16300	// API action) can view and search on the specified data. Operational data that
16301	// is not searchable is only viewable by users who have access to the OpsItem
16302	// (as provided by the GetOpsItem API action).
16303	//
16304	// Use the /aws/resources key in OperationalData to specify a related resource
16305	// in the request. Use the /aws/automations key in OperationalData to associate
16306	// an Automation runbook with the OpsItem. To view AWS CLI example commands
16307	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
16308	// in the AWS Systems Manager User Guide.
16309	OperationalData map[string]*OpsItemDataValue `type:"map"`
16310
16311	// The importance of this OpsItem in relation to other OpsItems in the system.
16312	Priority *int64 `min:"1" type:"integer"`
16313
16314	// One or more OpsItems that share something in common with the current OpsItems.
16315	// For example, related OpsItems can include OpsItems with similar error messages,
16316	// impacted resources, or statuses for the impacted resource.
16317	RelatedOpsItems []*RelatedOpsItem `type:"list"`
16318
16319	// Specify a severity to assign to an OpsItem.
16320	Severity *string `min:"1" type:"string"`
16321
16322	// The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager.
16323	//
16324	// Source is a required field
16325	Source *string `min:"1" type:"string" required:"true"`
16326
16327	// Optional metadata that you assign to a resource. You can restrict access
16328	// to OpsItems by using an inline IAM policy that specifies tags. For more information,
16329	// see Getting Started with OpsCenter (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html#OpsCenter-getting-started-user-permissions)
16330	// in the AWS Systems Manager User Guide.
16331	//
16332	// Tags use a key-value pair. For example:
16333	//
16334	// Key=Department,Value=Finance
16335	//
16336	// To add tags to an existing OpsItem, use the AddTagsToResource action.
16337	Tags []*Tag `type:"list"`
16338
16339	// A short heading that describes the nature of the OpsItem and the impacted
16340	// resource.
16341	//
16342	// Title is a required field
16343	Title *string `min:"1" type:"string" required:"true"`
16344}
16345
16346// String returns the string representation
16347func (s CreateOpsItemInput) String() string {
16348	return awsutil.Prettify(s)
16349}
16350
16351// GoString returns the string representation
16352func (s CreateOpsItemInput) GoString() string {
16353	return s.String()
16354}
16355
16356// Validate inspects the fields of the type to determine if they are valid.
16357func (s *CreateOpsItemInput) Validate() error {
16358	invalidParams := request.ErrInvalidParams{Context: "CreateOpsItemInput"}
16359	if s.Category != nil && len(*s.Category) < 1 {
16360		invalidParams.Add(request.NewErrParamMinLen("Category", 1))
16361	}
16362	if s.Description == nil {
16363		invalidParams.Add(request.NewErrParamRequired("Description"))
16364	}
16365	if s.Description != nil && len(*s.Description) < 1 {
16366		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
16367	}
16368	if s.Priority != nil && *s.Priority < 1 {
16369		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
16370	}
16371	if s.Severity != nil && len(*s.Severity) < 1 {
16372		invalidParams.Add(request.NewErrParamMinLen("Severity", 1))
16373	}
16374	if s.Source == nil {
16375		invalidParams.Add(request.NewErrParamRequired("Source"))
16376	}
16377	if s.Source != nil && len(*s.Source) < 1 {
16378		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
16379	}
16380	if s.Title == nil {
16381		invalidParams.Add(request.NewErrParamRequired("Title"))
16382	}
16383	if s.Title != nil && len(*s.Title) < 1 {
16384		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
16385	}
16386	if s.RelatedOpsItems != nil {
16387		for i, v := range s.RelatedOpsItems {
16388			if v == nil {
16389				continue
16390			}
16391			if err := v.Validate(); err != nil {
16392				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
16393			}
16394		}
16395	}
16396	if s.Tags != nil {
16397		for i, v := range s.Tags {
16398			if v == nil {
16399				continue
16400			}
16401			if err := v.Validate(); err != nil {
16402				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16403			}
16404		}
16405	}
16406
16407	if invalidParams.Len() > 0 {
16408		return invalidParams
16409	}
16410	return nil
16411}
16412
16413// SetCategory sets the Category field's value.
16414func (s *CreateOpsItemInput) SetCategory(v string) *CreateOpsItemInput {
16415	s.Category = &v
16416	return s
16417}
16418
16419// SetDescription sets the Description field's value.
16420func (s *CreateOpsItemInput) SetDescription(v string) *CreateOpsItemInput {
16421	s.Description = &v
16422	return s
16423}
16424
16425// SetNotifications sets the Notifications field's value.
16426func (s *CreateOpsItemInput) SetNotifications(v []*OpsItemNotification) *CreateOpsItemInput {
16427	s.Notifications = v
16428	return s
16429}
16430
16431// SetOperationalData sets the OperationalData field's value.
16432func (s *CreateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *CreateOpsItemInput {
16433	s.OperationalData = v
16434	return s
16435}
16436
16437// SetPriority sets the Priority field's value.
16438func (s *CreateOpsItemInput) SetPriority(v int64) *CreateOpsItemInput {
16439	s.Priority = &v
16440	return s
16441}
16442
16443// SetRelatedOpsItems sets the RelatedOpsItems field's value.
16444func (s *CreateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *CreateOpsItemInput {
16445	s.RelatedOpsItems = v
16446	return s
16447}
16448
16449// SetSeverity sets the Severity field's value.
16450func (s *CreateOpsItemInput) SetSeverity(v string) *CreateOpsItemInput {
16451	s.Severity = &v
16452	return s
16453}
16454
16455// SetSource sets the Source field's value.
16456func (s *CreateOpsItemInput) SetSource(v string) *CreateOpsItemInput {
16457	s.Source = &v
16458	return s
16459}
16460
16461// SetTags sets the Tags field's value.
16462func (s *CreateOpsItemInput) SetTags(v []*Tag) *CreateOpsItemInput {
16463	s.Tags = v
16464	return s
16465}
16466
16467// SetTitle sets the Title field's value.
16468func (s *CreateOpsItemInput) SetTitle(v string) *CreateOpsItemInput {
16469	s.Title = &v
16470	return s
16471}
16472
16473type CreateOpsItemOutput struct {
16474	_ struct{} `type:"structure"`
16475
16476	// The ID of the OpsItem.
16477	OpsItemId *string `type:"string"`
16478}
16479
16480// String returns the string representation
16481func (s CreateOpsItemOutput) String() string {
16482	return awsutil.Prettify(s)
16483}
16484
16485// GoString returns the string representation
16486func (s CreateOpsItemOutput) GoString() string {
16487	return s.String()
16488}
16489
16490// SetOpsItemId sets the OpsItemId field's value.
16491func (s *CreateOpsItemOutput) SetOpsItemId(v string) *CreateOpsItemOutput {
16492	s.OpsItemId = &v
16493	return s
16494}
16495
16496type CreatePatchBaselineInput struct {
16497	_ struct{} `type:"structure"`
16498
16499	// A set of rules used to include patches in the baseline.
16500	ApprovalRules *PatchRuleGroup `type:"structure"`
16501
16502	// A list of explicitly approved patches for the baseline.
16503	//
16504	// For information about accepted formats for lists of approved patches and
16505	// rejected patches, see Package Name Formats for Approved and Rejected Patch
16506	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
16507	// in the AWS Systems Manager User Guide.
16508	ApprovedPatches []*string `type:"list"`
16509
16510	// Defines the compliance level for approved patches. This means that if an
16511	// approved patch is reported as missing, this is the severity of the compliance
16512	// violation. The default value is UNSPECIFIED.
16513	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
16514
16515	// Indicates whether the list of approved patches includes non-security updates
16516	// that should be applied to the instances. The default value is 'false'. Applies
16517	// to Linux instances only.
16518	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
16519
16520	// User-provided idempotency token.
16521	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
16522
16523	// A description of the patch baseline.
16524	Description *string `min:"1" type:"string"`
16525
16526	// A set of global filters used to include patches in the baseline.
16527	GlobalFilters *PatchFilterGroup `type:"structure"`
16528
16529	// The name of the patch baseline.
16530	//
16531	// Name is a required field
16532	Name *string `min:"3" type:"string" required:"true"`
16533
16534	// Defines the operating system the patch baseline applies to. The Default value
16535	// is WINDOWS.
16536	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
16537
16538	// A list of explicitly rejected patches for the baseline.
16539	//
16540	// For information about accepted formats for lists of approved patches and
16541	// rejected patches, see Package Name Formats for Approved and Rejected Patch
16542	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
16543	// in the AWS Systems Manager User Guide.
16544	RejectedPatches []*string `type:"list"`
16545
16546	// The action for Patch Manager to take on patches included in the RejectedPackages
16547	// list.
16548	//
16549	//    * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed
16550	//    only if it is a dependency of another package. It is considered compliant
16551	//    with the patch baseline, and its status is reported as InstalledOther.
16552	//    This is the default action if no option is specified.
16553	//
16554	//    * BLOCK: Packages in the RejectedPatches list, and packages that include
16555	//    them as dependencies, are not installed under any circumstances. If a
16556	//    package was installed before it was added to the Rejected patches list,
16557	//    it is considered non-compliant with the patch baseline, and its status
16558	//    is reported as InstalledRejected.
16559	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
16560
16561	// Information about the patches to use to update the instances, including target
16562	// operating systems and source repositories. Applies to Linux instances only.
16563	Sources []*PatchSource `type:"list"`
16564
16565	// Optional metadata that you assign to a resource. Tags enable you to categorize
16566	// a resource in different ways, such as by purpose, owner, or environment.
16567	// For example, you might want to tag a patch baseline to identify the severity
16568	// level of patches it specifies and the operating system family it applies
16569	// to. In this case, you could specify the following key name/value pairs:
16570	//
16571	//    * Key=PatchSeverity,Value=Critical
16572	//
16573	//    * Key=OS,Value=Windows
16574	//
16575	// To add tags to an existing patch baseline, use the AddTagsToResource action.
16576	Tags []*Tag `type:"list"`
16577}
16578
16579// String returns the string representation
16580func (s CreatePatchBaselineInput) String() string {
16581	return awsutil.Prettify(s)
16582}
16583
16584// GoString returns the string representation
16585func (s CreatePatchBaselineInput) GoString() string {
16586	return s.String()
16587}
16588
16589// Validate inspects the fields of the type to determine if they are valid.
16590func (s *CreatePatchBaselineInput) Validate() error {
16591	invalidParams := request.ErrInvalidParams{Context: "CreatePatchBaselineInput"}
16592	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
16593		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
16594	}
16595	if s.Description != nil && len(*s.Description) < 1 {
16596		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
16597	}
16598	if s.Name == nil {
16599		invalidParams.Add(request.NewErrParamRequired("Name"))
16600	}
16601	if s.Name != nil && len(*s.Name) < 3 {
16602		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
16603	}
16604	if s.ApprovalRules != nil {
16605		if err := s.ApprovalRules.Validate(); err != nil {
16606			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
16607		}
16608	}
16609	if s.GlobalFilters != nil {
16610		if err := s.GlobalFilters.Validate(); err != nil {
16611			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
16612		}
16613	}
16614	if s.Sources != nil {
16615		for i, v := range s.Sources {
16616			if v == nil {
16617				continue
16618			}
16619			if err := v.Validate(); err != nil {
16620				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
16621			}
16622		}
16623	}
16624	if s.Tags != nil {
16625		for i, v := range s.Tags {
16626			if v == nil {
16627				continue
16628			}
16629			if err := v.Validate(); err != nil {
16630				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
16631			}
16632		}
16633	}
16634
16635	if invalidParams.Len() > 0 {
16636		return invalidParams
16637	}
16638	return nil
16639}
16640
16641// SetApprovalRules sets the ApprovalRules field's value.
16642func (s *CreatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *CreatePatchBaselineInput {
16643	s.ApprovalRules = v
16644	return s
16645}
16646
16647// SetApprovedPatches sets the ApprovedPatches field's value.
16648func (s *CreatePatchBaselineInput) SetApprovedPatches(v []*string) *CreatePatchBaselineInput {
16649	s.ApprovedPatches = v
16650	return s
16651}
16652
16653// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
16654func (s *CreatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *CreatePatchBaselineInput {
16655	s.ApprovedPatchesComplianceLevel = &v
16656	return s
16657}
16658
16659// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
16660func (s *CreatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *CreatePatchBaselineInput {
16661	s.ApprovedPatchesEnableNonSecurity = &v
16662	return s
16663}
16664
16665// SetClientToken sets the ClientToken field's value.
16666func (s *CreatePatchBaselineInput) SetClientToken(v string) *CreatePatchBaselineInput {
16667	s.ClientToken = &v
16668	return s
16669}
16670
16671// SetDescription sets the Description field's value.
16672func (s *CreatePatchBaselineInput) SetDescription(v string) *CreatePatchBaselineInput {
16673	s.Description = &v
16674	return s
16675}
16676
16677// SetGlobalFilters sets the GlobalFilters field's value.
16678func (s *CreatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *CreatePatchBaselineInput {
16679	s.GlobalFilters = v
16680	return s
16681}
16682
16683// SetName sets the Name field's value.
16684func (s *CreatePatchBaselineInput) SetName(v string) *CreatePatchBaselineInput {
16685	s.Name = &v
16686	return s
16687}
16688
16689// SetOperatingSystem sets the OperatingSystem field's value.
16690func (s *CreatePatchBaselineInput) SetOperatingSystem(v string) *CreatePatchBaselineInput {
16691	s.OperatingSystem = &v
16692	return s
16693}
16694
16695// SetRejectedPatches sets the RejectedPatches field's value.
16696func (s *CreatePatchBaselineInput) SetRejectedPatches(v []*string) *CreatePatchBaselineInput {
16697	s.RejectedPatches = v
16698	return s
16699}
16700
16701// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
16702func (s *CreatePatchBaselineInput) SetRejectedPatchesAction(v string) *CreatePatchBaselineInput {
16703	s.RejectedPatchesAction = &v
16704	return s
16705}
16706
16707// SetSources sets the Sources field's value.
16708func (s *CreatePatchBaselineInput) SetSources(v []*PatchSource) *CreatePatchBaselineInput {
16709	s.Sources = v
16710	return s
16711}
16712
16713// SetTags sets the Tags field's value.
16714func (s *CreatePatchBaselineInput) SetTags(v []*Tag) *CreatePatchBaselineInput {
16715	s.Tags = v
16716	return s
16717}
16718
16719type CreatePatchBaselineOutput struct {
16720	_ struct{} `type:"structure"`
16721
16722	// The ID of the created patch baseline.
16723	BaselineId *string `min:"20" type:"string"`
16724}
16725
16726// String returns the string representation
16727func (s CreatePatchBaselineOutput) String() string {
16728	return awsutil.Prettify(s)
16729}
16730
16731// GoString returns the string representation
16732func (s CreatePatchBaselineOutput) GoString() string {
16733	return s.String()
16734}
16735
16736// SetBaselineId sets the BaselineId field's value.
16737func (s *CreatePatchBaselineOutput) SetBaselineId(v string) *CreatePatchBaselineOutput {
16738	s.BaselineId = &v
16739	return s
16740}
16741
16742type CreateResourceDataSyncInput struct {
16743	_ struct{} `type:"structure"`
16744
16745	// Amazon S3 configuration details for the sync.
16746	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
16747
16748	// A name for the configuration.
16749	//
16750	// SyncName is a required field
16751	SyncName *string `min:"1" type:"string" required:"true"`
16752
16753	// Specify information about the data sources to synchronize.
16754	SyncSource *ResourceDataSyncSource `type:"structure"`
16755
16756	// Specify SyncToDestination to create a resource data sync that synchronizes
16757	// data from multiple AWS Regions to an Amazon S3 bucket. Specify SyncFromSource
16758	// to synchronize data from multiple AWS accounts and Regions, as listed in
16759	// AWS Organizations.
16760	SyncType *string `min:"1" type:"string"`
16761}
16762
16763// String returns the string representation
16764func (s CreateResourceDataSyncInput) String() string {
16765	return awsutil.Prettify(s)
16766}
16767
16768// GoString returns the string representation
16769func (s CreateResourceDataSyncInput) GoString() string {
16770	return s.String()
16771}
16772
16773// Validate inspects the fields of the type to determine if they are valid.
16774func (s *CreateResourceDataSyncInput) Validate() error {
16775	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDataSyncInput"}
16776	if s.SyncName == nil {
16777		invalidParams.Add(request.NewErrParamRequired("SyncName"))
16778	}
16779	if s.SyncName != nil && len(*s.SyncName) < 1 {
16780		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
16781	}
16782	if s.SyncType != nil && len(*s.SyncType) < 1 {
16783		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
16784	}
16785	if s.S3Destination != nil {
16786		if err := s.S3Destination.Validate(); err != nil {
16787			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
16788		}
16789	}
16790	if s.SyncSource != nil {
16791		if err := s.SyncSource.Validate(); err != nil {
16792			invalidParams.AddNested("SyncSource", err.(request.ErrInvalidParams))
16793		}
16794	}
16795
16796	if invalidParams.Len() > 0 {
16797		return invalidParams
16798	}
16799	return nil
16800}
16801
16802// SetS3Destination sets the S3Destination field's value.
16803func (s *CreateResourceDataSyncInput) SetS3Destination(v *ResourceDataSyncS3Destination) *CreateResourceDataSyncInput {
16804	s.S3Destination = v
16805	return s
16806}
16807
16808// SetSyncName sets the SyncName field's value.
16809func (s *CreateResourceDataSyncInput) SetSyncName(v string) *CreateResourceDataSyncInput {
16810	s.SyncName = &v
16811	return s
16812}
16813
16814// SetSyncSource sets the SyncSource field's value.
16815func (s *CreateResourceDataSyncInput) SetSyncSource(v *ResourceDataSyncSource) *CreateResourceDataSyncInput {
16816	s.SyncSource = v
16817	return s
16818}
16819
16820// SetSyncType sets the SyncType field's value.
16821func (s *CreateResourceDataSyncInput) SetSyncType(v string) *CreateResourceDataSyncInput {
16822	s.SyncType = &v
16823	return s
16824}
16825
16826type CreateResourceDataSyncOutput struct {
16827	_ struct{} `type:"structure"`
16828}
16829
16830// String returns the string representation
16831func (s CreateResourceDataSyncOutput) String() string {
16832	return awsutil.Prettify(s)
16833}
16834
16835// GoString returns the string representation
16836func (s CreateResourceDataSyncOutput) GoString() string {
16837	return s.String()
16838}
16839
16840type DeleteActivationInput struct {
16841	_ struct{} `type:"structure"`
16842
16843	// The ID of the activation that you want to delete.
16844	//
16845	// ActivationId is a required field
16846	ActivationId *string `type:"string" required:"true"`
16847}
16848
16849// String returns the string representation
16850func (s DeleteActivationInput) String() string {
16851	return awsutil.Prettify(s)
16852}
16853
16854// GoString returns the string representation
16855func (s DeleteActivationInput) GoString() string {
16856	return s.String()
16857}
16858
16859// Validate inspects the fields of the type to determine if they are valid.
16860func (s *DeleteActivationInput) Validate() error {
16861	invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"}
16862	if s.ActivationId == nil {
16863		invalidParams.Add(request.NewErrParamRequired("ActivationId"))
16864	}
16865
16866	if invalidParams.Len() > 0 {
16867		return invalidParams
16868	}
16869	return nil
16870}
16871
16872// SetActivationId sets the ActivationId field's value.
16873func (s *DeleteActivationInput) SetActivationId(v string) *DeleteActivationInput {
16874	s.ActivationId = &v
16875	return s
16876}
16877
16878type DeleteActivationOutput struct {
16879	_ struct{} `type:"structure"`
16880}
16881
16882// String returns the string representation
16883func (s DeleteActivationOutput) String() string {
16884	return awsutil.Prettify(s)
16885}
16886
16887// GoString returns the string representation
16888func (s DeleteActivationOutput) GoString() string {
16889	return s.String()
16890}
16891
16892type DeleteAssociationInput struct {
16893	_ struct{} `type:"structure"`
16894
16895	// The association ID that you want to delete.
16896	AssociationId *string `type:"string"`
16897
16898	// The ID of the instance.
16899	InstanceId *string `type:"string"`
16900
16901	// The name of the Systems Manager document.
16902	Name *string `type:"string"`
16903}
16904
16905// String returns the string representation
16906func (s DeleteAssociationInput) String() string {
16907	return awsutil.Prettify(s)
16908}
16909
16910// GoString returns the string representation
16911func (s DeleteAssociationInput) GoString() string {
16912	return s.String()
16913}
16914
16915// SetAssociationId sets the AssociationId field's value.
16916func (s *DeleteAssociationInput) SetAssociationId(v string) *DeleteAssociationInput {
16917	s.AssociationId = &v
16918	return s
16919}
16920
16921// SetInstanceId sets the InstanceId field's value.
16922func (s *DeleteAssociationInput) SetInstanceId(v string) *DeleteAssociationInput {
16923	s.InstanceId = &v
16924	return s
16925}
16926
16927// SetName sets the Name field's value.
16928func (s *DeleteAssociationInput) SetName(v string) *DeleteAssociationInput {
16929	s.Name = &v
16930	return s
16931}
16932
16933type DeleteAssociationOutput struct {
16934	_ struct{} `type:"structure"`
16935}
16936
16937// String returns the string representation
16938func (s DeleteAssociationOutput) String() string {
16939	return awsutil.Prettify(s)
16940}
16941
16942// GoString returns the string representation
16943func (s DeleteAssociationOutput) GoString() string {
16944	return s.String()
16945}
16946
16947type DeleteDocumentInput struct {
16948	_ struct{} `type:"structure"`
16949
16950	// The version of the document that you want to delete. If not provided, all
16951	// versions of the document are deleted.
16952	DocumentVersion *string `type:"string"`
16953
16954	// Some SSM document types require that you specify a Force flag before you
16955	// can delete the document. For example, you must specify a Force flag to delete
16956	// a document of type ApplicationConfigurationSchema. You can restrict access
16957	// to the Force flag in an AWS Identity and Access Management (IAM) policy.
16958	Force *bool `type:"boolean"`
16959
16960	// The name of the document.
16961	//
16962	// Name is a required field
16963	Name *string `type:"string" required:"true"`
16964
16965	// The version name of the document that you want to delete. If not provided,
16966	// all versions of the document are deleted.
16967	VersionName *string `type:"string"`
16968}
16969
16970// String returns the string representation
16971func (s DeleteDocumentInput) String() string {
16972	return awsutil.Prettify(s)
16973}
16974
16975// GoString returns the string representation
16976func (s DeleteDocumentInput) GoString() string {
16977	return s.String()
16978}
16979
16980// Validate inspects the fields of the type to determine if they are valid.
16981func (s *DeleteDocumentInput) Validate() error {
16982	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
16983	if s.Name == nil {
16984		invalidParams.Add(request.NewErrParamRequired("Name"))
16985	}
16986
16987	if invalidParams.Len() > 0 {
16988		return invalidParams
16989	}
16990	return nil
16991}
16992
16993// SetDocumentVersion sets the DocumentVersion field's value.
16994func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput {
16995	s.DocumentVersion = &v
16996	return s
16997}
16998
16999// SetForce sets the Force field's value.
17000func (s *DeleteDocumentInput) SetForce(v bool) *DeleteDocumentInput {
17001	s.Force = &v
17002	return s
17003}
17004
17005// SetName sets the Name field's value.
17006func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput {
17007	s.Name = &v
17008	return s
17009}
17010
17011// SetVersionName sets the VersionName field's value.
17012func (s *DeleteDocumentInput) SetVersionName(v string) *DeleteDocumentInput {
17013	s.VersionName = &v
17014	return s
17015}
17016
17017type DeleteDocumentOutput struct {
17018	_ struct{} `type:"structure"`
17019}
17020
17021// String returns the string representation
17022func (s DeleteDocumentOutput) String() string {
17023	return awsutil.Prettify(s)
17024}
17025
17026// GoString returns the string representation
17027func (s DeleteDocumentOutput) GoString() string {
17028	return s.String()
17029}
17030
17031type DeleteInventoryInput struct {
17032	_ struct{} `type:"structure"`
17033
17034	// User-provided idempotency token.
17035	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
17036
17037	// Use this option to view a summary of the deletion request without deleting
17038	// any data or the data type. This option is useful when you only want to understand
17039	// what will be deleted. Once you validate that the data to be deleted is what
17040	// you intend to delete, you can run the same command without specifying the
17041	// DryRun option.
17042	DryRun *bool `type:"boolean"`
17043
17044	// Use the SchemaDeleteOption to delete a custom inventory type (schema). If
17045	// you don't choose this option, the system only deletes existing inventory
17046	// data associated with the custom inventory type. Choose one of the following
17047	// options:
17048	//
17049	// DisableSchema: If you choose this option, the system ignores all inventory
17050	// data for the specified version, and any earlier versions. To enable this
17051	// schema again, you must call the PutInventory action for a version greater
17052	// than the disabled version.
17053	//
17054	// DeleteSchema: This option deletes the specified custom type from the Inventory
17055	// service. You can recreate the schema later, if you want.
17056	SchemaDeleteOption *string `type:"string" enum:"InventorySchemaDeleteOption"`
17057
17058	// The name of the custom inventory type for which you want to delete either
17059	// all previously collected data, or the inventory type itself.
17060	//
17061	// TypeName is a required field
17062	TypeName *string `min:"1" type:"string" required:"true"`
17063}
17064
17065// String returns the string representation
17066func (s DeleteInventoryInput) String() string {
17067	return awsutil.Prettify(s)
17068}
17069
17070// GoString returns the string representation
17071func (s DeleteInventoryInput) GoString() string {
17072	return s.String()
17073}
17074
17075// Validate inspects the fields of the type to determine if they are valid.
17076func (s *DeleteInventoryInput) Validate() error {
17077	invalidParams := request.ErrInvalidParams{Context: "DeleteInventoryInput"}
17078	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
17079		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
17080	}
17081	if s.TypeName == nil {
17082		invalidParams.Add(request.NewErrParamRequired("TypeName"))
17083	}
17084	if s.TypeName != nil && len(*s.TypeName) < 1 {
17085		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
17086	}
17087
17088	if invalidParams.Len() > 0 {
17089		return invalidParams
17090	}
17091	return nil
17092}
17093
17094// SetClientToken sets the ClientToken field's value.
17095func (s *DeleteInventoryInput) SetClientToken(v string) *DeleteInventoryInput {
17096	s.ClientToken = &v
17097	return s
17098}
17099
17100// SetDryRun sets the DryRun field's value.
17101func (s *DeleteInventoryInput) SetDryRun(v bool) *DeleteInventoryInput {
17102	s.DryRun = &v
17103	return s
17104}
17105
17106// SetSchemaDeleteOption sets the SchemaDeleteOption field's value.
17107func (s *DeleteInventoryInput) SetSchemaDeleteOption(v string) *DeleteInventoryInput {
17108	s.SchemaDeleteOption = &v
17109	return s
17110}
17111
17112// SetTypeName sets the TypeName field's value.
17113func (s *DeleteInventoryInput) SetTypeName(v string) *DeleteInventoryInput {
17114	s.TypeName = &v
17115	return s
17116}
17117
17118type DeleteInventoryOutput struct {
17119	_ struct{} `type:"structure"`
17120
17121	// Every DeleteInventory action is assigned a unique ID. This option returns
17122	// a unique ID. You can use this ID to query the status of a delete operation.
17123	// This option is useful for ensuring that a delete operation has completed
17124	// before you begin other actions.
17125	DeletionId *string `type:"string"`
17126
17127	// A summary of the delete operation. For more information about this summary,
17128	// see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary)
17129	// in the AWS Systems Manager User Guide.
17130	DeletionSummary *InventoryDeletionSummary `type:"structure"`
17131
17132	// The name of the inventory data type specified in the request.
17133	TypeName *string `min:"1" type:"string"`
17134}
17135
17136// String returns the string representation
17137func (s DeleteInventoryOutput) String() string {
17138	return awsutil.Prettify(s)
17139}
17140
17141// GoString returns the string representation
17142func (s DeleteInventoryOutput) GoString() string {
17143	return s.String()
17144}
17145
17146// SetDeletionId sets the DeletionId field's value.
17147func (s *DeleteInventoryOutput) SetDeletionId(v string) *DeleteInventoryOutput {
17148	s.DeletionId = &v
17149	return s
17150}
17151
17152// SetDeletionSummary sets the DeletionSummary field's value.
17153func (s *DeleteInventoryOutput) SetDeletionSummary(v *InventoryDeletionSummary) *DeleteInventoryOutput {
17154	s.DeletionSummary = v
17155	return s
17156}
17157
17158// SetTypeName sets the TypeName field's value.
17159func (s *DeleteInventoryOutput) SetTypeName(v string) *DeleteInventoryOutput {
17160	s.TypeName = &v
17161	return s
17162}
17163
17164type DeleteMaintenanceWindowInput struct {
17165	_ struct{} `type:"structure"`
17166
17167	// The ID of the maintenance window to delete.
17168	//
17169	// WindowId is a required field
17170	WindowId *string `min:"20" type:"string" required:"true"`
17171}
17172
17173// String returns the string representation
17174func (s DeleteMaintenanceWindowInput) String() string {
17175	return awsutil.Prettify(s)
17176}
17177
17178// GoString returns the string representation
17179func (s DeleteMaintenanceWindowInput) GoString() string {
17180	return s.String()
17181}
17182
17183// Validate inspects the fields of the type to determine if they are valid.
17184func (s *DeleteMaintenanceWindowInput) Validate() error {
17185	invalidParams := request.ErrInvalidParams{Context: "DeleteMaintenanceWindowInput"}
17186	if s.WindowId == nil {
17187		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17188	}
17189	if s.WindowId != nil && len(*s.WindowId) < 20 {
17190		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17191	}
17192
17193	if invalidParams.Len() > 0 {
17194		return invalidParams
17195	}
17196	return nil
17197}
17198
17199// SetWindowId sets the WindowId field's value.
17200func (s *DeleteMaintenanceWindowInput) SetWindowId(v string) *DeleteMaintenanceWindowInput {
17201	s.WindowId = &v
17202	return s
17203}
17204
17205type DeleteMaintenanceWindowOutput struct {
17206	_ struct{} `type:"structure"`
17207
17208	// The ID of the deleted maintenance window.
17209	WindowId *string `min:"20" type:"string"`
17210}
17211
17212// String returns the string representation
17213func (s DeleteMaintenanceWindowOutput) String() string {
17214	return awsutil.Prettify(s)
17215}
17216
17217// GoString returns the string representation
17218func (s DeleteMaintenanceWindowOutput) GoString() string {
17219	return s.String()
17220}
17221
17222// SetWindowId sets the WindowId field's value.
17223func (s *DeleteMaintenanceWindowOutput) SetWindowId(v string) *DeleteMaintenanceWindowOutput {
17224	s.WindowId = &v
17225	return s
17226}
17227
17228type DeleteParameterInput struct {
17229	_ struct{} `type:"structure"`
17230
17231	// The name of the parameter to delete.
17232	//
17233	// Name is a required field
17234	Name *string `min:"1" type:"string" required:"true"`
17235}
17236
17237// String returns the string representation
17238func (s DeleteParameterInput) String() string {
17239	return awsutil.Prettify(s)
17240}
17241
17242// GoString returns the string representation
17243func (s DeleteParameterInput) GoString() string {
17244	return s.String()
17245}
17246
17247// Validate inspects the fields of the type to determine if they are valid.
17248func (s *DeleteParameterInput) Validate() error {
17249	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterInput"}
17250	if s.Name == nil {
17251		invalidParams.Add(request.NewErrParamRequired("Name"))
17252	}
17253	if s.Name != nil && len(*s.Name) < 1 {
17254		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17255	}
17256
17257	if invalidParams.Len() > 0 {
17258		return invalidParams
17259	}
17260	return nil
17261}
17262
17263// SetName sets the Name field's value.
17264func (s *DeleteParameterInput) SetName(v string) *DeleteParameterInput {
17265	s.Name = &v
17266	return s
17267}
17268
17269type DeleteParameterOutput struct {
17270	_ struct{} `type:"structure"`
17271}
17272
17273// String returns the string representation
17274func (s DeleteParameterOutput) String() string {
17275	return awsutil.Prettify(s)
17276}
17277
17278// GoString returns the string representation
17279func (s DeleteParameterOutput) GoString() string {
17280	return s.String()
17281}
17282
17283type DeleteParametersInput struct {
17284	_ struct{} `type:"structure"`
17285
17286	// The names of the parameters to delete.
17287	//
17288	// Names is a required field
17289	Names []*string `min:"1" type:"list" required:"true"`
17290}
17291
17292// String returns the string representation
17293func (s DeleteParametersInput) String() string {
17294	return awsutil.Prettify(s)
17295}
17296
17297// GoString returns the string representation
17298func (s DeleteParametersInput) GoString() string {
17299	return s.String()
17300}
17301
17302// Validate inspects the fields of the type to determine if they are valid.
17303func (s *DeleteParametersInput) Validate() error {
17304	invalidParams := request.ErrInvalidParams{Context: "DeleteParametersInput"}
17305	if s.Names == nil {
17306		invalidParams.Add(request.NewErrParamRequired("Names"))
17307	}
17308	if s.Names != nil && len(s.Names) < 1 {
17309		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
17310	}
17311
17312	if invalidParams.Len() > 0 {
17313		return invalidParams
17314	}
17315	return nil
17316}
17317
17318// SetNames sets the Names field's value.
17319func (s *DeleteParametersInput) SetNames(v []*string) *DeleteParametersInput {
17320	s.Names = v
17321	return s
17322}
17323
17324type DeleteParametersOutput struct {
17325	_ struct{} `type:"structure"`
17326
17327	// The names of the deleted parameters.
17328	DeletedParameters []*string `min:"1" type:"list"`
17329
17330	// The names of parameters that weren't deleted because the parameters are not
17331	// valid.
17332	InvalidParameters []*string `min:"1" type:"list"`
17333}
17334
17335// String returns the string representation
17336func (s DeleteParametersOutput) String() string {
17337	return awsutil.Prettify(s)
17338}
17339
17340// GoString returns the string representation
17341func (s DeleteParametersOutput) GoString() string {
17342	return s.String()
17343}
17344
17345// SetDeletedParameters sets the DeletedParameters field's value.
17346func (s *DeleteParametersOutput) SetDeletedParameters(v []*string) *DeleteParametersOutput {
17347	s.DeletedParameters = v
17348	return s
17349}
17350
17351// SetInvalidParameters sets the InvalidParameters field's value.
17352func (s *DeleteParametersOutput) SetInvalidParameters(v []*string) *DeleteParametersOutput {
17353	s.InvalidParameters = v
17354	return s
17355}
17356
17357type DeletePatchBaselineInput struct {
17358	_ struct{} `type:"structure"`
17359
17360	// The ID of the patch baseline to delete.
17361	//
17362	// BaselineId is a required field
17363	BaselineId *string `min:"20" type:"string" required:"true"`
17364}
17365
17366// String returns the string representation
17367func (s DeletePatchBaselineInput) String() string {
17368	return awsutil.Prettify(s)
17369}
17370
17371// GoString returns the string representation
17372func (s DeletePatchBaselineInput) GoString() string {
17373	return s.String()
17374}
17375
17376// Validate inspects the fields of the type to determine if they are valid.
17377func (s *DeletePatchBaselineInput) Validate() error {
17378	invalidParams := request.ErrInvalidParams{Context: "DeletePatchBaselineInput"}
17379	if s.BaselineId == nil {
17380		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
17381	}
17382	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
17383		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
17384	}
17385
17386	if invalidParams.Len() > 0 {
17387		return invalidParams
17388	}
17389	return nil
17390}
17391
17392// SetBaselineId sets the BaselineId field's value.
17393func (s *DeletePatchBaselineInput) SetBaselineId(v string) *DeletePatchBaselineInput {
17394	s.BaselineId = &v
17395	return s
17396}
17397
17398type DeletePatchBaselineOutput struct {
17399	_ struct{} `type:"structure"`
17400
17401	// The ID of the deleted patch baseline.
17402	BaselineId *string `min:"20" type:"string"`
17403}
17404
17405// String returns the string representation
17406func (s DeletePatchBaselineOutput) String() string {
17407	return awsutil.Prettify(s)
17408}
17409
17410// GoString returns the string representation
17411func (s DeletePatchBaselineOutput) GoString() string {
17412	return s.String()
17413}
17414
17415// SetBaselineId sets the BaselineId field's value.
17416func (s *DeletePatchBaselineOutput) SetBaselineId(v string) *DeletePatchBaselineOutput {
17417	s.BaselineId = &v
17418	return s
17419}
17420
17421type DeleteResourceDataSyncInput struct {
17422	_ struct{} `type:"structure"`
17423
17424	// The name of the configuration to delete.
17425	//
17426	// SyncName is a required field
17427	SyncName *string `min:"1" type:"string" required:"true"`
17428
17429	// Specify the type of resource data sync to delete.
17430	SyncType *string `min:"1" type:"string"`
17431}
17432
17433// String returns the string representation
17434func (s DeleteResourceDataSyncInput) String() string {
17435	return awsutil.Prettify(s)
17436}
17437
17438// GoString returns the string representation
17439func (s DeleteResourceDataSyncInput) GoString() string {
17440	return s.String()
17441}
17442
17443// Validate inspects the fields of the type to determine if they are valid.
17444func (s *DeleteResourceDataSyncInput) Validate() error {
17445	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDataSyncInput"}
17446	if s.SyncName == nil {
17447		invalidParams.Add(request.NewErrParamRequired("SyncName"))
17448	}
17449	if s.SyncName != nil && len(*s.SyncName) < 1 {
17450		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
17451	}
17452	if s.SyncType != nil && len(*s.SyncType) < 1 {
17453		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
17454	}
17455
17456	if invalidParams.Len() > 0 {
17457		return invalidParams
17458	}
17459	return nil
17460}
17461
17462// SetSyncName sets the SyncName field's value.
17463func (s *DeleteResourceDataSyncInput) SetSyncName(v string) *DeleteResourceDataSyncInput {
17464	s.SyncName = &v
17465	return s
17466}
17467
17468// SetSyncType sets the SyncType field's value.
17469func (s *DeleteResourceDataSyncInput) SetSyncType(v string) *DeleteResourceDataSyncInput {
17470	s.SyncType = &v
17471	return s
17472}
17473
17474type DeleteResourceDataSyncOutput struct {
17475	_ struct{} `type:"structure"`
17476}
17477
17478// String returns the string representation
17479func (s DeleteResourceDataSyncOutput) String() string {
17480	return awsutil.Prettify(s)
17481}
17482
17483// GoString returns the string representation
17484func (s DeleteResourceDataSyncOutput) GoString() string {
17485	return s.String()
17486}
17487
17488type DeregisterManagedInstanceInput struct {
17489	_ struct{} `type:"structure"`
17490
17491	// The ID assigned to the managed instance when you registered it using the
17492	// activation process.
17493	//
17494	// InstanceId is a required field
17495	InstanceId *string `type:"string" required:"true"`
17496}
17497
17498// String returns the string representation
17499func (s DeregisterManagedInstanceInput) String() string {
17500	return awsutil.Prettify(s)
17501}
17502
17503// GoString returns the string representation
17504func (s DeregisterManagedInstanceInput) GoString() string {
17505	return s.String()
17506}
17507
17508// Validate inspects the fields of the type to determine if they are valid.
17509func (s *DeregisterManagedInstanceInput) Validate() error {
17510	invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"}
17511	if s.InstanceId == nil {
17512		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17513	}
17514
17515	if invalidParams.Len() > 0 {
17516		return invalidParams
17517	}
17518	return nil
17519}
17520
17521// SetInstanceId sets the InstanceId field's value.
17522func (s *DeregisterManagedInstanceInput) SetInstanceId(v string) *DeregisterManagedInstanceInput {
17523	s.InstanceId = &v
17524	return s
17525}
17526
17527type DeregisterManagedInstanceOutput struct {
17528	_ struct{} `type:"structure"`
17529}
17530
17531// String returns the string representation
17532func (s DeregisterManagedInstanceOutput) String() string {
17533	return awsutil.Prettify(s)
17534}
17535
17536// GoString returns the string representation
17537func (s DeregisterManagedInstanceOutput) GoString() string {
17538	return s.String()
17539}
17540
17541type DeregisterPatchBaselineForPatchGroupInput struct {
17542	_ struct{} `type:"structure"`
17543
17544	// The ID of the patch baseline to deregister the patch group from.
17545	//
17546	// BaselineId is a required field
17547	BaselineId *string `min:"20" type:"string" required:"true"`
17548
17549	// The name of the patch group that should be deregistered from the patch baseline.
17550	//
17551	// PatchGroup is a required field
17552	PatchGroup *string `min:"1" type:"string" required:"true"`
17553}
17554
17555// String returns the string representation
17556func (s DeregisterPatchBaselineForPatchGroupInput) String() string {
17557	return awsutil.Prettify(s)
17558}
17559
17560// GoString returns the string representation
17561func (s DeregisterPatchBaselineForPatchGroupInput) GoString() string {
17562	return s.String()
17563}
17564
17565// Validate inspects the fields of the type to determine if they are valid.
17566func (s *DeregisterPatchBaselineForPatchGroupInput) Validate() error {
17567	invalidParams := request.ErrInvalidParams{Context: "DeregisterPatchBaselineForPatchGroupInput"}
17568	if s.BaselineId == nil {
17569		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
17570	}
17571	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
17572		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
17573	}
17574	if s.PatchGroup == nil {
17575		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
17576	}
17577	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
17578		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
17579	}
17580
17581	if invalidParams.Len() > 0 {
17582		return invalidParams
17583	}
17584	return nil
17585}
17586
17587// SetBaselineId sets the BaselineId field's value.
17588func (s *DeregisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupInput {
17589	s.BaselineId = &v
17590	return s
17591}
17592
17593// SetPatchGroup sets the PatchGroup field's value.
17594func (s *DeregisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupInput {
17595	s.PatchGroup = &v
17596	return s
17597}
17598
17599type DeregisterPatchBaselineForPatchGroupOutput struct {
17600	_ struct{} `type:"structure"`
17601
17602	// The ID of the patch baseline the patch group was deregistered from.
17603	BaselineId *string `min:"20" type:"string"`
17604
17605	// The name of the patch group deregistered from the patch baseline.
17606	PatchGroup *string `min:"1" type:"string"`
17607}
17608
17609// String returns the string representation
17610func (s DeregisterPatchBaselineForPatchGroupOutput) String() string {
17611	return awsutil.Prettify(s)
17612}
17613
17614// GoString returns the string representation
17615func (s DeregisterPatchBaselineForPatchGroupOutput) GoString() string {
17616	return s.String()
17617}
17618
17619// SetBaselineId sets the BaselineId field's value.
17620func (s *DeregisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupOutput {
17621	s.BaselineId = &v
17622	return s
17623}
17624
17625// SetPatchGroup sets the PatchGroup field's value.
17626func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupOutput {
17627	s.PatchGroup = &v
17628	return s
17629}
17630
17631type DeregisterTargetFromMaintenanceWindowInput struct {
17632	_ struct{} `type:"structure"`
17633
17634	// The system checks if the target is being referenced by a task. If the target
17635	// is being referenced, the system returns an error and does not deregister
17636	// the target from the maintenance window.
17637	Safe *bool `type:"boolean"`
17638
17639	// The ID of the maintenance window the target should be removed from.
17640	//
17641	// WindowId is a required field
17642	WindowId *string `min:"20" type:"string" required:"true"`
17643
17644	// The ID of the target definition to remove.
17645	//
17646	// WindowTargetId is a required field
17647	WindowTargetId *string `min:"36" type:"string" required:"true"`
17648}
17649
17650// String returns the string representation
17651func (s DeregisterTargetFromMaintenanceWindowInput) String() string {
17652	return awsutil.Prettify(s)
17653}
17654
17655// GoString returns the string representation
17656func (s DeregisterTargetFromMaintenanceWindowInput) GoString() string {
17657	return s.String()
17658}
17659
17660// Validate inspects the fields of the type to determine if they are valid.
17661func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error {
17662	invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetFromMaintenanceWindowInput"}
17663	if s.WindowId == nil {
17664		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17665	}
17666	if s.WindowId != nil && len(*s.WindowId) < 20 {
17667		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17668	}
17669	if s.WindowTargetId == nil {
17670		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
17671	}
17672	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
17673		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
17674	}
17675
17676	if invalidParams.Len() > 0 {
17677		return invalidParams
17678	}
17679	return nil
17680}
17681
17682// SetSafe sets the Safe field's value.
17683func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput {
17684	s.Safe = &v
17685	return s
17686}
17687
17688// SetWindowId sets the WindowId field's value.
17689func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput {
17690	s.WindowId = &v
17691	return s
17692}
17693
17694// SetWindowTargetId sets the WindowTargetId field's value.
17695func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowInput {
17696	s.WindowTargetId = &v
17697	return s
17698}
17699
17700type DeregisterTargetFromMaintenanceWindowOutput struct {
17701	_ struct{} `type:"structure"`
17702
17703	// The ID of the maintenance window the target was removed from.
17704	WindowId *string `min:"20" type:"string"`
17705
17706	// The ID of the removed target definition.
17707	WindowTargetId *string `min:"36" type:"string"`
17708}
17709
17710// String returns the string representation
17711func (s DeregisterTargetFromMaintenanceWindowOutput) String() string {
17712	return awsutil.Prettify(s)
17713}
17714
17715// GoString returns the string representation
17716func (s DeregisterTargetFromMaintenanceWindowOutput) GoString() string {
17717	return s.String()
17718}
17719
17720// SetWindowId sets the WindowId field's value.
17721func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
17722	s.WindowId = &v
17723	return s
17724}
17725
17726// SetWindowTargetId sets the WindowTargetId field's value.
17727func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
17728	s.WindowTargetId = &v
17729	return s
17730}
17731
17732type DeregisterTaskFromMaintenanceWindowInput struct {
17733	_ struct{} `type:"structure"`
17734
17735	// The ID of the maintenance window the task should be removed from.
17736	//
17737	// WindowId is a required field
17738	WindowId *string `min:"20" type:"string" required:"true"`
17739
17740	// The ID of the task to remove from the maintenance window.
17741	//
17742	// WindowTaskId is a required field
17743	WindowTaskId *string `min:"36" type:"string" required:"true"`
17744}
17745
17746// String returns the string representation
17747func (s DeregisterTaskFromMaintenanceWindowInput) String() string {
17748	return awsutil.Prettify(s)
17749}
17750
17751// GoString returns the string representation
17752func (s DeregisterTaskFromMaintenanceWindowInput) GoString() string {
17753	return s.String()
17754}
17755
17756// Validate inspects the fields of the type to determine if they are valid.
17757func (s *DeregisterTaskFromMaintenanceWindowInput) Validate() error {
17758	invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskFromMaintenanceWindowInput"}
17759	if s.WindowId == nil {
17760		invalidParams.Add(request.NewErrParamRequired("WindowId"))
17761	}
17762	if s.WindowId != nil && len(*s.WindowId) < 20 {
17763		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
17764	}
17765	if s.WindowTaskId == nil {
17766		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
17767	}
17768	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
17769		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
17770	}
17771
17772	if invalidParams.Len() > 0 {
17773		return invalidParams
17774	}
17775	return nil
17776}
17777
17778// SetWindowId sets the WindowId field's value.
17779func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowInput {
17780	s.WindowId = &v
17781	return s
17782}
17783
17784// SetWindowTaskId sets the WindowTaskId field's value.
17785func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowInput {
17786	s.WindowTaskId = &v
17787	return s
17788}
17789
17790type DeregisterTaskFromMaintenanceWindowOutput struct {
17791	_ struct{} `type:"structure"`
17792
17793	// The ID of the maintenance window the task was removed from.
17794	WindowId *string `min:"20" type:"string"`
17795
17796	// The ID of the task removed from the maintenance window.
17797	WindowTaskId *string `min:"36" type:"string"`
17798}
17799
17800// String returns the string representation
17801func (s DeregisterTaskFromMaintenanceWindowOutput) String() string {
17802	return awsutil.Prettify(s)
17803}
17804
17805// GoString returns the string representation
17806func (s DeregisterTaskFromMaintenanceWindowOutput) GoString() string {
17807	return s.String()
17808}
17809
17810// SetWindowId sets the WindowId field's value.
17811func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
17812	s.WindowId = &v
17813	return s
17814}
17815
17816// SetWindowTaskId sets the WindowTaskId field's value.
17817func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
17818	s.WindowTaskId = &v
17819	return s
17820}
17821
17822// Filter for the DescribeActivation API.
17823type DescribeActivationsFilter struct {
17824	_ struct{} `type:"structure"`
17825
17826	// The name of the filter.
17827	FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"`
17828
17829	// The filter values.
17830	FilterValues []*string `type:"list"`
17831}
17832
17833// String returns the string representation
17834func (s DescribeActivationsFilter) String() string {
17835	return awsutil.Prettify(s)
17836}
17837
17838// GoString returns the string representation
17839func (s DescribeActivationsFilter) GoString() string {
17840	return s.String()
17841}
17842
17843// SetFilterKey sets the FilterKey field's value.
17844func (s *DescribeActivationsFilter) SetFilterKey(v string) *DescribeActivationsFilter {
17845	s.FilterKey = &v
17846	return s
17847}
17848
17849// SetFilterValues sets the FilterValues field's value.
17850func (s *DescribeActivationsFilter) SetFilterValues(v []*string) *DescribeActivationsFilter {
17851	s.FilterValues = v
17852	return s
17853}
17854
17855type DescribeActivationsInput struct {
17856	_ struct{} `type:"structure"`
17857
17858	// A filter to view information about your activations.
17859	Filters []*DescribeActivationsFilter `type:"list"`
17860
17861	// The maximum number of items to return for this call. The call also returns
17862	// a token that you can specify in a subsequent call to get the next set of
17863	// results.
17864	MaxResults *int64 `min:"1" type:"integer"`
17865
17866	// A token to start the list. Use this token to get the next set of results.
17867	NextToken *string `type:"string"`
17868}
17869
17870// String returns the string representation
17871func (s DescribeActivationsInput) String() string {
17872	return awsutil.Prettify(s)
17873}
17874
17875// GoString returns the string representation
17876func (s DescribeActivationsInput) GoString() string {
17877	return s.String()
17878}
17879
17880// Validate inspects the fields of the type to determine if they are valid.
17881func (s *DescribeActivationsInput) Validate() error {
17882	invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"}
17883	if s.MaxResults != nil && *s.MaxResults < 1 {
17884		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17885	}
17886
17887	if invalidParams.Len() > 0 {
17888		return invalidParams
17889	}
17890	return nil
17891}
17892
17893// SetFilters sets the Filters field's value.
17894func (s *DescribeActivationsInput) SetFilters(v []*DescribeActivationsFilter) *DescribeActivationsInput {
17895	s.Filters = v
17896	return s
17897}
17898
17899// SetMaxResults sets the MaxResults field's value.
17900func (s *DescribeActivationsInput) SetMaxResults(v int64) *DescribeActivationsInput {
17901	s.MaxResults = &v
17902	return s
17903}
17904
17905// SetNextToken sets the NextToken field's value.
17906func (s *DescribeActivationsInput) SetNextToken(v string) *DescribeActivationsInput {
17907	s.NextToken = &v
17908	return s
17909}
17910
17911type DescribeActivationsOutput struct {
17912	_ struct{} `type:"structure"`
17913
17914	// A list of activations for your AWS account.
17915	ActivationList []*Activation `type:"list"`
17916
17917	// The token for the next set of items to return. Use this token to get the
17918	// next set of results.
17919	NextToken *string `type:"string"`
17920}
17921
17922// String returns the string representation
17923func (s DescribeActivationsOutput) String() string {
17924	return awsutil.Prettify(s)
17925}
17926
17927// GoString returns the string representation
17928func (s DescribeActivationsOutput) GoString() string {
17929	return s.String()
17930}
17931
17932// SetActivationList sets the ActivationList field's value.
17933func (s *DescribeActivationsOutput) SetActivationList(v []*Activation) *DescribeActivationsOutput {
17934	s.ActivationList = v
17935	return s
17936}
17937
17938// SetNextToken sets the NextToken field's value.
17939func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsOutput {
17940	s.NextToken = &v
17941	return s
17942}
17943
17944type DescribeAssociationExecutionTargetsInput struct {
17945	_ struct{} `type:"structure"`
17946
17947	// The association ID that includes the execution for which you want to view
17948	// details.
17949	//
17950	// AssociationId is a required field
17951	AssociationId *string `type:"string" required:"true"`
17952
17953	// The execution ID for which you want to view details.
17954	//
17955	// ExecutionId is a required field
17956	ExecutionId *string `type:"string" required:"true"`
17957
17958	// Filters for the request. You can specify the following filters and values.
17959	//
17960	// Status (EQUAL)
17961	//
17962	// ResourceId (EQUAL)
17963	//
17964	// ResourceType (EQUAL)
17965	Filters []*AssociationExecutionTargetsFilter `min:"1" type:"list"`
17966
17967	// The maximum number of items to return for this call. The call also returns
17968	// a token that you can specify in a subsequent call to get the next set of
17969	// results.
17970	MaxResults *int64 `min:"1" type:"integer"`
17971
17972	// A token to start the list. Use this token to get the next set of results.
17973	NextToken *string `type:"string"`
17974}
17975
17976// String returns the string representation
17977func (s DescribeAssociationExecutionTargetsInput) String() string {
17978	return awsutil.Prettify(s)
17979}
17980
17981// GoString returns the string representation
17982func (s DescribeAssociationExecutionTargetsInput) GoString() string {
17983	return s.String()
17984}
17985
17986// Validate inspects the fields of the type to determine if they are valid.
17987func (s *DescribeAssociationExecutionTargetsInput) Validate() error {
17988	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionTargetsInput"}
17989	if s.AssociationId == nil {
17990		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
17991	}
17992	if s.ExecutionId == nil {
17993		invalidParams.Add(request.NewErrParamRequired("ExecutionId"))
17994	}
17995	if s.Filters != nil && len(s.Filters) < 1 {
17996		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
17997	}
17998	if s.MaxResults != nil && *s.MaxResults < 1 {
17999		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18000	}
18001	if s.Filters != nil {
18002		for i, v := range s.Filters {
18003			if v == nil {
18004				continue
18005			}
18006			if err := v.Validate(); err != nil {
18007				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18008			}
18009		}
18010	}
18011
18012	if invalidParams.Len() > 0 {
18013		return invalidParams
18014	}
18015	return nil
18016}
18017
18018// SetAssociationId sets the AssociationId field's value.
18019func (s *DescribeAssociationExecutionTargetsInput) SetAssociationId(v string) *DescribeAssociationExecutionTargetsInput {
18020	s.AssociationId = &v
18021	return s
18022}
18023
18024// SetExecutionId sets the ExecutionId field's value.
18025func (s *DescribeAssociationExecutionTargetsInput) SetExecutionId(v string) *DescribeAssociationExecutionTargetsInput {
18026	s.ExecutionId = &v
18027	return s
18028}
18029
18030// SetFilters sets the Filters field's value.
18031func (s *DescribeAssociationExecutionTargetsInput) SetFilters(v []*AssociationExecutionTargetsFilter) *DescribeAssociationExecutionTargetsInput {
18032	s.Filters = v
18033	return s
18034}
18035
18036// SetMaxResults sets the MaxResults field's value.
18037func (s *DescribeAssociationExecutionTargetsInput) SetMaxResults(v int64) *DescribeAssociationExecutionTargetsInput {
18038	s.MaxResults = &v
18039	return s
18040}
18041
18042// SetNextToken sets the NextToken field's value.
18043func (s *DescribeAssociationExecutionTargetsInput) SetNextToken(v string) *DescribeAssociationExecutionTargetsInput {
18044	s.NextToken = &v
18045	return s
18046}
18047
18048type DescribeAssociationExecutionTargetsOutput struct {
18049	_ struct{} `type:"structure"`
18050
18051	// Information about the execution.
18052	AssociationExecutionTargets []*AssociationExecutionTarget `type:"list"`
18053
18054	// The token for the next set of items to return. Use this token to get the
18055	// next set of results.
18056	NextToken *string `type:"string"`
18057}
18058
18059// String returns the string representation
18060func (s DescribeAssociationExecutionTargetsOutput) String() string {
18061	return awsutil.Prettify(s)
18062}
18063
18064// GoString returns the string representation
18065func (s DescribeAssociationExecutionTargetsOutput) GoString() string {
18066	return s.String()
18067}
18068
18069// SetAssociationExecutionTargets sets the AssociationExecutionTargets field's value.
18070func (s *DescribeAssociationExecutionTargetsOutput) SetAssociationExecutionTargets(v []*AssociationExecutionTarget) *DescribeAssociationExecutionTargetsOutput {
18071	s.AssociationExecutionTargets = v
18072	return s
18073}
18074
18075// SetNextToken sets the NextToken field's value.
18076func (s *DescribeAssociationExecutionTargetsOutput) SetNextToken(v string) *DescribeAssociationExecutionTargetsOutput {
18077	s.NextToken = &v
18078	return s
18079}
18080
18081type DescribeAssociationExecutionsInput struct {
18082	_ struct{} `type:"structure"`
18083
18084	// The association ID for which you want to view execution history details.
18085	//
18086	// AssociationId is a required field
18087	AssociationId *string `type:"string" required:"true"`
18088
18089	// Filters for the request. You can specify the following filters and values.
18090	//
18091	// ExecutionId (EQUAL)
18092	//
18093	// Status (EQUAL)
18094	//
18095	// CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)
18096	Filters []*AssociationExecutionFilter `min:"1" type:"list"`
18097
18098	// The maximum number of items to return for this call. The call also returns
18099	// a token that you can specify in a subsequent call to get the next set of
18100	// results.
18101	MaxResults *int64 `min:"1" type:"integer"`
18102
18103	// A token to start the list. Use this token to get the next set of results.
18104	NextToken *string `type:"string"`
18105}
18106
18107// String returns the string representation
18108func (s DescribeAssociationExecutionsInput) String() string {
18109	return awsutil.Prettify(s)
18110}
18111
18112// GoString returns the string representation
18113func (s DescribeAssociationExecutionsInput) GoString() string {
18114	return s.String()
18115}
18116
18117// Validate inspects the fields of the type to determine if they are valid.
18118func (s *DescribeAssociationExecutionsInput) Validate() error {
18119	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionsInput"}
18120	if s.AssociationId == nil {
18121		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
18122	}
18123	if s.Filters != nil && len(s.Filters) < 1 {
18124		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
18125	}
18126	if s.MaxResults != nil && *s.MaxResults < 1 {
18127		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18128	}
18129	if s.Filters != nil {
18130		for i, v := range s.Filters {
18131			if v == nil {
18132				continue
18133			}
18134			if err := v.Validate(); err != nil {
18135				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18136			}
18137		}
18138	}
18139
18140	if invalidParams.Len() > 0 {
18141		return invalidParams
18142	}
18143	return nil
18144}
18145
18146// SetAssociationId sets the AssociationId field's value.
18147func (s *DescribeAssociationExecutionsInput) SetAssociationId(v string) *DescribeAssociationExecutionsInput {
18148	s.AssociationId = &v
18149	return s
18150}
18151
18152// SetFilters sets the Filters field's value.
18153func (s *DescribeAssociationExecutionsInput) SetFilters(v []*AssociationExecutionFilter) *DescribeAssociationExecutionsInput {
18154	s.Filters = v
18155	return s
18156}
18157
18158// SetMaxResults sets the MaxResults field's value.
18159func (s *DescribeAssociationExecutionsInput) SetMaxResults(v int64) *DescribeAssociationExecutionsInput {
18160	s.MaxResults = &v
18161	return s
18162}
18163
18164// SetNextToken sets the NextToken field's value.
18165func (s *DescribeAssociationExecutionsInput) SetNextToken(v string) *DescribeAssociationExecutionsInput {
18166	s.NextToken = &v
18167	return s
18168}
18169
18170type DescribeAssociationExecutionsOutput struct {
18171	_ struct{} `type:"structure"`
18172
18173	// A list of the executions for the specified association ID.
18174	AssociationExecutions []*AssociationExecution `type:"list"`
18175
18176	// The token for the next set of items to return. Use this token to get the
18177	// next set of results.
18178	NextToken *string `type:"string"`
18179}
18180
18181// String returns the string representation
18182func (s DescribeAssociationExecutionsOutput) String() string {
18183	return awsutil.Prettify(s)
18184}
18185
18186// GoString returns the string representation
18187func (s DescribeAssociationExecutionsOutput) GoString() string {
18188	return s.String()
18189}
18190
18191// SetAssociationExecutions sets the AssociationExecutions field's value.
18192func (s *DescribeAssociationExecutionsOutput) SetAssociationExecutions(v []*AssociationExecution) *DescribeAssociationExecutionsOutput {
18193	s.AssociationExecutions = v
18194	return s
18195}
18196
18197// SetNextToken sets the NextToken field's value.
18198func (s *DescribeAssociationExecutionsOutput) SetNextToken(v string) *DescribeAssociationExecutionsOutput {
18199	s.NextToken = &v
18200	return s
18201}
18202
18203type DescribeAssociationInput struct {
18204	_ struct{} `type:"structure"`
18205
18206	// The association ID for which you want information.
18207	AssociationId *string `type:"string"`
18208
18209	// Specify the association version to retrieve. To view the latest version,
18210	// either specify $LATEST for this parameter, or omit this parameter. To view
18211	// a list of all associations for an instance, use ListAssociations. To get
18212	// a list of versions for a specific association, use ListAssociationVersions.
18213	AssociationVersion *string `type:"string"`
18214
18215	// The instance ID.
18216	InstanceId *string `type:"string"`
18217
18218	// The name of the Systems Manager document.
18219	Name *string `type:"string"`
18220}
18221
18222// String returns the string representation
18223func (s DescribeAssociationInput) String() string {
18224	return awsutil.Prettify(s)
18225}
18226
18227// GoString returns the string representation
18228func (s DescribeAssociationInput) GoString() string {
18229	return s.String()
18230}
18231
18232// SetAssociationId sets the AssociationId field's value.
18233func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput {
18234	s.AssociationId = &v
18235	return s
18236}
18237
18238// SetAssociationVersion sets the AssociationVersion field's value.
18239func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput {
18240	s.AssociationVersion = &v
18241	return s
18242}
18243
18244// SetInstanceId sets the InstanceId field's value.
18245func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput {
18246	s.InstanceId = &v
18247	return s
18248}
18249
18250// SetName sets the Name field's value.
18251func (s *DescribeAssociationInput) SetName(v string) *DescribeAssociationInput {
18252	s.Name = &v
18253	return s
18254}
18255
18256type DescribeAssociationOutput struct {
18257	_ struct{} `type:"structure"`
18258
18259	// Information about the association.
18260	AssociationDescription *AssociationDescription `type:"structure"`
18261}
18262
18263// String returns the string representation
18264func (s DescribeAssociationOutput) String() string {
18265	return awsutil.Prettify(s)
18266}
18267
18268// GoString returns the string representation
18269func (s DescribeAssociationOutput) GoString() string {
18270	return s.String()
18271}
18272
18273// SetAssociationDescription sets the AssociationDescription field's value.
18274func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDescription) *DescribeAssociationOutput {
18275	s.AssociationDescription = v
18276	return s
18277}
18278
18279type DescribeAutomationExecutionsInput struct {
18280	_ struct{} `type:"structure"`
18281
18282	// Filters used to limit the scope of executions that are requested.
18283	Filters []*AutomationExecutionFilter `min:"1" type:"list"`
18284
18285	// The maximum number of items to return for this call. The call also returns
18286	// a token that you can specify in a subsequent call to get the next set of
18287	// results.
18288	MaxResults *int64 `min:"1" type:"integer"`
18289
18290	// The token for the next set of items to return. (You received this token from
18291	// a previous call.)
18292	NextToken *string `type:"string"`
18293}
18294
18295// String returns the string representation
18296func (s DescribeAutomationExecutionsInput) String() string {
18297	return awsutil.Prettify(s)
18298}
18299
18300// GoString returns the string representation
18301func (s DescribeAutomationExecutionsInput) GoString() string {
18302	return s.String()
18303}
18304
18305// Validate inspects the fields of the type to determine if they are valid.
18306func (s *DescribeAutomationExecutionsInput) Validate() error {
18307	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationExecutionsInput"}
18308	if s.Filters != nil && len(s.Filters) < 1 {
18309		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
18310	}
18311	if s.MaxResults != nil && *s.MaxResults < 1 {
18312		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18313	}
18314	if s.Filters != nil {
18315		for i, v := range s.Filters {
18316			if v == nil {
18317				continue
18318			}
18319			if err := v.Validate(); err != nil {
18320				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18321			}
18322		}
18323	}
18324
18325	if invalidParams.Len() > 0 {
18326		return invalidParams
18327	}
18328	return nil
18329}
18330
18331// SetFilters sets the Filters field's value.
18332func (s *DescribeAutomationExecutionsInput) SetFilters(v []*AutomationExecutionFilter) *DescribeAutomationExecutionsInput {
18333	s.Filters = v
18334	return s
18335}
18336
18337// SetMaxResults sets the MaxResults field's value.
18338func (s *DescribeAutomationExecutionsInput) SetMaxResults(v int64) *DescribeAutomationExecutionsInput {
18339	s.MaxResults = &v
18340	return s
18341}
18342
18343// SetNextToken sets the NextToken field's value.
18344func (s *DescribeAutomationExecutionsInput) SetNextToken(v string) *DescribeAutomationExecutionsInput {
18345	s.NextToken = &v
18346	return s
18347}
18348
18349type DescribeAutomationExecutionsOutput struct {
18350	_ struct{} `type:"structure"`
18351
18352	// The list of details about each automation execution which has occurred which
18353	// matches the filter specification, if any.
18354	AutomationExecutionMetadataList []*AutomationExecutionMetadata `type:"list"`
18355
18356	// The token to use when requesting the next set of items. If there are no additional
18357	// items to return, the string is empty.
18358	NextToken *string `type:"string"`
18359}
18360
18361// String returns the string representation
18362func (s DescribeAutomationExecutionsOutput) String() string {
18363	return awsutil.Prettify(s)
18364}
18365
18366// GoString returns the string representation
18367func (s DescribeAutomationExecutionsOutput) GoString() string {
18368	return s.String()
18369}
18370
18371// SetAutomationExecutionMetadataList sets the AutomationExecutionMetadataList field's value.
18372func (s *DescribeAutomationExecutionsOutput) SetAutomationExecutionMetadataList(v []*AutomationExecutionMetadata) *DescribeAutomationExecutionsOutput {
18373	s.AutomationExecutionMetadataList = v
18374	return s
18375}
18376
18377// SetNextToken sets the NextToken field's value.
18378func (s *DescribeAutomationExecutionsOutput) SetNextToken(v string) *DescribeAutomationExecutionsOutput {
18379	s.NextToken = &v
18380	return s
18381}
18382
18383type DescribeAutomationStepExecutionsInput struct {
18384	_ struct{} `type:"structure"`
18385
18386	// The Automation execution ID for which you want step execution descriptions.
18387	//
18388	// AutomationExecutionId is a required field
18389	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
18390
18391	// One or more filters to limit the number of step executions returned by the
18392	// request.
18393	Filters []*StepExecutionFilter `min:"1" type:"list"`
18394
18395	// The maximum number of items to return for this call. The call also returns
18396	// a token that you can specify in a subsequent call to get the next set of
18397	// results.
18398	MaxResults *int64 `min:"1" type:"integer"`
18399
18400	// The token for the next set of items to return. (You received this token from
18401	// a previous call.)
18402	NextToken *string `type:"string"`
18403
18404	// A boolean that indicates whether to list step executions in reverse order
18405	// by start time. The default value is false.
18406	ReverseOrder *bool `type:"boolean"`
18407}
18408
18409// String returns the string representation
18410func (s DescribeAutomationStepExecutionsInput) String() string {
18411	return awsutil.Prettify(s)
18412}
18413
18414// GoString returns the string representation
18415func (s DescribeAutomationStepExecutionsInput) GoString() string {
18416	return s.String()
18417}
18418
18419// Validate inspects the fields of the type to determine if they are valid.
18420func (s *DescribeAutomationStepExecutionsInput) Validate() error {
18421	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationStepExecutionsInput"}
18422	if s.AutomationExecutionId == nil {
18423		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
18424	}
18425	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
18426		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
18427	}
18428	if s.Filters != nil && len(s.Filters) < 1 {
18429		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
18430	}
18431	if s.MaxResults != nil && *s.MaxResults < 1 {
18432		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18433	}
18434	if s.Filters != nil {
18435		for i, v := range s.Filters {
18436			if v == nil {
18437				continue
18438			}
18439			if err := v.Validate(); err != nil {
18440				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18441			}
18442		}
18443	}
18444
18445	if invalidParams.Len() > 0 {
18446		return invalidParams
18447	}
18448	return nil
18449}
18450
18451// SetAutomationExecutionId sets the AutomationExecutionId field's value.
18452func (s *DescribeAutomationStepExecutionsInput) SetAutomationExecutionId(v string) *DescribeAutomationStepExecutionsInput {
18453	s.AutomationExecutionId = &v
18454	return s
18455}
18456
18457// SetFilters sets the Filters field's value.
18458func (s *DescribeAutomationStepExecutionsInput) SetFilters(v []*StepExecutionFilter) *DescribeAutomationStepExecutionsInput {
18459	s.Filters = v
18460	return s
18461}
18462
18463// SetMaxResults sets the MaxResults field's value.
18464func (s *DescribeAutomationStepExecutionsInput) SetMaxResults(v int64) *DescribeAutomationStepExecutionsInput {
18465	s.MaxResults = &v
18466	return s
18467}
18468
18469// SetNextToken sets the NextToken field's value.
18470func (s *DescribeAutomationStepExecutionsInput) SetNextToken(v string) *DescribeAutomationStepExecutionsInput {
18471	s.NextToken = &v
18472	return s
18473}
18474
18475// SetReverseOrder sets the ReverseOrder field's value.
18476func (s *DescribeAutomationStepExecutionsInput) SetReverseOrder(v bool) *DescribeAutomationStepExecutionsInput {
18477	s.ReverseOrder = &v
18478	return s
18479}
18480
18481type DescribeAutomationStepExecutionsOutput struct {
18482	_ struct{} `type:"structure"`
18483
18484	// The token to use when requesting the next set of items. If there are no additional
18485	// items to return, the string is empty.
18486	NextToken *string `type:"string"`
18487
18488	// A list of details about the current state of all steps that make up an execution.
18489	StepExecutions []*StepExecution `type:"list"`
18490}
18491
18492// String returns the string representation
18493func (s DescribeAutomationStepExecutionsOutput) String() string {
18494	return awsutil.Prettify(s)
18495}
18496
18497// GoString returns the string representation
18498func (s DescribeAutomationStepExecutionsOutput) GoString() string {
18499	return s.String()
18500}
18501
18502// SetNextToken sets the NextToken field's value.
18503func (s *DescribeAutomationStepExecutionsOutput) SetNextToken(v string) *DescribeAutomationStepExecutionsOutput {
18504	s.NextToken = &v
18505	return s
18506}
18507
18508// SetStepExecutions sets the StepExecutions field's value.
18509func (s *DescribeAutomationStepExecutionsOutput) SetStepExecutions(v []*StepExecution) *DescribeAutomationStepExecutionsOutput {
18510	s.StepExecutions = v
18511	return s
18512}
18513
18514type DescribeAvailablePatchesInput struct {
18515	_ struct{} `type:"structure"`
18516
18517	// Filters used to scope down the returned patches.
18518	Filters []*PatchOrchestratorFilter `type:"list"`
18519
18520	// The maximum number of patches to return (per page).
18521	MaxResults *int64 `min:"1" type:"integer"`
18522
18523	// The token for the next set of items to return. (You received this token from
18524	// a previous call.)
18525	NextToken *string `type:"string"`
18526}
18527
18528// String returns the string representation
18529func (s DescribeAvailablePatchesInput) String() string {
18530	return awsutil.Prettify(s)
18531}
18532
18533// GoString returns the string representation
18534func (s DescribeAvailablePatchesInput) GoString() string {
18535	return s.String()
18536}
18537
18538// Validate inspects the fields of the type to determine if they are valid.
18539func (s *DescribeAvailablePatchesInput) Validate() error {
18540	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailablePatchesInput"}
18541	if s.MaxResults != nil && *s.MaxResults < 1 {
18542		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18543	}
18544	if s.Filters != nil {
18545		for i, v := range s.Filters {
18546			if v == nil {
18547				continue
18548			}
18549			if err := v.Validate(); err != nil {
18550				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18551			}
18552		}
18553	}
18554
18555	if invalidParams.Len() > 0 {
18556		return invalidParams
18557	}
18558	return nil
18559}
18560
18561// SetFilters sets the Filters field's value.
18562func (s *DescribeAvailablePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeAvailablePatchesInput {
18563	s.Filters = v
18564	return s
18565}
18566
18567// SetMaxResults sets the MaxResults field's value.
18568func (s *DescribeAvailablePatchesInput) SetMaxResults(v int64) *DescribeAvailablePatchesInput {
18569	s.MaxResults = &v
18570	return s
18571}
18572
18573// SetNextToken sets the NextToken field's value.
18574func (s *DescribeAvailablePatchesInput) SetNextToken(v string) *DescribeAvailablePatchesInput {
18575	s.NextToken = &v
18576	return s
18577}
18578
18579type DescribeAvailablePatchesOutput struct {
18580	_ struct{} `type:"structure"`
18581
18582	// The token to use when requesting the next set of items. If there are no additional
18583	// items to return, the string is empty.
18584	NextToken *string `type:"string"`
18585
18586	// An array of patches. Each entry in the array is a patch structure.
18587	Patches []*Patch `type:"list"`
18588}
18589
18590// String returns the string representation
18591func (s DescribeAvailablePatchesOutput) String() string {
18592	return awsutil.Prettify(s)
18593}
18594
18595// GoString returns the string representation
18596func (s DescribeAvailablePatchesOutput) GoString() string {
18597	return s.String()
18598}
18599
18600// SetNextToken sets the NextToken field's value.
18601func (s *DescribeAvailablePatchesOutput) SetNextToken(v string) *DescribeAvailablePatchesOutput {
18602	s.NextToken = &v
18603	return s
18604}
18605
18606// SetPatches sets the Patches field's value.
18607func (s *DescribeAvailablePatchesOutput) SetPatches(v []*Patch) *DescribeAvailablePatchesOutput {
18608	s.Patches = v
18609	return s
18610}
18611
18612type DescribeDocumentInput struct {
18613	_ struct{} `type:"structure"`
18614
18615	// The document version for which you want information. Can be a specific version
18616	// or the default version.
18617	DocumentVersion *string `type:"string"`
18618
18619	// The name of the Systems Manager document.
18620	//
18621	// Name is a required field
18622	Name *string `type:"string" required:"true"`
18623
18624	// An optional field specifying the version of the artifact associated with
18625	// the document. For example, "Release 12, Update 6". This value is unique across
18626	// all versions of a document, and cannot be changed.
18627	VersionName *string `type:"string"`
18628}
18629
18630// String returns the string representation
18631func (s DescribeDocumentInput) String() string {
18632	return awsutil.Prettify(s)
18633}
18634
18635// GoString returns the string representation
18636func (s DescribeDocumentInput) GoString() string {
18637	return s.String()
18638}
18639
18640// Validate inspects the fields of the type to determine if they are valid.
18641func (s *DescribeDocumentInput) Validate() error {
18642	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"}
18643	if s.Name == nil {
18644		invalidParams.Add(request.NewErrParamRequired("Name"))
18645	}
18646
18647	if invalidParams.Len() > 0 {
18648		return invalidParams
18649	}
18650	return nil
18651}
18652
18653// SetDocumentVersion sets the DocumentVersion field's value.
18654func (s *DescribeDocumentInput) SetDocumentVersion(v string) *DescribeDocumentInput {
18655	s.DocumentVersion = &v
18656	return s
18657}
18658
18659// SetName sets the Name field's value.
18660func (s *DescribeDocumentInput) SetName(v string) *DescribeDocumentInput {
18661	s.Name = &v
18662	return s
18663}
18664
18665// SetVersionName sets the VersionName field's value.
18666func (s *DescribeDocumentInput) SetVersionName(v string) *DescribeDocumentInput {
18667	s.VersionName = &v
18668	return s
18669}
18670
18671type DescribeDocumentOutput struct {
18672	_ struct{} `type:"structure"`
18673
18674	// Information about the Systems Manager document.
18675	Document *DocumentDescription `type:"structure"`
18676}
18677
18678// String returns the string representation
18679func (s DescribeDocumentOutput) String() string {
18680	return awsutil.Prettify(s)
18681}
18682
18683// GoString returns the string representation
18684func (s DescribeDocumentOutput) GoString() string {
18685	return s.String()
18686}
18687
18688// SetDocument sets the Document field's value.
18689func (s *DescribeDocumentOutput) SetDocument(v *DocumentDescription) *DescribeDocumentOutput {
18690	s.Document = v
18691	return s
18692}
18693
18694type DescribeDocumentPermissionInput struct {
18695	_ struct{} `type:"structure"`
18696
18697	// The name of the document for which you are the owner.
18698	//
18699	// Name is a required field
18700	Name *string `type:"string" required:"true"`
18701
18702	// The permission type for the document. The permission type can be Share.
18703	//
18704	// PermissionType is a required field
18705	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
18706}
18707
18708// String returns the string representation
18709func (s DescribeDocumentPermissionInput) String() string {
18710	return awsutil.Prettify(s)
18711}
18712
18713// GoString returns the string representation
18714func (s DescribeDocumentPermissionInput) GoString() string {
18715	return s.String()
18716}
18717
18718// Validate inspects the fields of the type to determine if they are valid.
18719func (s *DescribeDocumentPermissionInput) Validate() error {
18720	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"}
18721	if s.Name == nil {
18722		invalidParams.Add(request.NewErrParamRequired("Name"))
18723	}
18724	if s.PermissionType == nil {
18725		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
18726	}
18727
18728	if invalidParams.Len() > 0 {
18729		return invalidParams
18730	}
18731	return nil
18732}
18733
18734// SetName sets the Name field's value.
18735func (s *DescribeDocumentPermissionInput) SetName(v string) *DescribeDocumentPermissionInput {
18736	s.Name = &v
18737	return s
18738}
18739
18740// SetPermissionType sets the PermissionType field's value.
18741func (s *DescribeDocumentPermissionInput) SetPermissionType(v string) *DescribeDocumentPermissionInput {
18742	s.PermissionType = &v
18743	return s
18744}
18745
18746type DescribeDocumentPermissionOutput struct {
18747	_ struct{} `type:"structure"`
18748
18749	// The account IDs that have permission to use this document. The ID can be
18750	// either an AWS account or All.
18751	AccountIds []*string `type:"list"`
18752
18753	// A list of of AWS accounts where the current document is shared and the version
18754	// shared with each account.
18755	AccountSharingInfoList []*AccountSharingInfo `type:"list"`
18756}
18757
18758// String returns the string representation
18759func (s DescribeDocumentPermissionOutput) String() string {
18760	return awsutil.Prettify(s)
18761}
18762
18763// GoString returns the string representation
18764func (s DescribeDocumentPermissionOutput) GoString() string {
18765	return s.String()
18766}
18767
18768// SetAccountIds sets the AccountIds field's value.
18769func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeDocumentPermissionOutput {
18770	s.AccountIds = v
18771	return s
18772}
18773
18774// SetAccountSharingInfoList sets the AccountSharingInfoList field's value.
18775func (s *DescribeDocumentPermissionOutput) SetAccountSharingInfoList(v []*AccountSharingInfo) *DescribeDocumentPermissionOutput {
18776	s.AccountSharingInfoList = v
18777	return s
18778}
18779
18780type DescribeEffectiveInstanceAssociationsInput struct {
18781	_ struct{} `type:"structure"`
18782
18783	// The instance ID for which you want to view all associations.
18784	//
18785	// InstanceId is a required field
18786	InstanceId *string `type:"string" required:"true"`
18787
18788	// The maximum number of items to return for this call. The call also returns
18789	// a token that you can specify in a subsequent call to get the next set of
18790	// results.
18791	MaxResults *int64 `min:"1" type:"integer"`
18792
18793	// The token for the next set of items to return. (You received this token from
18794	// a previous call.)
18795	NextToken *string `type:"string"`
18796}
18797
18798// String returns the string representation
18799func (s DescribeEffectiveInstanceAssociationsInput) String() string {
18800	return awsutil.Prettify(s)
18801}
18802
18803// GoString returns the string representation
18804func (s DescribeEffectiveInstanceAssociationsInput) GoString() string {
18805	return s.String()
18806}
18807
18808// Validate inspects the fields of the type to determine if they are valid.
18809func (s *DescribeEffectiveInstanceAssociationsInput) Validate() error {
18810	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectiveInstanceAssociationsInput"}
18811	if s.InstanceId == nil {
18812		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
18813	}
18814	if s.MaxResults != nil && *s.MaxResults < 1 {
18815		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18816	}
18817
18818	if invalidParams.Len() > 0 {
18819		return invalidParams
18820	}
18821	return nil
18822}
18823
18824// SetInstanceId sets the InstanceId field's value.
18825func (s *DescribeEffectiveInstanceAssociationsInput) SetInstanceId(v string) *DescribeEffectiveInstanceAssociationsInput {
18826	s.InstanceId = &v
18827	return s
18828}
18829
18830// SetMaxResults sets the MaxResults field's value.
18831func (s *DescribeEffectiveInstanceAssociationsInput) SetMaxResults(v int64) *DescribeEffectiveInstanceAssociationsInput {
18832	s.MaxResults = &v
18833	return s
18834}
18835
18836// SetNextToken sets the NextToken field's value.
18837func (s *DescribeEffectiveInstanceAssociationsInput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsInput {
18838	s.NextToken = &v
18839	return s
18840}
18841
18842type DescribeEffectiveInstanceAssociationsOutput struct {
18843	_ struct{} `type:"structure"`
18844
18845	// The associations for the requested instance.
18846	Associations []*InstanceAssociation `type:"list"`
18847
18848	// The token to use when requesting the next set of items. If there are no additional
18849	// items to return, the string is empty.
18850	NextToken *string `type:"string"`
18851}
18852
18853// String returns the string representation
18854func (s DescribeEffectiveInstanceAssociationsOutput) String() string {
18855	return awsutil.Prettify(s)
18856}
18857
18858// GoString returns the string representation
18859func (s DescribeEffectiveInstanceAssociationsOutput) GoString() string {
18860	return s.String()
18861}
18862
18863// SetAssociations sets the Associations field's value.
18864func (s *DescribeEffectiveInstanceAssociationsOutput) SetAssociations(v []*InstanceAssociation) *DescribeEffectiveInstanceAssociationsOutput {
18865	s.Associations = v
18866	return s
18867}
18868
18869// SetNextToken sets the NextToken field's value.
18870func (s *DescribeEffectiveInstanceAssociationsOutput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsOutput {
18871	s.NextToken = &v
18872	return s
18873}
18874
18875type DescribeEffectivePatchesForPatchBaselineInput struct {
18876	_ struct{} `type:"structure"`
18877
18878	// The ID of the patch baseline to retrieve the effective patches for.
18879	//
18880	// BaselineId is a required field
18881	BaselineId *string `min:"20" type:"string" required:"true"`
18882
18883	// The maximum number of patches to return (per page).
18884	MaxResults *int64 `min:"1" type:"integer"`
18885
18886	// The token for the next set of items to return. (You received this token from
18887	// a previous call.)
18888	NextToken *string `type:"string"`
18889}
18890
18891// String returns the string representation
18892func (s DescribeEffectivePatchesForPatchBaselineInput) String() string {
18893	return awsutil.Prettify(s)
18894}
18895
18896// GoString returns the string representation
18897func (s DescribeEffectivePatchesForPatchBaselineInput) GoString() string {
18898	return s.String()
18899}
18900
18901// Validate inspects the fields of the type to determine if they are valid.
18902func (s *DescribeEffectivePatchesForPatchBaselineInput) Validate() error {
18903	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePatchesForPatchBaselineInput"}
18904	if s.BaselineId == nil {
18905		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
18906	}
18907	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
18908		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
18909	}
18910	if s.MaxResults != nil && *s.MaxResults < 1 {
18911		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18912	}
18913
18914	if invalidParams.Len() > 0 {
18915		return invalidParams
18916	}
18917	return nil
18918}
18919
18920// SetBaselineId sets the BaselineId field's value.
18921func (s *DescribeEffectivePatchesForPatchBaselineInput) SetBaselineId(v string) *DescribeEffectivePatchesForPatchBaselineInput {
18922	s.BaselineId = &v
18923	return s
18924}
18925
18926// SetMaxResults sets the MaxResults field's value.
18927func (s *DescribeEffectivePatchesForPatchBaselineInput) SetMaxResults(v int64) *DescribeEffectivePatchesForPatchBaselineInput {
18928	s.MaxResults = &v
18929	return s
18930}
18931
18932// SetNextToken sets the NextToken field's value.
18933func (s *DescribeEffectivePatchesForPatchBaselineInput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineInput {
18934	s.NextToken = &v
18935	return s
18936}
18937
18938type DescribeEffectivePatchesForPatchBaselineOutput struct {
18939	_ struct{} `type:"structure"`
18940
18941	// An array of patches and patch status.
18942	EffectivePatches []*EffectivePatch `type:"list"`
18943
18944	// The token to use when requesting the next set of items. If there are no additional
18945	// items to return, the string is empty.
18946	NextToken *string `type:"string"`
18947}
18948
18949// String returns the string representation
18950func (s DescribeEffectivePatchesForPatchBaselineOutput) String() string {
18951	return awsutil.Prettify(s)
18952}
18953
18954// GoString returns the string representation
18955func (s DescribeEffectivePatchesForPatchBaselineOutput) GoString() string {
18956	return s.String()
18957}
18958
18959// SetEffectivePatches sets the EffectivePatches field's value.
18960func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetEffectivePatches(v []*EffectivePatch) *DescribeEffectivePatchesForPatchBaselineOutput {
18961	s.EffectivePatches = v
18962	return s
18963}
18964
18965// SetNextToken sets the NextToken field's value.
18966func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineOutput {
18967	s.NextToken = &v
18968	return s
18969}
18970
18971type DescribeInstanceAssociationsStatusInput struct {
18972	_ struct{} `type:"structure"`
18973
18974	// The instance IDs for which you want association status information.
18975	//
18976	// InstanceId is a required field
18977	InstanceId *string `type:"string" required:"true"`
18978
18979	// The maximum number of items to return for this call. The call also returns
18980	// a token that you can specify in a subsequent call to get the next set of
18981	// results.
18982	MaxResults *int64 `min:"1" type:"integer"`
18983
18984	// The token for the next set of items to return. (You received this token from
18985	// a previous call.)
18986	NextToken *string `type:"string"`
18987}
18988
18989// String returns the string representation
18990func (s DescribeInstanceAssociationsStatusInput) String() string {
18991	return awsutil.Prettify(s)
18992}
18993
18994// GoString returns the string representation
18995func (s DescribeInstanceAssociationsStatusInput) GoString() string {
18996	return s.String()
18997}
18998
18999// Validate inspects the fields of the type to determine if they are valid.
19000func (s *DescribeInstanceAssociationsStatusInput) Validate() error {
19001	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAssociationsStatusInput"}
19002	if s.InstanceId == nil {
19003		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19004	}
19005	if s.MaxResults != nil && *s.MaxResults < 1 {
19006		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19007	}
19008
19009	if invalidParams.Len() > 0 {
19010		return invalidParams
19011	}
19012	return nil
19013}
19014
19015// SetInstanceId sets the InstanceId field's value.
19016func (s *DescribeInstanceAssociationsStatusInput) SetInstanceId(v string) *DescribeInstanceAssociationsStatusInput {
19017	s.InstanceId = &v
19018	return s
19019}
19020
19021// SetMaxResults sets the MaxResults field's value.
19022func (s *DescribeInstanceAssociationsStatusInput) SetMaxResults(v int64) *DescribeInstanceAssociationsStatusInput {
19023	s.MaxResults = &v
19024	return s
19025}
19026
19027// SetNextToken sets the NextToken field's value.
19028func (s *DescribeInstanceAssociationsStatusInput) SetNextToken(v string) *DescribeInstanceAssociationsStatusInput {
19029	s.NextToken = &v
19030	return s
19031}
19032
19033type DescribeInstanceAssociationsStatusOutput struct {
19034	_ struct{} `type:"structure"`
19035
19036	// Status information about the association.
19037	InstanceAssociationStatusInfos []*InstanceAssociationStatusInfo `type:"list"`
19038
19039	// The token to use when requesting the next set of items. If there are no additional
19040	// items to return, the string is empty.
19041	NextToken *string `type:"string"`
19042}
19043
19044// String returns the string representation
19045func (s DescribeInstanceAssociationsStatusOutput) String() string {
19046	return awsutil.Prettify(s)
19047}
19048
19049// GoString returns the string representation
19050func (s DescribeInstanceAssociationsStatusOutput) GoString() string {
19051	return s.String()
19052}
19053
19054// SetInstanceAssociationStatusInfos sets the InstanceAssociationStatusInfos field's value.
19055func (s *DescribeInstanceAssociationsStatusOutput) SetInstanceAssociationStatusInfos(v []*InstanceAssociationStatusInfo) *DescribeInstanceAssociationsStatusOutput {
19056	s.InstanceAssociationStatusInfos = v
19057	return s
19058}
19059
19060// SetNextToken sets the NextToken field's value.
19061func (s *DescribeInstanceAssociationsStatusOutput) SetNextToken(v string) *DescribeInstanceAssociationsStatusOutput {
19062	s.NextToken = &v
19063	return s
19064}
19065
19066type DescribeInstanceInformationInput struct {
19067	_ struct{} `type:"structure"`
19068
19069	// One or more filters. Use a filter to return a more specific list of instances.
19070	// You can filter on Amazon EC2 tag. Specify tags by using a key-value mapping.
19071	Filters []*InstanceInformationStringFilter `type:"list"`
19072
19073	// This is a legacy method. We recommend that you don't use this method. Instead,
19074	// use the InstanceInformationFilter action. The InstanceInformationFilter action
19075	// enables you to return instance information by using tags that are specified
19076	// as a key-value mapping.
19077	//
19078	// If you do use this method, then you can't use the InstanceInformationFilter
19079	// action. Using this method and the InstanceInformationFilter action causes
19080	// an exception error.
19081	InstanceInformationFilterList []*InstanceInformationFilter `type:"list"`
19082
19083	// The maximum number of items to return for this call. The call also returns
19084	// a token that you can specify in a subsequent call to get the next set of
19085	// results.
19086	MaxResults *int64 `min:"5" type:"integer"`
19087
19088	// The token for the next set of items to return. (You received this token from
19089	// a previous call.)
19090	NextToken *string `type:"string"`
19091}
19092
19093// String returns the string representation
19094func (s DescribeInstanceInformationInput) String() string {
19095	return awsutil.Prettify(s)
19096}
19097
19098// GoString returns the string representation
19099func (s DescribeInstanceInformationInput) GoString() string {
19100	return s.String()
19101}
19102
19103// Validate inspects the fields of the type to determine if they are valid.
19104func (s *DescribeInstanceInformationInput) Validate() error {
19105	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"}
19106	if s.MaxResults != nil && *s.MaxResults < 5 {
19107		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
19108	}
19109	if s.Filters != nil {
19110		for i, v := range s.Filters {
19111			if v == nil {
19112				continue
19113			}
19114			if err := v.Validate(); err != nil {
19115				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19116			}
19117		}
19118	}
19119	if s.InstanceInformationFilterList != nil {
19120		for i, v := range s.InstanceInformationFilterList {
19121			if v == nil {
19122				continue
19123			}
19124			if err := v.Validate(); err != nil {
19125				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams))
19126			}
19127		}
19128	}
19129
19130	if invalidParams.Len() > 0 {
19131		return invalidParams
19132	}
19133	return nil
19134}
19135
19136// SetFilters sets the Filters field's value.
19137func (s *DescribeInstanceInformationInput) SetFilters(v []*InstanceInformationStringFilter) *DescribeInstanceInformationInput {
19138	s.Filters = v
19139	return s
19140}
19141
19142// SetInstanceInformationFilterList sets the InstanceInformationFilterList field's value.
19143func (s *DescribeInstanceInformationInput) SetInstanceInformationFilterList(v []*InstanceInformationFilter) *DescribeInstanceInformationInput {
19144	s.InstanceInformationFilterList = v
19145	return s
19146}
19147
19148// SetMaxResults sets the MaxResults field's value.
19149func (s *DescribeInstanceInformationInput) SetMaxResults(v int64) *DescribeInstanceInformationInput {
19150	s.MaxResults = &v
19151	return s
19152}
19153
19154// SetNextToken sets the NextToken field's value.
19155func (s *DescribeInstanceInformationInput) SetNextToken(v string) *DescribeInstanceInformationInput {
19156	s.NextToken = &v
19157	return s
19158}
19159
19160type DescribeInstanceInformationOutput struct {
19161	_ struct{} `type:"structure"`
19162
19163	// The instance information list.
19164	InstanceInformationList []*InstanceInformation `type:"list"`
19165
19166	// The token to use when requesting the next set of items. If there are no additional
19167	// items to return, the string is empty.
19168	NextToken *string `type:"string"`
19169}
19170
19171// String returns the string representation
19172func (s DescribeInstanceInformationOutput) String() string {
19173	return awsutil.Prettify(s)
19174}
19175
19176// GoString returns the string representation
19177func (s DescribeInstanceInformationOutput) GoString() string {
19178	return s.String()
19179}
19180
19181// SetInstanceInformationList sets the InstanceInformationList field's value.
19182func (s *DescribeInstanceInformationOutput) SetInstanceInformationList(v []*InstanceInformation) *DescribeInstanceInformationOutput {
19183	s.InstanceInformationList = v
19184	return s
19185}
19186
19187// SetNextToken sets the NextToken field's value.
19188func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInstanceInformationOutput {
19189	s.NextToken = &v
19190	return s
19191}
19192
19193type DescribeInstancePatchStatesForPatchGroupInput struct {
19194	_ struct{} `type:"structure"`
19195
19196	// Each entry in the array is a structure containing:
19197	//
19198	// Key (string between 1 and 200 characters)
19199	//
19200	// Values (array containing a single string)
19201	//
19202	// Type (string "Equal", "NotEqual", "LessThan", "GreaterThan")
19203	Filters []*InstancePatchStateFilter `type:"list"`
19204
19205	// The maximum number of patches to return (per page).
19206	MaxResults *int64 `min:"10" type:"integer"`
19207
19208	// The token for the next set of items to return. (You received this token from
19209	// a previous call.)
19210	NextToken *string `type:"string"`
19211
19212	// The name of the patch group for which the patch state information should
19213	// be retrieved.
19214	//
19215	// PatchGroup is a required field
19216	PatchGroup *string `min:"1" type:"string" required:"true"`
19217}
19218
19219// String returns the string representation
19220func (s DescribeInstancePatchStatesForPatchGroupInput) String() string {
19221	return awsutil.Prettify(s)
19222}
19223
19224// GoString returns the string representation
19225func (s DescribeInstancePatchStatesForPatchGroupInput) GoString() string {
19226	return s.String()
19227}
19228
19229// Validate inspects the fields of the type to determine if they are valid.
19230func (s *DescribeInstancePatchStatesForPatchGroupInput) Validate() error {
19231	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesForPatchGroupInput"}
19232	if s.MaxResults != nil && *s.MaxResults < 10 {
19233		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19234	}
19235	if s.PatchGroup == nil {
19236		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
19237	}
19238	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
19239		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
19240	}
19241	if s.Filters != nil {
19242		for i, v := range s.Filters {
19243			if v == nil {
19244				continue
19245			}
19246			if err := v.Validate(); err != nil {
19247				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19248			}
19249		}
19250	}
19251
19252	if invalidParams.Len() > 0 {
19253		return invalidParams
19254	}
19255	return nil
19256}
19257
19258// SetFilters sets the Filters field's value.
19259func (s *DescribeInstancePatchStatesForPatchGroupInput) SetFilters(v []*InstancePatchStateFilter) *DescribeInstancePatchStatesForPatchGroupInput {
19260	s.Filters = v
19261	return s
19262}
19263
19264// SetMaxResults sets the MaxResults field's value.
19265func (s *DescribeInstancePatchStatesForPatchGroupInput) SetMaxResults(v int64) *DescribeInstancePatchStatesForPatchGroupInput {
19266	s.MaxResults = &v
19267	return s
19268}
19269
19270// SetNextToken sets the NextToken field's value.
19271func (s *DescribeInstancePatchStatesForPatchGroupInput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupInput {
19272	s.NextToken = &v
19273	return s
19274}
19275
19276// SetPatchGroup sets the PatchGroup field's value.
19277func (s *DescribeInstancePatchStatesForPatchGroupInput) SetPatchGroup(v string) *DescribeInstancePatchStatesForPatchGroupInput {
19278	s.PatchGroup = &v
19279	return s
19280}
19281
19282type DescribeInstancePatchStatesForPatchGroupOutput struct {
19283	_ struct{} `type:"structure"`
19284
19285	// The high-level patch state for the requested instances.
19286	InstancePatchStates []*InstancePatchState `min:"1" type:"list"`
19287
19288	// The token to use when requesting the next set of items. If there are no additional
19289	// items to return, the string is empty.
19290	NextToken *string `type:"string"`
19291}
19292
19293// String returns the string representation
19294func (s DescribeInstancePatchStatesForPatchGroupOutput) String() string {
19295	return awsutil.Prettify(s)
19296}
19297
19298// GoString returns the string representation
19299func (s DescribeInstancePatchStatesForPatchGroupOutput) GoString() string {
19300	return s.String()
19301}
19302
19303// SetInstancePatchStates sets the InstancePatchStates field's value.
19304func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesForPatchGroupOutput {
19305	s.InstancePatchStates = v
19306	return s
19307}
19308
19309// SetNextToken sets the NextToken field's value.
19310func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupOutput {
19311	s.NextToken = &v
19312	return s
19313}
19314
19315type DescribeInstancePatchStatesInput struct {
19316	_ struct{} `type:"structure"`
19317
19318	// The ID of the instance whose patch state information should be retrieved.
19319	//
19320	// InstanceIds is a required field
19321	InstanceIds []*string `type:"list" required:"true"`
19322
19323	// The maximum number of instances to return (per page).
19324	MaxResults *int64 `min:"10" type:"integer"`
19325
19326	// The token for the next set of items to return. (You received this token from
19327	// a previous call.)
19328	NextToken *string `type:"string"`
19329}
19330
19331// String returns the string representation
19332func (s DescribeInstancePatchStatesInput) String() string {
19333	return awsutil.Prettify(s)
19334}
19335
19336// GoString returns the string representation
19337func (s DescribeInstancePatchStatesInput) GoString() string {
19338	return s.String()
19339}
19340
19341// Validate inspects the fields of the type to determine if they are valid.
19342func (s *DescribeInstancePatchStatesInput) Validate() error {
19343	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesInput"}
19344	if s.InstanceIds == nil {
19345		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
19346	}
19347	if s.MaxResults != nil && *s.MaxResults < 10 {
19348		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19349	}
19350
19351	if invalidParams.Len() > 0 {
19352		return invalidParams
19353	}
19354	return nil
19355}
19356
19357// SetInstanceIds sets the InstanceIds field's value.
19358func (s *DescribeInstancePatchStatesInput) SetInstanceIds(v []*string) *DescribeInstancePatchStatesInput {
19359	s.InstanceIds = v
19360	return s
19361}
19362
19363// SetMaxResults sets the MaxResults field's value.
19364func (s *DescribeInstancePatchStatesInput) SetMaxResults(v int64) *DescribeInstancePatchStatesInput {
19365	s.MaxResults = &v
19366	return s
19367}
19368
19369// SetNextToken sets the NextToken field's value.
19370func (s *DescribeInstancePatchStatesInput) SetNextToken(v string) *DescribeInstancePatchStatesInput {
19371	s.NextToken = &v
19372	return s
19373}
19374
19375type DescribeInstancePatchStatesOutput struct {
19376	_ struct{} `type:"structure"`
19377
19378	// The high-level patch state for the requested instances.
19379	InstancePatchStates []*InstancePatchState `type:"list"`
19380
19381	// The token to use when requesting the next set of items. If there are no additional
19382	// items to return, the string is empty.
19383	NextToken *string `type:"string"`
19384}
19385
19386// String returns the string representation
19387func (s DescribeInstancePatchStatesOutput) String() string {
19388	return awsutil.Prettify(s)
19389}
19390
19391// GoString returns the string representation
19392func (s DescribeInstancePatchStatesOutput) GoString() string {
19393	return s.String()
19394}
19395
19396// SetInstancePatchStates sets the InstancePatchStates field's value.
19397func (s *DescribeInstancePatchStatesOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesOutput {
19398	s.InstancePatchStates = v
19399	return s
19400}
19401
19402// SetNextToken sets the NextToken field's value.
19403func (s *DescribeInstancePatchStatesOutput) SetNextToken(v string) *DescribeInstancePatchStatesOutput {
19404	s.NextToken = &v
19405	return s
19406}
19407
19408type DescribeInstancePatchesInput struct {
19409	_ struct{} `type:"structure"`
19410
19411	// An array of structures. Each entry in the array is a structure containing
19412	// a Key, Value combination. Valid values for Key are Classification | KBId
19413	// | Severity | State.
19414	Filters []*PatchOrchestratorFilter `type:"list"`
19415
19416	// The ID of the instance whose patch state information should be retrieved.
19417	//
19418	// InstanceId is a required field
19419	InstanceId *string `type:"string" required:"true"`
19420
19421	// The maximum number of patches to return (per page).
19422	MaxResults *int64 `min:"10" type:"integer"`
19423
19424	// The token for the next set of items to return. (You received this token from
19425	// a previous call.)
19426	NextToken *string `type:"string"`
19427}
19428
19429// String returns the string representation
19430func (s DescribeInstancePatchesInput) String() string {
19431	return awsutil.Prettify(s)
19432}
19433
19434// GoString returns the string representation
19435func (s DescribeInstancePatchesInput) GoString() string {
19436	return s.String()
19437}
19438
19439// Validate inspects the fields of the type to determine if they are valid.
19440func (s *DescribeInstancePatchesInput) Validate() error {
19441	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchesInput"}
19442	if s.InstanceId == nil {
19443		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19444	}
19445	if s.MaxResults != nil && *s.MaxResults < 10 {
19446		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19447	}
19448	if s.Filters != nil {
19449		for i, v := range s.Filters {
19450			if v == nil {
19451				continue
19452			}
19453			if err := v.Validate(); err != nil {
19454				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19455			}
19456		}
19457	}
19458
19459	if invalidParams.Len() > 0 {
19460		return invalidParams
19461	}
19462	return nil
19463}
19464
19465// SetFilters sets the Filters field's value.
19466func (s *DescribeInstancePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeInstancePatchesInput {
19467	s.Filters = v
19468	return s
19469}
19470
19471// SetInstanceId sets the InstanceId field's value.
19472func (s *DescribeInstancePatchesInput) SetInstanceId(v string) *DescribeInstancePatchesInput {
19473	s.InstanceId = &v
19474	return s
19475}
19476
19477// SetMaxResults sets the MaxResults field's value.
19478func (s *DescribeInstancePatchesInput) SetMaxResults(v int64) *DescribeInstancePatchesInput {
19479	s.MaxResults = &v
19480	return s
19481}
19482
19483// SetNextToken sets the NextToken field's value.
19484func (s *DescribeInstancePatchesInput) SetNextToken(v string) *DescribeInstancePatchesInput {
19485	s.NextToken = &v
19486	return s
19487}
19488
19489type DescribeInstancePatchesOutput struct {
19490	_ struct{} `type:"structure"`
19491
19492	// The token to use when requesting the next set of items. If there are no additional
19493	// items to return, the string is empty.
19494	NextToken *string `type:"string"`
19495
19496	// Each entry in the array is a structure containing:
19497	//
19498	// Title (string)
19499	//
19500	// KBId (string)
19501	//
19502	// Classification (string)
19503	//
19504	// Severity (string)
19505	//
19506	// State (string, such as "INSTALLED" or "FAILED")
19507	//
19508	// InstalledTime (DateTime)
19509	//
19510	// InstalledBy (string)
19511	Patches []*PatchComplianceData `type:"list"`
19512}
19513
19514// String returns the string representation
19515func (s DescribeInstancePatchesOutput) String() string {
19516	return awsutil.Prettify(s)
19517}
19518
19519// GoString returns the string representation
19520func (s DescribeInstancePatchesOutput) GoString() string {
19521	return s.String()
19522}
19523
19524// SetNextToken sets the NextToken field's value.
19525func (s *DescribeInstancePatchesOutput) SetNextToken(v string) *DescribeInstancePatchesOutput {
19526	s.NextToken = &v
19527	return s
19528}
19529
19530// SetPatches sets the Patches field's value.
19531func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *DescribeInstancePatchesOutput {
19532	s.Patches = v
19533	return s
19534}
19535
19536type DescribeInventoryDeletionsInput struct {
19537	_ struct{} `type:"structure"`
19538
19539	// Specify the delete inventory ID for which you want information. This ID was
19540	// returned by the DeleteInventory action.
19541	DeletionId *string `type:"string"`
19542
19543	// The maximum number of items to return for this call. The call also returns
19544	// a token that you can specify in a subsequent call to get the next set of
19545	// results.
19546	MaxResults *int64 `min:"1" type:"integer"`
19547
19548	// A token to start the list. Use this token to get the next set of results.
19549	NextToken *string `type:"string"`
19550}
19551
19552// String returns the string representation
19553func (s DescribeInventoryDeletionsInput) String() string {
19554	return awsutil.Prettify(s)
19555}
19556
19557// GoString returns the string representation
19558func (s DescribeInventoryDeletionsInput) GoString() string {
19559	return s.String()
19560}
19561
19562// Validate inspects the fields of the type to determine if they are valid.
19563func (s *DescribeInventoryDeletionsInput) Validate() error {
19564	invalidParams := request.ErrInvalidParams{Context: "DescribeInventoryDeletionsInput"}
19565	if s.MaxResults != nil && *s.MaxResults < 1 {
19566		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19567	}
19568
19569	if invalidParams.Len() > 0 {
19570		return invalidParams
19571	}
19572	return nil
19573}
19574
19575// SetDeletionId sets the DeletionId field's value.
19576func (s *DescribeInventoryDeletionsInput) SetDeletionId(v string) *DescribeInventoryDeletionsInput {
19577	s.DeletionId = &v
19578	return s
19579}
19580
19581// SetMaxResults sets the MaxResults field's value.
19582func (s *DescribeInventoryDeletionsInput) SetMaxResults(v int64) *DescribeInventoryDeletionsInput {
19583	s.MaxResults = &v
19584	return s
19585}
19586
19587// SetNextToken sets the NextToken field's value.
19588func (s *DescribeInventoryDeletionsInput) SetNextToken(v string) *DescribeInventoryDeletionsInput {
19589	s.NextToken = &v
19590	return s
19591}
19592
19593type DescribeInventoryDeletionsOutput struct {
19594	_ struct{} `type:"structure"`
19595
19596	// A list of status items for deleted inventory.
19597	InventoryDeletions []*InventoryDeletionStatusItem `type:"list"`
19598
19599	// The token for the next set of items to return. Use this token to get the
19600	// next set of results.
19601	NextToken *string `type:"string"`
19602}
19603
19604// String returns the string representation
19605func (s DescribeInventoryDeletionsOutput) String() string {
19606	return awsutil.Prettify(s)
19607}
19608
19609// GoString returns the string representation
19610func (s DescribeInventoryDeletionsOutput) GoString() string {
19611	return s.String()
19612}
19613
19614// SetInventoryDeletions sets the InventoryDeletions field's value.
19615func (s *DescribeInventoryDeletionsOutput) SetInventoryDeletions(v []*InventoryDeletionStatusItem) *DescribeInventoryDeletionsOutput {
19616	s.InventoryDeletions = v
19617	return s
19618}
19619
19620// SetNextToken sets the NextToken field's value.
19621func (s *DescribeInventoryDeletionsOutput) SetNextToken(v string) *DescribeInventoryDeletionsOutput {
19622	s.NextToken = &v
19623	return s
19624}
19625
19626type DescribeMaintenanceWindowExecutionTaskInvocationsInput struct {
19627	_ struct{} `type:"structure"`
19628
19629	// Optional filters used to scope down the returned task invocations. The supported
19630	// filter key is STATUS with the corresponding values PENDING, IN_PROGRESS,
19631	// SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
19632	Filters []*MaintenanceWindowFilter `type:"list"`
19633
19634	// The maximum number of items to return for this call. The call also returns
19635	// a token that you can specify in a subsequent call to get the next set of
19636	// results.
19637	MaxResults *int64 `min:"10" type:"integer"`
19638
19639	// The token for the next set of items to return. (You received this token from
19640	// a previous call.)
19641	NextToken *string `type:"string"`
19642
19643	// The ID of the specific task in the maintenance window task that should be
19644	// retrieved.
19645	//
19646	// TaskId is a required field
19647	TaskId *string `min:"36" type:"string" required:"true"`
19648
19649	// The ID of the maintenance window execution the task is part of.
19650	//
19651	// WindowExecutionId is a required field
19652	WindowExecutionId *string `min:"36" type:"string" required:"true"`
19653}
19654
19655// String returns the string representation
19656func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) String() string {
19657	return awsutil.Prettify(s)
19658}
19659
19660// GoString returns the string representation
19661func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) GoString() string {
19662	return s.String()
19663}
19664
19665// Validate inspects the fields of the type to determine if they are valid.
19666func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) Validate() error {
19667	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTaskInvocationsInput"}
19668	if s.MaxResults != nil && *s.MaxResults < 10 {
19669		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19670	}
19671	if s.TaskId == nil {
19672		invalidParams.Add(request.NewErrParamRequired("TaskId"))
19673	}
19674	if s.TaskId != nil && len(*s.TaskId) < 36 {
19675		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
19676	}
19677	if s.WindowExecutionId == nil {
19678		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
19679	}
19680	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
19681		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
19682	}
19683	if s.Filters != nil {
19684		for i, v := range s.Filters {
19685			if v == nil {
19686				continue
19687			}
19688			if err := v.Validate(); err != nil {
19689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19690			}
19691		}
19692	}
19693
19694	if invalidParams.Len() > 0 {
19695		return invalidParams
19696	}
19697	return nil
19698}
19699
19700// SetFilters sets the Filters field's value.
19701func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19702	s.Filters = v
19703	return s
19704}
19705
19706// SetMaxResults sets the MaxResults field's value.
19707func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19708	s.MaxResults = &v
19709	return s
19710}
19711
19712// SetNextToken sets the NextToken field's value.
19713func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19714	s.NextToken = &v
19715	return s
19716}
19717
19718// SetTaskId sets the TaskId field's value.
19719func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetTaskId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19720	s.TaskId = &v
19721	return s
19722}
19723
19724// SetWindowExecutionId sets the WindowExecutionId field's value.
19725func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
19726	s.WindowExecutionId = &v
19727	return s
19728}
19729
19730type DescribeMaintenanceWindowExecutionTaskInvocationsOutput struct {
19731	_ struct{} `type:"structure"`
19732
19733	// The token to use when requesting the next set of items. If there are no additional
19734	// items to return, the string is empty.
19735	NextToken *string `type:"string"`
19736
19737	// Information about the task invocation results per invocation.
19738	WindowExecutionTaskInvocationIdentities []*MaintenanceWindowExecutionTaskInvocationIdentity `type:"list"`
19739}
19740
19741// String returns the string representation
19742func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) String() string {
19743	return awsutil.Prettify(s)
19744}
19745
19746// GoString returns the string representation
19747func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) GoString() string {
19748	return s.String()
19749}
19750
19751// SetNextToken sets the NextToken field's value.
19752func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
19753	s.NextToken = &v
19754	return s
19755}
19756
19757// SetWindowExecutionTaskInvocationIdentities sets the WindowExecutionTaskInvocationIdentities field's value.
19758func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetWindowExecutionTaskInvocationIdentities(v []*MaintenanceWindowExecutionTaskInvocationIdentity) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
19759	s.WindowExecutionTaskInvocationIdentities = v
19760	return s
19761}
19762
19763type DescribeMaintenanceWindowExecutionTasksInput struct {
19764	_ struct{} `type:"structure"`
19765
19766	// Optional filters used to scope down the returned tasks. The supported filter
19767	// key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS,
19768	// FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
19769	Filters []*MaintenanceWindowFilter `type:"list"`
19770
19771	// The maximum number of items to return for this call. The call also returns
19772	// a token that you can specify in a subsequent call to get the next set of
19773	// results.
19774	MaxResults *int64 `min:"10" type:"integer"`
19775
19776	// The token for the next set of items to return. (You received this token from
19777	// a previous call.)
19778	NextToken *string `type:"string"`
19779
19780	// The ID of the maintenance window execution whose task executions should be
19781	// retrieved.
19782	//
19783	// WindowExecutionId is a required field
19784	WindowExecutionId *string `min:"36" type:"string" required:"true"`
19785}
19786
19787// String returns the string representation
19788func (s DescribeMaintenanceWindowExecutionTasksInput) String() string {
19789	return awsutil.Prettify(s)
19790}
19791
19792// GoString returns the string representation
19793func (s DescribeMaintenanceWindowExecutionTasksInput) GoString() string {
19794	return s.String()
19795}
19796
19797// Validate inspects the fields of the type to determine if they are valid.
19798func (s *DescribeMaintenanceWindowExecutionTasksInput) Validate() error {
19799	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTasksInput"}
19800	if s.MaxResults != nil && *s.MaxResults < 10 {
19801		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19802	}
19803	if s.WindowExecutionId == nil {
19804		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
19805	}
19806	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
19807		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
19808	}
19809	if s.Filters != nil {
19810		for i, v := range s.Filters {
19811			if v == nil {
19812				continue
19813			}
19814			if err := v.Validate(); err != nil {
19815				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19816			}
19817		}
19818	}
19819
19820	if invalidParams.Len() > 0 {
19821		return invalidParams
19822	}
19823	return nil
19824}
19825
19826// SetFilters sets the Filters field's value.
19827func (s *DescribeMaintenanceWindowExecutionTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTasksInput {
19828	s.Filters = v
19829	return s
19830}
19831
19832// SetMaxResults sets the MaxResults field's value.
19833func (s *DescribeMaintenanceWindowExecutionTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTasksInput {
19834	s.MaxResults = &v
19835	return s
19836}
19837
19838// SetNextToken sets the NextToken field's value.
19839func (s *DescribeMaintenanceWindowExecutionTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksInput {
19840	s.NextToken = &v
19841	return s
19842}
19843
19844// SetWindowExecutionId sets the WindowExecutionId field's value.
19845func (s *DescribeMaintenanceWindowExecutionTasksInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTasksInput {
19846	s.WindowExecutionId = &v
19847	return s
19848}
19849
19850type DescribeMaintenanceWindowExecutionTasksOutput struct {
19851	_ struct{} `type:"structure"`
19852
19853	// The token to use when requesting the next set of items. If there are no additional
19854	// items to return, the string is empty.
19855	NextToken *string `type:"string"`
19856
19857	// Information about the task executions.
19858	WindowExecutionTaskIdentities []*MaintenanceWindowExecutionTaskIdentity `type:"list"`
19859}
19860
19861// String returns the string representation
19862func (s DescribeMaintenanceWindowExecutionTasksOutput) String() string {
19863	return awsutil.Prettify(s)
19864}
19865
19866// GoString returns the string representation
19867func (s DescribeMaintenanceWindowExecutionTasksOutput) GoString() string {
19868	return s.String()
19869}
19870
19871// SetNextToken sets the NextToken field's value.
19872func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksOutput {
19873	s.NextToken = &v
19874	return s
19875}
19876
19877// SetWindowExecutionTaskIdentities sets the WindowExecutionTaskIdentities field's value.
19878func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetWindowExecutionTaskIdentities(v []*MaintenanceWindowExecutionTaskIdentity) *DescribeMaintenanceWindowExecutionTasksOutput {
19879	s.WindowExecutionTaskIdentities = v
19880	return s
19881}
19882
19883type DescribeMaintenanceWindowExecutionsInput struct {
19884	_ struct{} `type:"structure"`
19885
19886	// Each entry in the array is a structure containing:
19887	//
19888	// Key (string, between 1 and 128 characters)
19889	//
19890	// Values (array of strings, each string is between 1 and 256 characters)
19891	//
19892	// The supported Keys are ExecutedBefore and ExecutedAfter with the value being
19893	// a date/time string such as 2016-11-04T05:00:00Z.
19894	Filters []*MaintenanceWindowFilter `type:"list"`
19895
19896	// The maximum number of items to return for this call. The call also returns
19897	// a token that you can specify in a subsequent call to get the next set of
19898	// results.
19899	MaxResults *int64 `min:"10" type:"integer"`
19900
19901	// The token for the next set of items to return. (You received this token from
19902	// a previous call.)
19903	NextToken *string `type:"string"`
19904
19905	// The ID of the maintenance window whose executions should be retrieved.
19906	//
19907	// WindowId is a required field
19908	WindowId *string `min:"20" type:"string" required:"true"`
19909}
19910
19911// String returns the string representation
19912func (s DescribeMaintenanceWindowExecutionsInput) String() string {
19913	return awsutil.Prettify(s)
19914}
19915
19916// GoString returns the string representation
19917func (s DescribeMaintenanceWindowExecutionsInput) GoString() string {
19918	return s.String()
19919}
19920
19921// Validate inspects the fields of the type to determine if they are valid.
19922func (s *DescribeMaintenanceWindowExecutionsInput) Validate() error {
19923	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionsInput"}
19924	if s.MaxResults != nil && *s.MaxResults < 10 {
19925		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
19926	}
19927	if s.WindowId == nil {
19928		invalidParams.Add(request.NewErrParamRequired("WindowId"))
19929	}
19930	if s.WindowId != nil && len(*s.WindowId) < 20 {
19931		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
19932	}
19933	if s.Filters != nil {
19934		for i, v := range s.Filters {
19935			if v == nil {
19936				continue
19937			}
19938			if err := v.Validate(); err != nil {
19939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
19940			}
19941		}
19942	}
19943
19944	if invalidParams.Len() > 0 {
19945		return invalidParams
19946	}
19947	return nil
19948}
19949
19950// SetFilters sets the Filters field's value.
19951func (s *DescribeMaintenanceWindowExecutionsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionsInput {
19952	s.Filters = v
19953	return s
19954}
19955
19956// SetMaxResults sets the MaxResults field's value.
19957func (s *DescribeMaintenanceWindowExecutionsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionsInput {
19958	s.MaxResults = &v
19959	return s
19960}
19961
19962// SetNextToken sets the NextToken field's value.
19963func (s *DescribeMaintenanceWindowExecutionsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsInput {
19964	s.NextToken = &v
19965	return s
19966}
19967
19968// SetWindowId sets the WindowId field's value.
19969func (s *DescribeMaintenanceWindowExecutionsInput) SetWindowId(v string) *DescribeMaintenanceWindowExecutionsInput {
19970	s.WindowId = &v
19971	return s
19972}
19973
19974type DescribeMaintenanceWindowExecutionsOutput struct {
19975	_ struct{} `type:"structure"`
19976
19977	// The token to use when requesting the next set of items. If there are no additional
19978	// items to return, the string is empty.
19979	NextToken *string `type:"string"`
19980
19981	// Information about the maintenance window executions.
19982	WindowExecutions []*MaintenanceWindowExecution `type:"list"`
19983}
19984
19985// String returns the string representation
19986func (s DescribeMaintenanceWindowExecutionsOutput) String() string {
19987	return awsutil.Prettify(s)
19988}
19989
19990// GoString returns the string representation
19991func (s DescribeMaintenanceWindowExecutionsOutput) GoString() string {
19992	return s.String()
19993}
19994
19995// SetNextToken sets the NextToken field's value.
19996func (s *DescribeMaintenanceWindowExecutionsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsOutput {
19997	s.NextToken = &v
19998	return s
19999}
20000
20001// SetWindowExecutions sets the WindowExecutions field's value.
20002func (s *DescribeMaintenanceWindowExecutionsOutput) SetWindowExecutions(v []*MaintenanceWindowExecution) *DescribeMaintenanceWindowExecutionsOutput {
20003	s.WindowExecutions = v
20004	return s
20005}
20006
20007type DescribeMaintenanceWindowScheduleInput struct {
20008	_ struct{} `type:"structure"`
20009
20010	// Filters used to limit the range of results. For example, you can limit maintenance
20011	// window executions to only those scheduled before or after a certain date
20012	// and time.
20013	Filters []*PatchOrchestratorFilter `type:"list"`
20014
20015	// The maximum number of items to return for this call. The call also returns
20016	// a token that you can specify in a subsequent call to get the next set of
20017	// results.
20018	MaxResults *int64 `min:"1" type:"integer"`
20019
20020	// The token for the next set of items to return. (You received this token from
20021	// a previous call.)
20022	NextToken *string `type:"string"`
20023
20024	// The type of resource you want to retrieve information about. For example,
20025	// "INSTANCE".
20026	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
20027
20028	// The instance ID or key/value pair to retrieve information about.
20029	Targets []*Target `type:"list"`
20030
20031	// The ID of the maintenance window to retrieve information about.
20032	WindowId *string `min:"20" type:"string"`
20033}
20034
20035// String returns the string representation
20036func (s DescribeMaintenanceWindowScheduleInput) String() string {
20037	return awsutil.Prettify(s)
20038}
20039
20040// GoString returns the string representation
20041func (s DescribeMaintenanceWindowScheduleInput) GoString() string {
20042	return s.String()
20043}
20044
20045// Validate inspects the fields of the type to determine if they are valid.
20046func (s *DescribeMaintenanceWindowScheduleInput) Validate() error {
20047	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowScheduleInput"}
20048	if s.MaxResults != nil && *s.MaxResults < 1 {
20049		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20050	}
20051	if s.WindowId != nil && len(*s.WindowId) < 20 {
20052		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
20053	}
20054	if s.Filters != nil {
20055		for i, v := range s.Filters {
20056			if v == nil {
20057				continue
20058			}
20059			if err := v.Validate(); err != nil {
20060				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20061			}
20062		}
20063	}
20064	if s.Targets != nil {
20065		for i, v := range s.Targets {
20066			if v == nil {
20067				continue
20068			}
20069			if err := v.Validate(); err != nil {
20070				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
20071			}
20072		}
20073	}
20074
20075	if invalidParams.Len() > 0 {
20076		return invalidParams
20077	}
20078	return nil
20079}
20080
20081// SetFilters sets the Filters field's value.
20082func (s *DescribeMaintenanceWindowScheduleInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeMaintenanceWindowScheduleInput {
20083	s.Filters = v
20084	return s
20085}
20086
20087// SetMaxResults sets the MaxResults field's value.
20088func (s *DescribeMaintenanceWindowScheduleInput) SetMaxResults(v int64) *DescribeMaintenanceWindowScheduleInput {
20089	s.MaxResults = &v
20090	return s
20091}
20092
20093// SetNextToken sets the NextToken field's value.
20094func (s *DescribeMaintenanceWindowScheduleInput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleInput {
20095	s.NextToken = &v
20096	return s
20097}
20098
20099// SetResourceType sets the ResourceType field's value.
20100func (s *DescribeMaintenanceWindowScheduleInput) SetResourceType(v string) *DescribeMaintenanceWindowScheduleInput {
20101	s.ResourceType = &v
20102	return s
20103}
20104
20105// SetTargets sets the Targets field's value.
20106func (s *DescribeMaintenanceWindowScheduleInput) SetTargets(v []*Target) *DescribeMaintenanceWindowScheduleInput {
20107	s.Targets = v
20108	return s
20109}
20110
20111// SetWindowId sets the WindowId field's value.
20112func (s *DescribeMaintenanceWindowScheduleInput) SetWindowId(v string) *DescribeMaintenanceWindowScheduleInput {
20113	s.WindowId = &v
20114	return s
20115}
20116
20117type DescribeMaintenanceWindowScheduleOutput struct {
20118	_ struct{} `type:"structure"`
20119
20120	// The token for the next set of items to return. (You use this token in the
20121	// next call.)
20122	NextToken *string `type:"string"`
20123
20124	// Information about maintenance window executions scheduled for the specified
20125	// time range.
20126	ScheduledWindowExecutions []*ScheduledWindowExecution `type:"list"`
20127}
20128
20129// String returns the string representation
20130func (s DescribeMaintenanceWindowScheduleOutput) String() string {
20131	return awsutil.Prettify(s)
20132}
20133
20134// GoString returns the string representation
20135func (s DescribeMaintenanceWindowScheduleOutput) GoString() string {
20136	return s.String()
20137}
20138
20139// SetNextToken sets the NextToken field's value.
20140func (s *DescribeMaintenanceWindowScheduleOutput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleOutput {
20141	s.NextToken = &v
20142	return s
20143}
20144
20145// SetScheduledWindowExecutions sets the ScheduledWindowExecutions field's value.
20146func (s *DescribeMaintenanceWindowScheduleOutput) SetScheduledWindowExecutions(v []*ScheduledWindowExecution) *DescribeMaintenanceWindowScheduleOutput {
20147	s.ScheduledWindowExecutions = v
20148	return s
20149}
20150
20151type DescribeMaintenanceWindowTargetsInput struct {
20152	_ struct{} `type:"structure"`
20153
20154	// Optional filters that can be used to narrow down the scope of the returned
20155	// window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.
20156	Filters []*MaintenanceWindowFilter `type:"list"`
20157
20158	// The maximum number of items to return for this call. The call also returns
20159	// a token that you can specify in a subsequent call to get the next set of
20160	// results.
20161	MaxResults *int64 `min:"10" type:"integer"`
20162
20163	// The token for the next set of items to return. (You received this token from
20164	// a previous call.)
20165	NextToken *string `type:"string"`
20166
20167	// The ID of the maintenance window whose targets should be retrieved.
20168	//
20169	// WindowId is a required field
20170	WindowId *string `min:"20" type:"string" required:"true"`
20171}
20172
20173// String returns the string representation
20174func (s DescribeMaintenanceWindowTargetsInput) String() string {
20175	return awsutil.Prettify(s)
20176}
20177
20178// GoString returns the string representation
20179func (s DescribeMaintenanceWindowTargetsInput) GoString() string {
20180	return s.String()
20181}
20182
20183// Validate inspects the fields of the type to determine if they are valid.
20184func (s *DescribeMaintenanceWindowTargetsInput) Validate() error {
20185	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTargetsInput"}
20186	if s.MaxResults != nil && *s.MaxResults < 10 {
20187		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
20188	}
20189	if s.WindowId == nil {
20190		invalidParams.Add(request.NewErrParamRequired("WindowId"))
20191	}
20192	if s.WindowId != nil && len(*s.WindowId) < 20 {
20193		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
20194	}
20195	if s.Filters != nil {
20196		for i, v := range s.Filters {
20197			if v == nil {
20198				continue
20199			}
20200			if err := v.Validate(); err != nil {
20201				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20202			}
20203		}
20204	}
20205
20206	if invalidParams.Len() > 0 {
20207		return invalidParams
20208	}
20209	return nil
20210}
20211
20212// SetFilters sets the Filters field's value.
20213func (s *DescribeMaintenanceWindowTargetsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTargetsInput {
20214	s.Filters = v
20215	return s
20216}
20217
20218// SetMaxResults sets the MaxResults field's value.
20219func (s *DescribeMaintenanceWindowTargetsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTargetsInput {
20220	s.MaxResults = &v
20221	return s
20222}
20223
20224// SetNextToken sets the NextToken field's value.
20225func (s *DescribeMaintenanceWindowTargetsInput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsInput {
20226	s.NextToken = &v
20227	return s
20228}
20229
20230// SetWindowId sets the WindowId field's value.
20231func (s *DescribeMaintenanceWindowTargetsInput) SetWindowId(v string) *DescribeMaintenanceWindowTargetsInput {
20232	s.WindowId = &v
20233	return s
20234}
20235
20236type DescribeMaintenanceWindowTargetsOutput struct {
20237	_ struct{} `type:"structure"`
20238
20239	// The token to use when requesting the next set of items. If there are no additional
20240	// items to return, the string is empty.
20241	NextToken *string `type:"string"`
20242
20243	// Information about the targets in the maintenance window.
20244	Targets []*MaintenanceWindowTarget `type:"list"`
20245}
20246
20247// String returns the string representation
20248func (s DescribeMaintenanceWindowTargetsOutput) String() string {
20249	return awsutil.Prettify(s)
20250}
20251
20252// GoString returns the string representation
20253func (s DescribeMaintenanceWindowTargetsOutput) GoString() string {
20254	return s.String()
20255}
20256
20257// SetNextToken sets the NextToken field's value.
20258func (s *DescribeMaintenanceWindowTargetsOutput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsOutput {
20259	s.NextToken = &v
20260	return s
20261}
20262
20263// SetTargets sets the Targets field's value.
20264func (s *DescribeMaintenanceWindowTargetsOutput) SetTargets(v []*MaintenanceWindowTarget) *DescribeMaintenanceWindowTargetsOutput {
20265	s.Targets = v
20266	return s
20267}
20268
20269type DescribeMaintenanceWindowTasksInput struct {
20270	_ struct{} `type:"structure"`
20271
20272	// Optional filters used to narrow down the scope of the returned tasks. The
20273	// supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.
20274	Filters []*MaintenanceWindowFilter `type:"list"`
20275
20276	// The maximum number of items to return for this call. The call also returns
20277	// a token that you can specify in a subsequent call to get the next set of
20278	// results.
20279	MaxResults *int64 `min:"10" type:"integer"`
20280
20281	// The token for the next set of items to return. (You received this token from
20282	// a previous call.)
20283	NextToken *string `type:"string"`
20284
20285	// The ID of the maintenance window whose tasks should be retrieved.
20286	//
20287	// WindowId is a required field
20288	WindowId *string `min:"20" type:"string" required:"true"`
20289}
20290
20291// String returns the string representation
20292func (s DescribeMaintenanceWindowTasksInput) String() string {
20293	return awsutil.Prettify(s)
20294}
20295
20296// GoString returns the string representation
20297func (s DescribeMaintenanceWindowTasksInput) GoString() string {
20298	return s.String()
20299}
20300
20301// Validate inspects the fields of the type to determine if they are valid.
20302func (s *DescribeMaintenanceWindowTasksInput) Validate() error {
20303	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTasksInput"}
20304	if s.MaxResults != nil && *s.MaxResults < 10 {
20305		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
20306	}
20307	if s.WindowId == nil {
20308		invalidParams.Add(request.NewErrParamRequired("WindowId"))
20309	}
20310	if s.WindowId != nil && len(*s.WindowId) < 20 {
20311		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
20312	}
20313	if s.Filters != nil {
20314		for i, v := range s.Filters {
20315			if v == nil {
20316				continue
20317			}
20318			if err := v.Validate(); err != nil {
20319				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20320			}
20321		}
20322	}
20323
20324	if invalidParams.Len() > 0 {
20325		return invalidParams
20326	}
20327	return nil
20328}
20329
20330// SetFilters sets the Filters field's value.
20331func (s *DescribeMaintenanceWindowTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTasksInput {
20332	s.Filters = v
20333	return s
20334}
20335
20336// SetMaxResults sets the MaxResults field's value.
20337func (s *DescribeMaintenanceWindowTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTasksInput {
20338	s.MaxResults = &v
20339	return s
20340}
20341
20342// SetNextToken sets the NextToken field's value.
20343func (s *DescribeMaintenanceWindowTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowTasksInput {
20344	s.NextToken = &v
20345	return s
20346}
20347
20348// SetWindowId sets the WindowId field's value.
20349func (s *DescribeMaintenanceWindowTasksInput) SetWindowId(v string) *DescribeMaintenanceWindowTasksInput {
20350	s.WindowId = &v
20351	return s
20352}
20353
20354type DescribeMaintenanceWindowTasksOutput struct {
20355	_ struct{} `type:"structure"`
20356
20357	// The token to use when requesting the next set of items. If there are no additional
20358	// items to return, the string is empty.
20359	NextToken *string `type:"string"`
20360
20361	// Information about the tasks in the maintenance window.
20362	Tasks []*MaintenanceWindowTask `type:"list"`
20363}
20364
20365// String returns the string representation
20366func (s DescribeMaintenanceWindowTasksOutput) String() string {
20367	return awsutil.Prettify(s)
20368}
20369
20370// GoString returns the string representation
20371func (s DescribeMaintenanceWindowTasksOutput) GoString() string {
20372	return s.String()
20373}
20374
20375// SetNextToken sets the NextToken field's value.
20376func (s *DescribeMaintenanceWindowTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowTasksOutput {
20377	s.NextToken = &v
20378	return s
20379}
20380
20381// SetTasks sets the Tasks field's value.
20382func (s *DescribeMaintenanceWindowTasksOutput) SetTasks(v []*MaintenanceWindowTask) *DescribeMaintenanceWindowTasksOutput {
20383	s.Tasks = v
20384	return s
20385}
20386
20387type DescribeMaintenanceWindowsForTargetInput struct {
20388	_ struct{} `type:"structure"`
20389
20390	// The maximum number of items to return for this call. The call also returns
20391	// a token that you can specify in a subsequent call to get the next set of
20392	// results.
20393	MaxResults *int64 `min:"1" type:"integer"`
20394
20395	// The token for the next set of items to return. (You received this token from
20396	// a previous call.)
20397	NextToken *string `type:"string"`
20398
20399	// The type of resource you want to retrieve information about. For example,
20400	// "INSTANCE".
20401	//
20402	// ResourceType is a required field
20403	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
20404
20405	// The instance ID or key/value pair to retrieve information about.
20406	//
20407	// Targets is a required field
20408	Targets []*Target `type:"list" required:"true"`
20409}
20410
20411// String returns the string representation
20412func (s DescribeMaintenanceWindowsForTargetInput) String() string {
20413	return awsutil.Prettify(s)
20414}
20415
20416// GoString returns the string representation
20417func (s DescribeMaintenanceWindowsForTargetInput) GoString() string {
20418	return s.String()
20419}
20420
20421// Validate inspects the fields of the type to determine if they are valid.
20422func (s *DescribeMaintenanceWindowsForTargetInput) Validate() error {
20423	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsForTargetInput"}
20424	if s.MaxResults != nil && *s.MaxResults < 1 {
20425		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20426	}
20427	if s.ResourceType == nil {
20428		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
20429	}
20430	if s.Targets == nil {
20431		invalidParams.Add(request.NewErrParamRequired("Targets"))
20432	}
20433	if s.Targets != nil {
20434		for i, v := range s.Targets {
20435			if v == nil {
20436				continue
20437			}
20438			if err := v.Validate(); err != nil {
20439				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
20440			}
20441		}
20442	}
20443
20444	if invalidParams.Len() > 0 {
20445		return invalidParams
20446	}
20447	return nil
20448}
20449
20450// SetMaxResults sets the MaxResults field's value.
20451func (s *DescribeMaintenanceWindowsForTargetInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsForTargetInput {
20452	s.MaxResults = &v
20453	return s
20454}
20455
20456// SetNextToken sets the NextToken field's value.
20457func (s *DescribeMaintenanceWindowsForTargetInput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetInput {
20458	s.NextToken = &v
20459	return s
20460}
20461
20462// SetResourceType sets the ResourceType field's value.
20463func (s *DescribeMaintenanceWindowsForTargetInput) SetResourceType(v string) *DescribeMaintenanceWindowsForTargetInput {
20464	s.ResourceType = &v
20465	return s
20466}
20467
20468// SetTargets sets the Targets field's value.
20469func (s *DescribeMaintenanceWindowsForTargetInput) SetTargets(v []*Target) *DescribeMaintenanceWindowsForTargetInput {
20470	s.Targets = v
20471	return s
20472}
20473
20474type DescribeMaintenanceWindowsForTargetOutput struct {
20475	_ struct{} `type:"structure"`
20476
20477	// The token for the next set of items to return. (You use this token in the
20478	// next call.)
20479	NextToken *string `type:"string"`
20480
20481	// Information about the maintenance window targets and tasks an instance is
20482	// associated with.
20483	WindowIdentities []*MaintenanceWindowIdentityForTarget `type:"list"`
20484}
20485
20486// String returns the string representation
20487func (s DescribeMaintenanceWindowsForTargetOutput) String() string {
20488	return awsutil.Prettify(s)
20489}
20490
20491// GoString returns the string representation
20492func (s DescribeMaintenanceWindowsForTargetOutput) GoString() string {
20493	return s.String()
20494}
20495
20496// SetNextToken sets the NextToken field's value.
20497func (s *DescribeMaintenanceWindowsForTargetOutput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetOutput {
20498	s.NextToken = &v
20499	return s
20500}
20501
20502// SetWindowIdentities sets the WindowIdentities field's value.
20503func (s *DescribeMaintenanceWindowsForTargetOutput) SetWindowIdentities(v []*MaintenanceWindowIdentityForTarget) *DescribeMaintenanceWindowsForTargetOutput {
20504	s.WindowIdentities = v
20505	return s
20506}
20507
20508type DescribeMaintenanceWindowsInput struct {
20509	_ struct{} `type:"structure"`
20510
20511	// Optional filters used to narrow down the scope of the returned maintenance
20512	// windows. Supported filter keys are Name and Enabled.
20513	Filters []*MaintenanceWindowFilter `type:"list"`
20514
20515	// The maximum number of items to return for this call. The call also returns
20516	// a token that you can specify in a subsequent call to get the next set of
20517	// results.
20518	MaxResults *int64 `min:"10" type:"integer"`
20519
20520	// The token for the next set of items to return. (You received this token from
20521	// a previous call.)
20522	NextToken *string `type:"string"`
20523}
20524
20525// String returns the string representation
20526func (s DescribeMaintenanceWindowsInput) String() string {
20527	return awsutil.Prettify(s)
20528}
20529
20530// GoString returns the string representation
20531func (s DescribeMaintenanceWindowsInput) GoString() string {
20532	return s.String()
20533}
20534
20535// Validate inspects the fields of the type to determine if they are valid.
20536func (s *DescribeMaintenanceWindowsInput) Validate() error {
20537	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsInput"}
20538	if s.MaxResults != nil && *s.MaxResults < 10 {
20539		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
20540	}
20541	if s.Filters != nil {
20542		for i, v := range s.Filters {
20543			if v == nil {
20544				continue
20545			}
20546			if err := v.Validate(); err != nil {
20547				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20548			}
20549		}
20550	}
20551
20552	if invalidParams.Len() > 0 {
20553		return invalidParams
20554	}
20555	return nil
20556}
20557
20558// SetFilters sets the Filters field's value.
20559func (s *DescribeMaintenanceWindowsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowsInput {
20560	s.Filters = v
20561	return s
20562}
20563
20564// SetMaxResults sets the MaxResults field's value.
20565func (s *DescribeMaintenanceWindowsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsInput {
20566	s.MaxResults = &v
20567	return s
20568}
20569
20570// SetNextToken sets the NextToken field's value.
20571func (s *DescribeMaintenanceWindowsInput) SetNextToken(v string) *DescribeMaintenanceWindowsInput {
20572	s.NextToken = &v
20573	return s
20574}
20575
20576type DescribeMaintenanceWindowsOutput struct {
20577	_ struct{} `type:"structure"`
20578
20579	// The token to use when requesting the next set of items. If there are no additional
20580	// items to return, the string is empty.
20581	NextToken *string `type:"string"`
20582
20583	// Information about the maintenance windows.
20584	WindowIdentities []*MaintenanceWindowIdentity `type:"list"`
20585}
20586
20587// String returns the string representation
20588func (s DescribeMaintenanceWindowsOutput) String() string {
20589	return awsutil.Prettify(s)
20590}
20591
20592// GoString returns the string representation
20593func (s DescribeMaintenanceWindowsOutput) GoString() string {
20594	return s.String()
20595}
20596
20597// SetNextToken sets the NextToken field's value.
20598func (s *DescribeMaintenanceWindowsOutput) SetNextToken(v string) *DescribeMaintenanceWindowsOutput {
20599	s.NextToken = &v
20600	return s
20601}
20602
20603// SetWindowIdentities sets the WindowIdentities field's value.
20604func (s *DescribeMaintenanceWindowsOutput) SetWindowIdentities(v []*MaintenanceWindowIdentity) *DescribeMaintenanceWindowsOutput {
20605	s.WindowIdentities = v
20606	return s
20607}
20608
20609type DescribeOpsItemsInput struct {
20610	_ struct{} `type:"structure"`
20611
20612	// The maximum number of items to return for this call. The call also returns
20613	// a token that you can specify in a subsequent call to get the next set of
20614	// results.
20615	MaxResults *int64 `min:"1" type:"integer"`
20616
20617	// A token to start the list. Use this token to get the next set of results.
20618	NextToken *string `type:"string"`
20619
20620	// One or more filters to limit the reponse.
20621	//
20622	//    * Key: CreatedTime Operations: GreaterThan, LessThan
20623	//
20624	//    * Key: LastModifiedBy Operations: Contains, Equals
20625	//
20626	//    * Key: LastModifiedTime Operations: GreaterThan, LessThan
20627	//
20628	//    * Key: Priority Operations: Equals
20629	//
20630	//    * Key: Source Operations: Contains, Equals
20631	//
20632	//    * Key: Status Operations: Equals
20633	//
20634	//    * Key: Title Operations: Contains
20635	//
20636	//    * Key: OperationalData* Operations: Equals
20637	//
20638	//    * Key: OperationalDataKey Operations: Equals
20639	//
20640	//    * Key: OperationalDataValue Operations: Equals, Contains
20641	//
20642	//    * Key: OpsItemId Operations: Equals
20643	//
20644	//    * Key: ResourceId Operations: Contains
20645	//
20646	//    * Key: AutomationId Operations: Equals
20647	//
20648	// *If you filter the response by using the OperationalData operator, specify
20649	// a key-value pair by using the following JSON format: {"key":"key_name","value":"a_value"}
20650	OpsItemFilters []*OpsItemFilter `type:"list"`
20651}
20652
20653// String returns the string representation
20654func (s DescribeOpsItemsInput) String() string {
20655	return awsutil.Prettify(s)
20656}
20657
20658// GoString returns the string representation
20659func (s DescribeOpsItemsInput) GoString() string {
20660	return s.String()
20661}
20662
20663// Validate inspects the fields of the type to determine if they are valid.
20664func (s *DescribeOpsItemsInput) Validate() error {
20665	invalidParams := request.ErrInvalidParams{Context: "DescribeOpsItemsInput"}
20666	if s.MaxResults != nil && *s.MaxResults < 1 {
20667		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20668	}
20669	if s.OpsItemFilters != nil {
20670		for i, v := range s.OpsItemFilters {
20671			if v == nil {
20672				continue
20673			}
20674			if err := v.Validate(); err != nil {
20675				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OpsItemFilters", i), err.(request.ErrInvalidParams))
20676			}
20677		}
20678	}
20679
20680	if invalidParams.Len() > 0 {
20681		return invalidParams
20682	}
20683	return nil
20684}
20685
20686// SetMaxResults sets the MaxResults field's value.
20687func (s *DescribeOpsItemsInput) SetMaxResults(v int64) *DescribeOpsItemsInput {
20688	s.MaxResults = &v
20689	return s
20690}
20691
20692// SetNextToken sets the NextToken field's value.
20693func (s *DescribeOpsItemsInput) SetNextToken(v string) *DescribeOpsItemsInput {
20694	s.NextToken = &v
20695	return s
20696}
20697
20698// SetOpsItemFilters sets the OpsItemFilters field's value.
20699func (s *DescribeOpsItemsInput) SetOpsItemFilters(v []*OpsItemFilter) *DescribeOpsItemsInput {
20700	s.OpsItemFilters = v
20701	return s
20702}
20703
20704type DescribeOpsItemsOutput struct {
20705	_ struct{} `type:"structure"`
20706
20707	// The token for the next set of items to return. Use this token to get the
20708	// next set of results.
20709	NextToken *string `type:"string"`
20710
20711	// A list of OpsItems.
20712	OpsItemSummaries []*OpsItemSummary `type:"list"`
20713}
20714
20715// String returns the string representation
20716func (s DescribeOpsItemsOutput) String() string {
20717	return awsutil.Prettify(s)
20718}
20719
20720// GoString returns the string representation
20721func (s DescribeOpsItemsOutput) GoString() string {
20722	return s.String()
20723}
20724
20725// SetNextToken sets the NextToken field's value.
20726func (s *DescribeOpsItemsOutput) SetNextToken(v string) *DescribeOpsItemsOutput {
20727	s.NextToken = &v
20728	return s
20729}
20730
20731// SetOpsItemSummaries sets the OpsItemSummaries field's value.
20732func (s *DescribeOpsItemsOutput) SetOpsItemSummaries(v []*OpsItemSummary) *DescribeOpsItemsOutput {
20733	s.OpsItemSummaries = v
20734	return s
20735}
20736
20737type DescribeParametersInput struct {
20738	_ struct{} `type:"structure"`
20739
20740	// This data type is deprecated. Instead, use ParameterFilters.
20741	Filters []*ParametersFilter `type:"list"`
20742
20743	// The maximum number of items to return for this call. The call also returns
20744	// a token that you can specify in a subsequent call to get the next set of
20745	// results.
20746	MaxResults *int64 `min:"1" type:"integer"`
20747
20748	// The token for the next set of items to return. (You received this token from
20749	// a previous call.)
20750	NextToken *string `type:"string"`
20751
20752	// Filters to limit the request results.
20753	ParameterFilters []*ParameterStringFilter `type:"list"`
20754}
20755
20756// String returns the string representation
20757func (s DescribeParametersInput) String() string {
20758	return awsutil.Prettify(s)
20759}
20760
20761// GoString returns the string representation
20762func (s DescribeParametersInput) GoString() string {
20763	return s.String()
20764}
20765
20766// Validate inspects the fields of the type to determine if they are valid.
20767func (s *DescribeParametersInput) Validate() error {
20768	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
20769	if s.MaxResults != nil && *s.MaxResults < 1 {
20770		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20771	}
20772	if s.Filters != nil {
20773		for i, v := range s.Filters {
20774			if v == nil {
20775				continue
20776			}
20777			if err := v.Validate(); err != nil {
20778				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20779			}
20780		}
20781	}
20782	if s.ParameterFilters != nil {
20783		for i, v := range s.ParameterFilters {
20784			if v == nil {
20785				continue
20786			}
20787			if err := v.Validate(); err != nil {
20788				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
20789			}
20790		}
20791	}
20792
20793	if invalidParams.Len() > 0 {
20794		return invalidParams
20795	}
20796	return nil
20797}
20798
20799// SetFilters sets the Filters field's value.
20800func (s *DescribeParametersInput) SetFilters(v []*ParametersFilter) *DescribeParametersInput {
20801	s.Filters = v
20802	return s
20803}
20804
20805// SetMaxResults sets the MaxResults field's value.
20806func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
20807	s.MaxResults = &v
20808	return s
20809}
20810
20811// SetNextToken sets the NextToken field's value.
20812func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
20813	s.NextToken = &v
20814	return s
20815}
20816
20817// SetParameterFilters sets the ParameterFilters field's value.
20818func (s *DescribeParametersInput) SetParameterFilters(v []*ParameterStringFilter) *DescribeParametersInput {
20819	s.ParameterFilters = v
20820	return s
20821}
20822
20823type DescribeParametersOutput struct {
20824	_ struct{} `type:"structure"`
20825
20826	// The token to use when requesting the next set of items. If there are no additional
20827	// items to return, the string is empty.
20828	NextToken *string `type:"string"`
20829
20830	// Parameters returned by the request.
20831	Parameters []*ParameterMetadata `type:"list"`
20832}
20833
20834// String returns the string representation
20835func (s DescribeParametersOutput) String() string {
20836	return awsutil.Prettify(s)
20837}
20838
20839// GoString returns the string representation
20840func (s DescribeParametersOutput) GoString() string {
20841	return s.String()
20842}
20843
20844// SetNextToken sets the NextToken field's value.
20845func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
20846	s.NextToken = &v
20847	return s
20848}
20849
20850// SetParameters sets the Parameters field's value.
20851func (s *DescribeParametersOutput) SetParameters(v []*ParameterMetadata) *DescribeParametersOutput {
20852	s.Parameters = v
20853	return s
20854}
20855
20856type DescribePatchBaselinesInput struct {
20857	_ struct{} `type:"structure"`
20858
20859	// Each element in the array is a structure containing:
20860	//
20861	// Key: (string, "NAME_PREFIX" or "OWNER")
20862	//
20863	// Value: (array of strings, exactly 1 entry, between 1 and 255 characters)
20864	Filters []*PatchOrchestratorFilter `type:"list"`
20865
20866	// The maximum number of patch baselines to return (per page).
20867	MaxResults *int64 `min:"1" type:"integer"`
20868
20869	// The token for the next set of items to return. (You received this token from
20870	// a previous call.)
20871	NextToken *string `type:"string"`
20872}
20873
20874// String returns the string representation
20875func (s DescribePatchBaselinesInput) String() string {
20876	return awsutil.Prettify(s)
20877}
20878
20879// GoString returns the string representation
20880func (s DescribePatchBaselinesInput) GoString() string {
20881	return s.String()
20882}
20883
20884// Validate inspects the fields of the type to determine if they are valid.
20885func (s *DescribePatchBaselinesInput) Validate() error {
20886	invalidParams := request.ErrInvalidParams{Context: "DescribePatchBaselinesInput"}
20887	if s.MaxResults != nil && *s.MaxResults < 1 {
20888		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20889	}
20890	if s.Filters != nil {
20891		for i, v := range s.Filters {
20892			if v == nil {
20893				continue
20894			}
20895			if err := v.Validate(); err != nil {
20896				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
20897			}
20898		}
20899	}
20900
20901	if invalidParams.Len() > 0 {
20902		return invalidParams
20903	}
20904	return nil
20905}
20906
20907// SetFilters sets the Filters field's value.
20908func (s *DescribePatchBaselinesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchBaselinesInput {
20909	s.Filters = v
20910	return s
20911}
20912
20913// SetMaxResults sets the MaxResults field's value.
20914func (s *DescribePatchBaselinesInput) SetMaxResults(v int64) *DescribePatchBaselinesInput {
20915	s.MaxResults = &v
20916	return s
20917}
20918
20919// SetNextToken sets the NextToken field's value.
20920func (s *DescribePatchBaselinesInput) SetNextToken(v string) *DescribePatchBaselinesInput {
20921	s.NextToken = &v
20922	return s
20923}
20924
20925type DescribePatchBaselinesOutput struct {
20926	_ struct{} `type:"structure"`
20927
20928	// An array of PatchBaselineIdentity elements.
20929	BaselineIdentities []*PatchBaselineIdentity `type:"list"`
20930
20931	// The token to use when requesting the next set of items. If there are no additional
20932	// items to return, the string is empty.
20933	NextToken *string `type:"string"`
20934}
20935
20936// String returns the string representation
20937func (s DescribePatchBaselinesOutput) String() string {
20938	return awsutil.Prettify(s)
20939}
20940
20941// GoString returns the string representation
20942func (s DescribePatchBaselinesOutput) GoString() string {
20943	return s.String()
20944}
20945
20946// SetBaselineIdentities sets the BaselineIdentities field's value.
20947func (s *DescribePatchBaselinesOutput) SetBaselineIdentities(v []*PatchBaselineIdentity) *DescribePatchBaselinesOutput {
20948	s.BaselineIdentities = v
20949	return s
20950}
20951
20952// SetNextToken sets the NextToken field's value.
20953func (s *DescribePatchBaselinesOutput) SetNextToken(v string) *DescribePatchBaselinesOutput {
20954	s.NextToken = &v
20955	return s
20956}
20957
20958type DescribePatchGroupStateInput struct {
20959	_ struct{} `type:"structure"`
20960
20961	// The name of the patch group whose patch snapshot should be retrieved.
20962	//
20963	// PatchGroup is a required field
20964	PatchGroup *string `min:"1" type:"string" required:"true"`
20965}
20966
20967// String returns the string representation
20968func (s DescribePatchGroupStateInput) String() string {
20969	return awsutil.Prettify(s)
20970}
20971
20972// GoString returns the string representation
20973func (s DescribePatchGroupStateInput) GoString() string {
20974	return s.String()
20975}
20976
20977// Validate inspects the fields of the type to determine if they are valid.
20978func (s *DescribePatchGroupStateInput) Validate() error {
20979	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupStateInput"}
20980	if s.PatchGroup == nil {
20981		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
20982	}
20983	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
20984		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
20985	}
20986
20987	if invalidParams.Len() > 0 {
20988		return invalidParams
20989	}
20990	return nil
20991}
20992
20993// SetPatchGroup sets the PatchGroup field's value.
20994func (s *DescribePatchGroupStateInput) SetPatchGroup(v string) *DescribePatchGroupStateInput {
20995	s.PatchGroup = &v
20996	return s
20997}
20998
20999type DescribePatchGroupStateOutput struct {
21000	_ struct{} `type:"structure"`
21001
21002	// The number of instances in the patch group.
21003	Instances *int64 `type:"integer"`
21004
21005	// The number of instances with patches from the patch baseline that failed
21006	// to install.
21007	InstancesWithFailedPatches *int64 `type:"integer"`
21008
21009	// The number of instances with patches installed that aren't defined in the
21010	// patch baseline.
21011	InstancesWithInstalledOtherPatches *int64 `type:"integer"`
21012
21013	// The number of instances with installed patches.
21014	InstancesWithInstalledPatches *int64 `type:"integer"`
21015
21016	// The number of instances with patches installed that have not been rebooted
21017	// after the patch installation. The status of these instances is NON_COMPLIANT.
21018	InstancesWithInstalledPendingRebootPatches *int64 `type:"integer"`
21019
21020	// The number of instances with patches installed that are specified in a RejectedPatches
21021	// list. Patches with a status of INSTALLED_REJECTED were typically installed
21022	// before they were added to a RejectedPatches list.
21023	//
21024	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
21025	// the value of InstancesWithInstalledRejectedPatches will always be 0 (zero).
21026	InstancesWithInstalledRejectedPatches *int64 `type:"integer"`
21027
21028	// The number of instances with missing patches from the patch baseline.
21029	InstancesWithMissingPatches *int64 `type:"integer"`
21030
21031	// The number of instances with patches that aren't applicable.
21032	InstancesWithNotApplicablePatches *int64 `type:"integer"`
21033
21034	// The number of instances with NotApplicable patches beyond the supported limit,
21035	// which are not reported by name to Systems Manager Inventory.
21036	InstancesWithUnreportedNotApplicablePatches *int64 `type:"integer"`
21037}
21038
21039// String returns the string representation
21040func (s DescribePatchGroupStateOutput) String() string {
21041	return awsutil.Prettify(s)
21042}
21043
21044// GoString returns the string representation
21045func (s DescribePatchGroupStateOutput) GoString() string {
21046	return s.String()
21047}
21048
21049// SetInstances sets the Instances field's value.
21050func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGroupStateOutput {
21051	s.Instances = &v
21052	return s
21053}
21054
21055// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value.
21056func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput {
21057	s.InstancesWithFailedPatches = &v
21058	return s
21059}
21060
21061// SetInstancesWithInstalledOtherPatches sets the InstancesWithInstalledOtherPatches field's value.
21062func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledOtherPatches(v int64) *DescribePatchGroupStateOutput {
21063	s.InstancesWithInstalledOtherPatches = &v
21064	return s
21065}
21066
21067// SetInstancesWithInstalledPatches sets the InstancesWithInstalledPatches field's value.
21068func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64) *DescribePatchGroupStateOutput {
21069	s.InstancesWithInstalledPatches = &v
21070	return s
21071}
21072
21073// SetInstancesWithInstalledPendingRebootPatches sets the InstancesWithInstalledPendingRebootPatches field's value.
21074func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPendingRebootPatches(v int64) *DescribePatchGroupStateOutput {
21075	s.InstancesWithInstalledPendingRebootPatches = &v
21076	return s
21077}
21078
21079// SetInstancesWithInstalledRejectedPatches sets the InstancesWithInstalledRejectedPatches field's value.
21080func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledRejectedPatches(v int64) *DescribePatchGroupStateOutput {
21081	s.InstancesWithInstalledRejectedPatches = &v
21082	return s
21083}
21084
21085// SetInstancesWithMissingPatches sets the InstancesWithMissingPatches field's value.
21086func (s *DescribePatchGroupStateOutput) SetInstancesWithMissingPatches(v int64) *DescribePatchGroupStateOutput {
21087	s.InstancesWithMissingPatches = &v
21088	return s
21089}
21090
21091// SetInstancesWithNotApplicablePatches sets the InstancesWithNotApplicablePatches field's value.
21092func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
21093	s.InstancesWithNotApplicablePatches = &v
21094	return s
21095}
21096
21097// SetInstancesWithUnreportedNotApplicablePatches sets the InstancesWithUnreportedNotApplicablePatches field's value.
21098func (s *DescribePatchGroupStateOutput) SetInstancesWithUnreportedNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
21099	s.InstancesWithUnreportedNotApplicablePatches = &v
21100	return s
21101}
21102
21103type DescribePatchGroupsInput struct {
21104	_ struct{} `type:"structure"`
21105
21106	// One or more filters. Use a filter to return a more specific list of results.
21107	Filters []*PatchOrchestratorFilter `type:"list"`
21108
21109	// The maximum number of patch groups to return (per page).
21110	MaxResults *int64 `min:"1" type:"integer"`
21111
21112	// The token for the next set of items to return. (You received this token from
21113	// a previous call.)
21114	NextToken *string `type:"string"`
21115}
21116
21117// String returns the string representation
21118func (s DescribePatchGroupsInput) String() string {
21119	return awsutil.Prettify(s)
21120}
21121
21122// GoString returns the string representation
21123func (s DescribePatchGroupsInput) GoString() string {
21124	return s.String()
21125}
21126
21127// Validate inspects the fields of the type to determine if they are valid.
21128func (s *DescribePatchGroupsInput) Validate() error {
21129	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupsInput"}
21130	if s.MaxResults != nil && *s.MaxResults < 1 {
21131		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21132	}
21133	if s.Filters != nil {
21134		for i, v := range s.Filters {
21135			if v == nil {
21136				continue
21137			}
21138			if err := v.Validate(); err != nil {
21139				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21140			}
21141		}
21142	}
21143
21144	if invalidParams.Len() > 0 {
21145		return invalidParams
21146	}
21147	return nil
21148}
21149
21150// SetFilters sets the Filters field's value.
21151func (s *DescribePatchGroupsInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchGroupsInput {
21152	s.Filters = v
21153	return s
21154}
21155
21156// SetMaxResults sets the MaxResults field's value.
21157func (s *DescribePatchGroupsInput) SetMaxResults(v int64) *DescribePatchGroupsInput {
21158	s.MaxResults = &v
21159	return s
21160}
21161
21162// SetNextToken sets the NextToken field's value.
21163func (s *DescribePatchGroupsInput) SetNextToken(v string) *DescribePatchGroupsInput {
21164	s.NextToken = &v
21165	return s
21166}
21167
21168type DescribePatchGroupsOutput struct {
21169	_ struct{} `type:"structure"`
21170
21171	// Each entry in the array contains:
21172	//
21173	// PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$)
21174	//
21175	// PatchBaselineIdentity: A PatchBaselineIdentity element.
21176	Mappings []*PatchGroupPatchBaselineMapping `type:"list"`
21177
21178	// The token to use when requesting the next set of items. If there are no additional
21179	// items to return, the string is empty.
21180	NextToken *string `type:"string"`
21181}
21182
21183// String returns the string representation
21184func (s DescribePatchGroupsOutput) String() string {
21185	return awsutil.Prettify(s)
21186}
21187
21188// GoString returns the string representation
21189func (s DescribePatchGroupsOutput) GoString() string {
21190	return s.String()
21191}
21192
21193// SetMappings sets the Mappings field's value.
21194func (s *DescribePatchGroupsOutput) SetMappings(v []*PatchGroupPatchBaselineMapping) *DescribePatchGroupsOutput {
21195	s.Mappings = v
21196	return s
21197}
21198
21199// SetNextToken sets the NextToken field's value.
21200func (s *DescribePatchGroupsOutput) SetNextToken(v string) *DescribePatchGroupsOutput {
21201	s.NextToken = &v
21202	return s
21203}
21204
21205type DescribePatchPropertiesInput struct {
21206	_ struct{} `type:"structure"`
21207
21208	// The maximum number of items to return for this call. The call also returns
21209	// a token that you can specify in a subsequent call to get the next set of
21210	// results.
21211	MaxResults *int64 `min:"1" type:"integer"`
21212
21213	// The token for the next set of items to return. (You received this token from
21214	// a previous call.)
21215	NextToken *string `type:"string"`
21216
21217	// The operating system type for which to list patches.
21218	//
21219	// OperatingSystem is a required field
21220	OperatingSystem *string `type:"string" required:"true" enum:"OperatingSystem"`
21221
21222	// Indicates whether to list patches for the Windows operating system or for
21223	// Microsoft applications. Not applicable for Linux operating systems.
21224	PatchSet *string `type:"string" enum:"PatchSet"`
21225
21226	// The patch property for which you want to view patch details.
21227	//
21228	// Property is a required field
21229	Property *string `type:"string" required:"true" enum:"PatchProperty"`
21230}
21231
21232// String returns the string representation
21233func (s DescribePatchPropertiesInput) String() string {
21234	return awsutil.Prettify(s)
21235}
21236
21237// GoString returns the string representation
21238func (s DescribePatchPropertiesInput) GoString() string {
21239	return s.String()
21240}
21241
21242// Validate inspects the fields of the type to determine if they are valid.
21243func (s *DescribePatchPropertiesInput) Validate() error {
21244	invalidParams := request.ErrInvalidParams{Context: "DescribePatchPropertiesInput"}
21245	if s.MaxResults != nil && *s.MaxResults < 1 {
21246		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21247	}
21248	if s.OperatingSystem == nil {
21249		invalidParams.Add(request.NewErrParamRequired("OperatingSystem"))
21250	}
21251	if s.Property == nil {
21252		invalidParams.Add(request.NewErrParamRequired("Property"))
21253	}
21254
21255	if invalidParams.Len() > 0 {
21256		return invalidParams
21257	}
21258	return nil
21259}
21260
21261// SetMaxResults sets the MaxResults field's value.
21262func (s *DescribePatchPropertiesInput) SetMaxResults(v int64) *DescribePatchPropertiesInput {
21263	s.MaxResults = &v
21264	return s
21265}
21266
21267// SetNextToken sets the NextToken field's value.
21268func (s *DescribePatchPropertiesInput) SetNextToken(v string) *DescribePatchPropertiesInput {
21269	s.NextToken = &v
21270	return s
21271}
21272
21273// SetOperatingSystem sets the OperatingSystem field's value.
21274func (s *DescribePatchPropertiesInput) SetOperatingSystem(v string) *DescribePatchPropertiesInput {
21275	s.OperatingSystem = &v
21276	return s
21277}
21278
21279// SetPatchSet sets the PatchSet field's value.
21280func (s *DescribePatchPropertiesInput) SetPatchSet(v string) *DescribePatchPropertiesInput {
21281	s.PatchSet = &v
21282	return s
21283}
21284
21285// SetProperty sets the Property field's value.
21286func (s *DescribePatchPropertiesInput) SetProperty(v string) *DescribePatchPropertiesInput {
21287	s.Property = &v
21288	return s
21289}
21290
21291type DescribePatchPropertiesOutput struct {
21292	_ struct{} `type:"structure"`
21293
21294	// The token for the next set of items to return. (You use this token in the
21295	// next call.)
21296	NextToken *string `type:"string"`
21297
21298	// A list of the properties for patches matching the filter request parameters.
21299	Properties []map[string]*string `type:"list"`
21300}
21301
21302// String returns the string representation
21303func (s DescribePatchPropertiesOutput) String() string {
21304	return awsutil.Prettify(s)
21305}
21306
21307// GoString returns the string representation
21308func (s DescribePatchPropertiesOutput) GoString() string {
21309	return s.String()
21310}
21311
21312// SetNextToken sets the NextToken field's value.
21313func (s *DescribePatchPropertiesOutput) SetNextToken(v string) *DescribePatchPropertiesOutput {
21314	s.NextToken = &v
21315	return s
21316}
21317
21318// SetProperties sets the Properties field's value.
21319func (s *DescribePatchPropertiesOutput) SetProperties(v []map[string]*string) *DescribePatchPropertiesOutput {
21320	s.Properties = v
21321	return s
21322}
21323
21324type DescribeSessionsInput struct {
21325	_ struct{} `type:"structure"`
21326
21327	// One or more filters to limit the type of sessions returned by the request.
21328	Filters []*SessionFilter `min:"1" type:"list"`
21329
21330	// The maximum number of items to return for this call. The call also returns
21331	// a token that you can specify in a subsequent call to get the next set of
21332	// results.
21333	MaxResults *int64 `min:"1" type:"integer"`
21334
21335	// The token for the next set of items to return. (You received this token from
21336	// a previous call.)
21337	NextToken *string `type:"string"`
21338
21339	// The session status to retrieve a list of sessions for. For example, "Active".
21340	//
21341	// State is a required field
21342	State *string `type:"string" required:"true" enum:"SessionState"`
21343}
21344
21345// String returns the string representation
21346func (s DescribeSessionsInput) String() string {
21347	return awsutil.Prettify(s)
21348}
21349
21350// GoString returns the string representation
21351func (s DescribeSessionsInput) GoString() string {
21352	return s.String()
21353}
21354
21355// Validate inspects the fields of the type to determine if they are valid.
21356func (s *DescribeSessionsInput) Validate() error {
21357	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
21358	if s.Filters != nil && len(s.Filters) < 1 {
21359		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
21360	}
21361	if s.MaxResults != nil && *s.MaxResults < 1 {
21362		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21363	}
21364	if s.State == nil {
21365		invalidParams.Add(request.NewErrParamRequired("State"))
21366	}
21367	if s.Filters != nil {
21368		for i, v := range s.Filters {
21369			if v == nil {
21370				continue
21371			}
21372			if err := v.Validate(); err != nil {
21373				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
21374			}
21375		}
21376	}
21377
21378	if invalidParams.Len() > 0 {
21379		return invalidParams
21380	}
21381	return nil
21382}
21383
21384// SetFilters sets the Filters field's value.
21385func (s *DescribeSessionsInput) SetFilters(v []*SessionFilter) *DescribeSessionsInput {
21386	s.Filters = v
21387	return s
21388}
21389
21390// SetMaxResults sets the MaxResults field's value.
21391func (s *DescribeSessionsInput) SetMaxResults(v int64) *DescribeSessionsInput {
21392	s.MaxResults = &v
21393	return s
21394}
21395
21396// SetNextToken sets the NextToken field's value.
21397func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
21398	s.NextToken = &v
21399	return s
21400}
21401
21402// SetState sets the State field's value.
21403func (s *DescribeSessionsInput) SetState(v string) *DescribeSessionsInput {
21404	s.State = &v
21405	return s
21406}
21407
21408type DescribeSessionsOutput struct {
21409	_ struct{} `type:"structure"`
21410
21411	// The token for the next set of items to return. (You received this token from
21412	// a previous call.)
21413	NextToken *string `type:"string"`
21414
21415	// A list of sessions meeting the request parameters.
21416	Sessions []*Session `type:"list"`
21417}
21418
21419// String returns the string representation
21420func (s DescribeSessionsOutput) String() string {
21421	return awsutil.Prettify(s)
21422}
21423
21424// GoString returns the string representation
21425func (s DescribeSessionsOutput) GoString() string {
21426	return s.String()
21427}
21428
21429// SetNextToken sets the NextToken field's value.
21430func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
21431	s.NextToken = &v
21432	return s
21433}
21434
21435// SetSessions sets the Sessions field's value.
21436func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
21437	s.Sessions = v
21438	return s
21439}
21440
21441// A default version of a document.
21442type DocumentDefaultVersionDescription struct {
21443	_ struct{} `type:"structure"`
21444
21445	// The default version of the document.
21446	DefaultVersion *string `type:"string"`
21447
21448	// The default version of the artifact associated with the document.
21449	DefaultVersionName *string `type:"string"`
21450
21451	// The name of the document.
21452	Name *string `type:"string"`
21453}
21454
21455// String returns the string representation
21456func (s DocumentDefaultVersionDescription) String() string {
21457	return awsutil.Prettify(s)
21458}
21459
21460// GoString returns the string representation
21461func (s DocumentDefaultVersionDescription) GoString() string {
21462	return s.String()
21463}
21464
21465// SetDefaultVersion sets the DefaultVersion field's value.
21466func (s *DocumentDefaultVersionDescription) SetDefaultVersion(v string) *DocumentDefaultVersionDescription {
21467	s.DefaultVersion = &v
21468	return s
21469}
21470
21471// SetDefaultVersionName sets the DefaultVersionName field's value.
21472func (s *DocumentDefaultVersionDescription) SetDefaultVersionName(v string) *DocumentDefaultVersionDescription {
21473	s.DefaultVersionName = &v
21474	return s
21475}
21476
21477// SetName sets the Name field's value.
21478func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription {
21479	s.Name = &v
21480	return s
21481}
21482
21483// Describes a Systems Manager document.
21484type DocumentDescription struct {
21485	_ struct{} `type:"structure"`
21486
21487	// Details about the document attachments, including names, locations, sizes,
21488	// etc.
21489	AttachmentsInformation []*AttachmentInformation `type:"list"`
21490
21491	// The date when the document was created.
21492	CreatedDate *time.Time `type:"timestamp"`
21493
21494	// The default version.
21495	DefaultVersion *string `type:"string"`
21496
21497	// A description of the document.
21498	Description *string `type:"string"`
21499
21500	// The document format, either JSON or YAML.
21501	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21502
21503	// The type of document.
21504	DocumentType *string `type:"string" enum:"DocumentType"`
21505
21506	// The document version.
21507	DocumentVersion *string `type:"string"`
21508
21509	// The Sha256 or Sha1 hash created by the system when the document was created.
21510	//
21511	// Sha1 hashes have been deprecated.
21512	Hash *string `type:"string"`
21513
21514	// The hash type of the document. Valid values include Sha256 or Sha1.
21515	//
21516	// Sha1 hashes have been deprecated.
21517	HashType *string `type:"string" enum:"DocumentHashType"`
21518
21519	// The latest version of the document.
21520	LatestVersion *string `type:"string"`
21521
21522	// The name of the Systems Manager document.
21523	Name *string `type:"string"`
21524
21525	// The AWS user account that created the document.
21526	Owner *string `type:"string"`
21527
21528	// A description of the parameters for a document.
21529	Parameters []*DocumentParameter `type:"list"`
21530
21531	// The list of OS platforms compatible with this Systems Manager document.
21532	PlatformTypes []*string `type:"list"`
21533
21534	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
21535	// document requires an ApplicationConfigurationSchema document.
21536	Requires []*DocumentRequires `min:"1" type:"list"`
21537
21538	// The schema version.
21539	SchemaVersion *string `type:"string"`
21540
21541	// The SHA1 hash of the document, which you can use for verification.
21542	Sha1 *string `type:"string"`
21543
21544	// The status of the Systems Manager document.
21545	Status *string `type:"string" enum:"DocumentStatus"`
21546
21547	// A message returned by AWS Systems Manager that explains the Status value.
21548	// For example, a Failed status might be explained by the StatusInformation
21549	// message, "The specified S3 bucket does not exist. Verify that the URL of
21550	// the S3 bucket is correct."
21551	StatusInformation *string `type:"string"`
21552
21553	// The tags, or metadata, that have been applied to the document.
21554	Tags []*Tag `type:"list"`
21555
21556	// The target type which defines the kinds of resources the document can run
21557	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
21558	// see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
21559	// in the AWS CloudFormation User Guide.
21560	TargetType *string `type:"string"`
21561
21562	// The version of the artifact associated with the document.
21563	VersionName *string `type:"string"`
21564}
21565
21566// String returns the string representation
21567func (s DocumentDescription) String() string {
21568	return awsutil.Prettify(s)
21569}
21570
21571// GoString returns the string representation
21572func (s DocumentDescription) GoString() string {
21573	return s.String()
21574}
21575
21576// SetAttachmentsInformation sets the AttachmentsInformation field's value.
21577func (s *DocumentDescription) SetAttachmentsInformation(v []*AttachmentInformation) *DocumentDescription {
21578	s.AttachmentsInformation = v
21579	return s
21580}
21581
21582// SetCreatedDate sets the CreatedDate field's value.
21583func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription {
21584	s.CreatedDate = &v
21585	return s
21586}
21587
21588// SetDefaultVersion sets the DefaultVersion field's value.
21589func (s *DocumentDescription) SetDefaultVersion(v string) *DocumentDescription {
21590	s.DefaultVersion = &v
21591	return s
21592}
21593
21594// SetDescription sets the Description field's value.
21595func (s *DocumentDescription) SetDescription(v string) *DocumentDescription {
21596	s.Description = &v
21597	return s
21598}
21599
21600// SetDocumentFormat sets the DocumentFormat field's value.
21601func (s *DocumentDescription) SetDocumentFormat(v string) *DocumentDescription {
21602	s.DocumentFormat = &v
21603	return s
21604}
21605
21606// SetDocumentType sets the DocumentType field's value.
21607func (s *DocumentDescription) SetDocumentType(v string) *DocumentDescription {
21608	s.DocumentType = &v
21609	return s
21610}
21611
21612// SetDocumentVersion sets the DocumentVersion field's value.
21613func (s *DocumentDescription) SetDocumentVersion(v string) *DocumentDescription {
21614	s.DocumentVersion = &v
21615	return s
21616}
21617
21618// SetHash sets the Hash field's value.
21619func (s *DocumentDescription) SetHash(v string) *DocumentDescription {
21620	s.Hash = &v
21621	return s
21622}
21623
21624// SetHashType sets the HashType field's value.
21625func (s *DocumentDescription) SetHashType(v string) *DocumentDescription {
21626	s.HashType = &v
21627	return s
21628}
21629
21630// SetLatestVersion sets the LatestVersion field's value.
21631func (s *DocumentDescription) SetLatestVersion(v string) *DocumentDescription {
21632	s.LatestVersion = &v
21633	return s
21634}
21635
21636// SetName sets the Name field's value.
21637func (s *DocumentDescription) SetName(v string) *DocumentDescription {
21638	s.Name = &v
21639	return s
21640}
21641
21642// SetOwner sets the Owner field's value.
21643func (s *DocumentDescription) SetOwner(v string) *DocumentDescription {
21644	s.Owner = &v
21645	return s
21646}
21647
21648// SetParameters sets the Parameters field's value.
21649func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDescription {
21650	s.Parameters = v
21651	return s
21652}
21653
21654// SetPlatformTypes sets the PlatformTypes field's value.
21655func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription {
21656	s.PlatformTypes = v
21657	return s
21658}
21659
21660// SetRequires sets the Requires field's value.
21661func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescription {
21662	s.Requires = v
21663	return s
21664}
21665
21666// SetSchemaVersion sets the SchemaVersion field's value.
21667func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription {
21668	s.SchemaVersion = &v
21669	return s
21670}
21671
21672// SetSha1 sets the Sha1 field's value.
21673func (s *DocumentDescription) SetSha1(v string) *DocumentDescription {
21674	s.Sha1 = &v
21675	return s
21676}
21677
21678// SetStatus sets the Status field's value.
21679func (s *DocumentDescription) SetStatus(v string) *DocumentDescription {
21680	s.Status = &v
21681	return s
21682}
21683
21684// SetStatusInformation sets the StatusInformation field's value.
21685func (s *DocumentDescription) SetStatusInformation(v string) *DocumentDescription {
21686	s.StatusInformation = &v
21687	return s
21688}
21689
21690// SetTags sets the Tags field's value.
21691func (s *DocumentDescription) SetTags(v []*Tag) *DocumentDescription {
21692	s.Tags = v
21693	return s
21694}
21695
21696// SetTargetType sets the TargetType field's value.
21697func (s *DocumentDescription) SetTargetType(v string) *DocumentDescription {
21698	s.TargetType = &v
21699	return s
21700}
21701
21702// SetVersionName sets the VersionName field's value.
21703func (s *DocumentDescription) SetVersionName(v string) *DocumentDescription {
21704	s.VersionName = &v
21705	return s
21706}
21707
21708// Describes a filter.
21709type DocumentFilter struct {
21710	_ struct{} `type:"structure"`
21711
21712	// The name of the filter.
21713	//
21714	// Key is a required field
21715	Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"`
21716
21717	// The value of the filter.
21718	//
21719	// Value is a required field
21720	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
21721}
21722
21723// String returns the string representation
21724func (s DocumentFilter) String() string {
21725	return awsutil.Prettify(s)
21726}
21727
21728// GoString returns the string representation
21729func (s DocumentFilter) GoString() string {
21730	return s.String()
21731}
21732
21733// Validate inspects the fields of the type to determine if they are valid.
21734func (s *DocumentFilter) Validate() error {
21735	invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"}
21736	if s.Key == nil {
21737		invalidParams.Add(request.NewErrParamRequired("Key"))
21738	}
21739	if s.Value == nil {
21740		invalidParams.Add(request.NewErrParamRequired("Value"))
21741	}
21742	if s.Value != nil && len(*s.Value) < 1 {
21743		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
21744	}
21745
21746	if invalidParams.Len() > 0 {
21747		return invalidParams
21748	}
21749	return nil
21750}
21751
21752// SetKey sets the Key field's value.
21753func (s *DocumentFilter) SetKey(v string) *DocumentFilter {
21754	s.Key = &v
21755	return s
21756}
21757
21758// SetValue sets the Value field's value.
21759func (s *DocumentFilter) SetValue(v string) *DocumentFilter {
21760	s.Value = &v
21761	return s
21762}
21763
21764// Describes the name of a Systems Manager document.
21765type DocumentIdentifier struct {
21766	_ struct{} `type:"structure"`
21767
21768	// The document format, either JSON or YAML.
21769	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21770
21771	// The document type.
21772	DocumentType *string `type:"string" enum:"DocumentType"`
21773
21774	// The document version.
21775	DocumentVersion *string `type:"string"`
21776
21777	// The name of the Systems Manager document.
21778	Name *string `type:"string"`
21779
21780	// The AWS user account that created the document.
21781	Owner *string `type:"string"`
21782
21783	// The operating system platform.
21784	PlatformTypes []*string `type:"list"`
21785
21786	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
21787	// document requires an ApplicationConfigurationSchema document.
21788	Requires []*DocumentRequires `min:"1" type:"list"`
21789
21790	// The schema version.
21791	SchemaVersion *string `type:"string"`
21792
21793	// The tags, or metadata, that have been applied to the document.
21794	Tags []*Tag `type:"list"`
21795
21796	// The target type which defines the kinds of resources the document can run
21797	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
21798	// see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
21799	// in the AWS CloudFormation User Guide.
21800	TargetType *string `type:"string"`
21801
21802	// An optional field specifying the version of the artifact associated with
21803	// the document. For example, "Release 12, Update 6". This value is unique across
21804	// all versions of a document, and cannot be changed.
21805	VersionName *string `type:"string"`
21806}
21807
21808// String returns the string representation
21809func (s DocumentIdentifier) String() string {
21810	return awsutil.Prettify(s)
21811}
21812
21813// GoString returns the string representation
21814func (s DocumentIdentifier) GoString() string {
21815	return s.String()
21816}
21817
21818// SetDocumentFormat sets the DocumentFormat field's value.
21819func (s *DocumentIdentifier) SetDocumentFormat(v string) *DocumentIdentifier {
21820	s.DocumentFormat = &v
21821	return s
21822}
21823
21824// SetDocumentType sets the DocumentType field's value.
21825func (s *DocumentIdentifier) SetDocumentType(v string) *DocumentIdentifier {
21826	s.DocumentType = &v
21827	return s
21828}
21829
21830// SetDocumentVersion sets the DocumentVersion field's value.
21831func (s *DocumentIdentifier) SetDocumentVersion(v string) *DocumentIdentifier {
21832	s.DocumentVersion = &v
21833	return s
21834}
21835
21836// SetName sets the Name field's value.
21837func (s *DocumentIdentifier) SetName(v string) *DocumentIdentifier {
21838	s.Name = &v
21839	return s
21840}
21841
21842// SetOwner sets the Owner field's value.
21843func (s *DocumentIdentifier) SetOwner(v string) *DocumentIdentifier {
21844	s.Owner = &v
21845	return s
21846}
21847
21848// SetPlatformTypes sets the PlatformTypes field's value.
21849func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier {
21850	s.PlatformTypes = v
21851	return s
21852}
21853
21854// SetRequires sets the Requires field's value.
21855func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentifier {
21856	s.Requires = v
21857	return s
21858}
21859
21860// SetSchemaVersion sets the SchemaVersion field's value.
21861func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier {
21862	s.SchemaVersion = &v
21863	return s
21864}
21865
21866// SetTags sets the Tags field's value.
21867func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier {
21868	s.Tags = v
21869	return s
21870}
21871
21872// SetTargetType sets the TargetType field's value.
21873func (s *DocumentIdentifier) SetTargetType(v string) *DocumentIdentifier {
21874	s.TargetType = &v
21875	return s
21876}
21877
21878// SetVersionName sets the VersionName field's value.
21879func (s *DocumentIdentifier) SetVersionName(v string) *DocumentIdentifier {
21880	s.VersionName = &v
21881	return s
21882}
21883
21884// One or more filters. Use a filter to return a more specific list of documents.
21885//
21886// For keys, you can specify one or more tags that have been applied to a document.
21887//
21888// Other valid values include Owner, Name, PlatformTypes, and DocumentType.
21889//
21890// Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.
21891//
21892// If you use Name as a key, you can use a name prefix to return a list of documents.
21893// For example, in the AWS CLI, to return a list of all documents that begin
21894// with Te, run the following command:
21895//
21896// aws ssm list-documents --filters Key=Name,Values=Te
21897//
21898// If you specify more than two keys, only documents that are identified by
21899// all the tags are returned in the results. If you specify more than two values
21900// for a key, documents that are identified by any of the values are returned
21901// in the results.
21902//
21903// To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName].
21904//
21905// For example, if you created a Key called region and are using the AWS CLI
21906// to call the list-documents command:
21907//
21908// aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
21909type DocumentKeyValuesFilter struct {
21910	_ struct{} `type:"structure"`
21911
21912	// The name of the filter key.
21913	Key *string `min:"1" type:"string"`
21914
21915	// The value for the filter key.
21916	Values []*string `type:"list"`
21917}
21918
21919// String returns the string representation
21920func (s DocumentKeyValuesFilter) String() string {
21921	return awsutil.Prettify(s)
21922}
21923
21924// GoString returns the string representation
21925func (s DocumentKeyValuesFilter) GoString() string {
21926	return s.String()
21927}
21928
21929// Validate inspects the fields of the type to determine if they are valid.
21930func (s *DocumentKeyValuesFilter) Validate() error {
21931	invalidParams := request.ErrInvalidParams{Context: "DocumentKeyValuesFilter"}
21932	if s.Key != nil && len(*s.Key) < 1 {
21933		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
21934	}
21935
21936	if invalidParams.Len() > 0 {
21937		return invalidParams
21938	}
21939	return nil
21940}
21941
21942// SetKey sets the Key field's value.
21943func (s *DocumentKeyValuesFilter) SetKey(v string) *DocumentKeyValuesFilter {
21944	s.Key = &v
21945	return s
21946}
21947
21948// SetValues sets the Values field's value.
21949func (s *DocumentKeyValuesFilter) SetValues(v []*string) *DocumentKeyValuesFilter {
21950	s.Values = v
21951	return s
21952}
21953
21954// Parameters specified in a System Manager document that run on the server
21955// when the command is run.
21956type DocumentParameter struct {
21957	_ struct{} `type:"structure"`
21958
21959	// If specified, the default values for the parameters. Parameters without a
21960	// default value are required. Parameters with a default value are optional.
21961	DefaultValue *string `type:"string"`
21962
21963	// A description of what the parameter does, how to use it, the default value,
21964	// and whether or not the parameter is optional.
21965	Description *string `type:"string"`
21966
21967	// The name of the parameter.
21968	Name *string `type:"string"`
21969
21970	// The type of parameter. The type can be either String or StringList.
21971	Type *string `type:"string" enum:"DocumentParameterType"`
21972}
21973
21974// String returns the string representation
21975func (s DocumentParameter) String() string {
21976	return awsutil.Prettify(s)
21977}
21978
21979// GoString returns the string representation
21980func (s DocumentParameter) GoString() string {
21981	return s.String()
21982}
21983
21984// SetDefaultValue sets the DefaultValue field's value.
21985func (s *DocumentParameter) SetDefaultValue(v string) *DocumentParameter {
21986	s.DefaultValue = &v
21987	return s
21988}
21989
21990// SetDescription sets the Description field's value.
21991func (s *DocumentParameter) SetDescription(v string) *DocumentParameter {
21992	s.Description = &v
21993	return s
21994}
21995
21996// SetName sets the Name field's value.
21997func (s *DocumentParameter) SetName(v string) *DocumentParameter {
21998	s.Name = &v
21999	return s
22000}
22001
22002// SetType sets the Type field's value.
22003func (s *DocumentParameter) SetType(v string) *DocumentParameter {
22004	s.Type = &v
22005	return s
22006}
22007
22008// An SSM document required by the current document.
22009type DocumentRequires struct {
22010	_ struct{} `type:"structure"`
22011
22012	// The name of the required SSM document. The name can be an Amazon Resource
22013	// Name (ARN).
22014	//
22015	// Name is a required field
22016	Name *string `type:"string" required:"true"`
22017
22018	// The document version required by the current document.
22019	Version *string `type:"string"`
22020}
22021
22022// String returns the string representation
22023func (s DocumentRequires) String() string {
22024	return awsutil.Prettify(s)
22025}
22026
22027// GoString returns the string representation
22028func (s DocumentRequires) GoString() string {
22029	return s.String()
22030}
22031
22032// Validate inspects the fields of the type to determine if they are valid.
22033func (s *DocumentRequires) Validate() error {
22034	invalidParams := request.ErrInvalidParams{Context: "DocumentRequires"}
22035	if s.Name == nil {
22036		invalidParams.Add(request.NewErrParamRequired("Name"))
22037	}
22038
22039	if invalidParams.Len() > 0 {
22040		return invalidParams
22041	}
22042	return nil
22043}
22044
22045// SetName sets the Name field's value.
22046func (s *DocumentRequires) SetName(v string) *DocumentRequires {
22047	s.Name = &v
22048	return s
22049}
22050
22051// SetVersion sets the Version field's value.
22052func (s *DocumentRequires) SetVersion(v string) *DocumentRequires {
22053	s.Version = &v
22054	return s
22055}
22056
22057// Version information about the document.
22058type DocumentVersionInfo struct {
22059	_ struct{} `type:"structure"`
22060
22061	// The date the document was created.
22062	CreatedDate *time.Time `type:"timestamp"`
22063
22064	// The document format, either JSON or YAML.
22065	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
22066
22067	// The document version.
22068	DocumentVersion *string `type:"string"`
22069
22070	// An identifier for the default version of the document.
22071	IsDefaultVersion *bool `type:"boolean"`
22072
22073	// The document name.
22074	Name *string `type:"string"`
22075
22076	// The status of the Systems Manager document, such as Creating, Active, Failed,
22077	// and Deleting.
22078	Status *string `type:"string" enum:"DocumentStatus"`
22079
22080	// A message returned by AWS Systems Manager that explains the Status value.
22081	// For example, a Failed status might be explained by the StatusInformation
22082	// message, "The specified S3 bucket does not exist. Verify that the URL of
22083	// the S3 bucket is correct."
22084	StatusInformation *string `type:"string"`
22085
22086	// The version of the artifact associated with the document. For example, "Release
22087	// 12, Update 6". This value is unique across all versions of a document, and
22088	// cannot be changed.
22089	VersionName *string `type:"string"`
22090}
22091
22092// String returns the string representation
22093func (s DocumentVersionInfo) String() string {
22094	return awsutil.Prettify(s)
22095}
22096
22097// GoString returns the string representation
22098func (s DocumentVersionInfo) GoString() string {
22099	return s.String()
22100}
22101
22102// SetCreatedDate sets the CreatedDate field's value.
22103func (s *DocumentVersionInfo) SetCreatedDate(v time.Time) *DocumentVersionInfo {
22104	s.CreatedDate = &v
22105	return s
22106}
22107
22108// SetDocumentFormat sets the DocumentFormat field's value.
22109func (s *DocumentVersionInfo) SetDocumentFormat(v string) *DocumentVersionInfo {
22110	s.DocumentFormat = &v
22111	return s
22112}
22113
22114// SetDocumentVersion sets the DocumentVersion field's value.
22115func (s *DocumentVersionInfo) SetDocumentVersion(v string) *DocumentVersionInfo {
22116	s.DocumentVersion = &v
22117	return s
22118}
22119
22120// SetIsDefaultVersion sets the IsDefaultVersion field's value.
22121func (s *DocumentVersionInfo) SetIsDefaultVersion(v bool) *DocumentVersionInfo {
22122	s.IsDefaultVersion = &v
22123	return s
22124}
22125
22126// SetName sets the Name field's value.
22127func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo {
22128	s.Name = &v
22129	return s
22130}
22131
22132// SetStatus sets the Status field's value.
22133func (s *DocumentVersionInfo) SetStatus(v string) *DocumentVersionInfo {
22134	s.Status = &v
22135	return s
22136}
22137
22138// SetStatusInformation sets the StatusInformation field's value.
22139func (s *DocumentVersionInfo) SetStatusInformation(v string) *DocumentVersionInfo {
22140	s.StatusInformation = &v
22141	return s
22142}
22143
22144// SetVersionName sets the VersionName field's value.
22145func (s *DocumentVersionInfo) SetVersionName(v string) *DocumentVersionInfo {
22146	s.VersionName = &v
22147	return s
22148}
22149
22150// The EffectivePatch structure defines metadata about a patch along with the
22151// approval state of the patch in a particular patch baseline. The approval
22152// state includes information about whether the patch is currently approved,
22153// due to be approved by a rule, explicitly approved, or explicitly rejected
22154// and the date the patch was or will be approved.
22155type EffectivePatch struct {
22156	_ struct{} `type:"structure"`
22157
22158	// Provides metadata for a patch, including information such as the KB ID, severity,
22159	// classification and a URL for where more information can be obtained about
22160	// the patch.
22161	Patch *Patch `type:"structure"`
22162
22163	// The status of the patch in a patch baseline. This includes information about
22164	// whether the patch is currently approved, due to be approved by a rule, explicitly
22165	// approved, or explicitly rejected and the date the patch was or will be approved.
22166	PatchStatus *PatchStatus `type:"structure"`
22167}
22168
22169// String returns the string representation
22170func (s EffectivePatch) String() string {
22171	return awsutil.Prettify(s)
22172}
22173
22174// GoString returns the string representation
22175func (s EffectivePatch) GoString() string {
22176	return s.String()
22177}
22178
22179// SetPatch sets the Patch field's value.
22180func (s *EffectivePatch) SetPatch(v *Patch) *EffectivePatch {
22181	s.Patch = v
22182	return s
22183}
22184
22185// SetPatchStatus sets the PatchStatus field's value.
22186func (s *EffectivePatch) SetPatchStatus(v *PatchStatus) *EffectivePatch {
22187	s.PatchStatus = v
22188	return s
22189}
22190
22191// Describes a failed association.
22192type FailedCreateAssociation struct {
22193	_ struct{} `type:"structure"`
22194
22195	// The association.
22196	Entry *CreateAssociationBatchRequestEntry `type:"structure"`
22197
22198	// The source of the failure.
22199	Fault *string `type:"string" enum:"Fault"`
22200
22201	// A description of the failure.
22202	Message *string `type:"string"`
22203}
22204
22205// String returns the string representation
22206func (s FailedCreateAssociation) String() string {
22207	return awsutil.Prettify(s)
22208}
22209
22210// GoString returns the string representation
22211func (s FailedCreateAssociation) GoString() string {
22212	return s.String()
22213}
22214
22215// SetEntry sets the Entry field's value.
22216func (s *FailedCreateAssociation) SetEntry(v *CreateAssociationBatchRequestEntry) *FailedCreateAssociation {
22217	s.Entry = v
22218	return s
22219}
22220
22221// SetFault sets the Fault field's value.
22222func (s *FailedCreateAssociation) SetFault(v string) *FailedCreateAssociation {
22223	s.Fault = &v
22224	return s
22225}
22226
22227// SetMessage sets the Message field's value.
22228func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation {
22229	s.Message = &v
22230	return s
22231}
22232
22233// Information about an Automation failure.
22234type FailureDetails struct {
22235	_ struct{} `type:"structure"`
22236
22237	// Detailed information about the Automation step failure.
22238	Details map[string][]*string `min:"1" type:"map"`
22239
22240	// The stage of the Automation execution when the failure occurred. The stages
22241	// include the following: InputValidation, PreVerification, Invocation, PostVerification.
22242	FailureStage *string `type:"string"`
22243
22244	// The type of Automation failure. Failure types include the following: Action,
22245	// Permission, Throttling, Verification, Internal.
22246	FailureType *string `type:"string"`
22247}
22248
22249// String returns the string representation
22250func (s FailureDetails) String() string {
22251	return awsutil.Prettify(s)
22252}
22253
22254// GoString returns the string representation
22255func (s FailureDetails) GoString() string {
22256	return s.String()
22257}
22258
22259// SetDetails sets the Details field's value.
22260func (s *FailureDetails) SetDetails(v map[string][]*string) *FailureDetails {
22261	s.Details = v
22262	return s
22263}
22264
22265// SetFailureStage sets the FailureStage field's value.
22266func (s *FailureDetails) SetFailureStage(v string) *FailureDetails {
22267	s.FailureStage = &v
22268	return s
22269}
22270
22271// SetFailureType sets the FailureType field's value.
22272func (s *FailureDetails) SetFailureType(v string) *FailureDetails {
22273	s.FailureType = &v
22274	return s
22275}
22276
22277type GetAutomationExecutionInput struct {
22278	_ struct{} `type:"structure"`
22279
22280	// The unique identifier for an existing automation execution to examine. The
22281	// execution ID is returned by StartAutomationExecution when the execution of
22282	// an Automation document is initiated.
22283	//
22284	// AutomationExecutionId is a required field
22285	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
22286}
22287
22288// String returns the string representation
22289func (s GetAutomationExecutionInput) String() string {
22290	return awsutil.Prettify(s)
22291}
22292
22293// GoString returns the string representation
22294func (s GetAutomationExecutionInput) GoString() string {
22295	return s.String()
22296}
22297
22298// Validate inspects the fields of the type to determine if they are valid.
22299func (s *GetAutomationExecutionInput) Validate() error {
22300	invalidParams := request.ErrInvalidParams{Context: "GetAutomationExecutionInput"}
22301	if s.AutomationExecutionId == nil {
22302		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
22303	}
22304	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
22305		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
22306	}
22307
22308	if invalidParams.Len() > 0 {
22309		return invalidParams
22310	}
22311	return nil
22312}
22313
22314// SetAutomationExecutionId sets the AutomationExecutionId field's value.
22315func (s *GetAutomationExecutionInput) SetAutomationExecutionId(v string) *GetAutomationExecutionInput {
22316	s.AutomationExecutionId = &v
22317	return s
22318}
22319
22320type GetAutomationExecutionOutput struct {
22321	_ struct{} `type:"structure"`
22322
22323	// Detailed information about the current state of an automation execution.
22324	AutomationExecution *AutomationExecution `type:"structure"`
22325}
22326
22327// String returns the string representation
22328func (s GetAutomationExecutionOutput) String() string {
22329	return awsutil.Prettify(s)
22330}
22331
22332// GoString returns the string representation
22333func (s GetAutomationExecutionOutput) GoString() string {
22334	return s.String()
22335}
22336
22337// SetAutomationExecution sets the AutomationExecution field's value.
22338func (s *GetAutomationExecutionOutput) SetAutomationExecution(v *AutomationExecution) *GetAutomationExecutionOutput {
22339	s.AutomationExecution = v
22340	return s
22341}
22342
22343type GetCommandInvocationInput struct {
22344	_ struct{} `type:"structure"`
22345
22346	// (Required) The parent command ID of the invocation plugin.
22347	//
22348	// CommandId is a required field
22349	CommandId *string `min:"36" type:"string" required:"true"`
22350
22351	// (Required) The ID of the managed instance targeted by the command. A managed
22352	// instance can be an Amazon EC2 instance or an instance in your hybrid environment
22353	// that is configured for Systems Manager.
22354	//
22355	// InstanceId is a required field
22356	InstanceId *string `type:"string" required:"true"`
22357
22358	// (Optional) The name of the plugin for which you want detailed results. If
22359	// the document contains only one plugin, the name can be omitted and the details
22360	// will be returned.
22361	PluginName *string `min:"4" type:"string"`
22362}
22363
22364// String returns the string representation
22365func (s GetCommandInvocationInput) String() string {
22366	return awsutil.Prettify(s)
22367}
22368
22369// GoString returns the string representation
22370func (s GetCommandInvocationInput) GoString() string {
22371	return s.String()
22372}
22373
22374// Validate inspects the fields of the type to determine if they are valid.
22375func (s *GetCommandInvocationInput) Validate() error {
22376	invalidParams := request.ErrInvalidParams{Context: "GetCommandInvocationInput"}
22377	if s.CommandId == nil {
22378		invalidParams.Add(request.NewErrParamRequired("CommandId"))
22379	}
22380	if s.CommandId != nil && len(*s.CommandId) < 36 {
22381		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
22382	}
22383	if s.InstanceId == nil {
22384		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
22385	}
22386	if s.PluginName != nil && len(*s.PluginName) < 4 {
22387		invalidParams.Add(request.NewErrParamMinLen("PluginName", 4))
22388	}
22389
22390	if invalidParams.Len() > 0 {
22391		return invalidParams
22392	}
22393	return nil
22394}
22395
22396// SetCommandId sets the CommandId field's value.
22397func (s *GetCommandInvocationInput) SetCommandId(v string) *GetCommandInvocationInput {
22398	s.CommandId = &v
22399	return s
22400}
22401
22402// SetInstanceId sets the InstanceId field's value.
22403func (s *GetCommandInvocationInput) SetInstanceId(v string) *GetCommandInvocationInput {
22404	s.InstanceId = &v
22405	return s
22406}
22407
22408// SetPluginName sets the PluginName field's value.
22409func (s *GetCommandInvocationInput) SetPluginName(v string) *GetCommandInvocationInput {
22410	s.PluginName = &v
22411	return s
22412}
22413
22414type GetCommandInvocationOutput struct {
22415	_ struct{} `type:"structure"`
22416
22417	// CloudWatch Logs information where Systems Manager sent the command output.
22418	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
22419
22420	// The parent command ID of the invocation plugin.
22421	CommandId *string `min:"36" type:"string"`
22422
22423	// The comment text for the command.
22424	Comment *string `type:"string"`
22425
22426	// The name of the document that was run. For example, AWS-RunShellScript.
22427	DocumentName *string `type:"string"`
22428
22429	// The SSM document version used in the request.
22430	DocumentVersion *string `type:"string"`
22431
22432	// Duration since ExecutionStartDateTime.
22433	ExecutionElapsedTime *string `type:"string"`
22434
22435	// The date and time the plugin was finished running. Date and time are written
22436	// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
22437	// The following sample AWS CLI command uses the InvokedAfter filter.
22438	//
22439	// aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z
22440	//
22441	// If the plugin has not started to run, the string is empty.
22442	ExecutionEndDateTime *string `type:"string"`
22443
22444	// The date and time the plugin started running. Date and time are written in
22445	// ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The
22446	// following sample AWS CLI command uses the InvokedBefore filter.
22447	//
22448	// aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z
22449	//
22450	// If the plugin has not started to run, the string is empty.
22451	ExecutionStartDateTime *string `type:"string"`
22452
22453	// The ID of the managed instance targeted by the command. A managed instance
22454	// can be an Amazon EC2 instance or an instance in your hybrid environment that
22455	// is configured for Systems Manager.
22456	InstanceId *string `type:"string"`
22457
22458	// The name of the plugin for which you want detailed results. For example,
22459	// aws:RunShellScript is a plugin.
22460	PluginName *string `min:"4" type:"string"`
22461
22462	// The error level response code for the plugin script. If the response code
22463	// is -1, then the command has not started running on the instance, or it was
22464	// not received by the instance.
22465	ResponseCode *int64 `type:"integer"`
22466
22467	// The first 8,000 characters written by the plugin to stderr. If the command
22468	// has not finished running, then this string is empty.
22469	StandardErrorContent *string `type:"string"`
22470
22471	// The URL for the complete text written by the plugin to stderr. If the command
22472	// has not finished running, then this string is empty.
22473	StandardErrorUrl *string `type:"string"`
22474
22475	// The first 24,000 characters written by the plugin to stdout. If the command
22476	// has not finished running, if ExecutionStatus is neither Succeeded nor Failed,
22477	// then this string is empty.
22478	StandardOutputContent *string `type:"string"`
22479
22480	// The URL for the complete text written by the plugin to stdout in Amazon S3.
22481	// If an Amazon S3 bucket was not specified, then this string is empty.
22482	StandardOutputUrl *string `type:"string"`
22483
22484	// The status of this invocation plugin. This status can be different than StatusDetails.
22485	Status *string `type:"string" enum:"CommandInvocationStatus"`
22486
22487	// A detailed status of the command execution for an invocation. StatusDetails
22488	// includes more information than Status because it includes states resulting
22489	// from error and concurrency control parameters. StatusDetails can show different
22490	// results than Status. For more information about these statuses, see Understanding
22491	// Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
22492	// in the AWS Systems Manager User Guide. StatusDetails can be one of the following
22493	// values:
22494	//
22495	//    * Pending: The command has not been sent to the instance.
22496	//
22497	//    * In Progress: The command has been sent to the instance but has not reached
22498	//    a terminal state.
22499	//
22500	//    * Delayed: The system attempted to send the command to the target, but
22501	//    the target was not available. The instance might not be available because
22502	//    of network issues, the instance was stopped, etc. The system will try
22503	//    to deliver the command again.
22504	//
22505	//    * Success: The command or plugin was run successfully. This is a terminal
22506	//    state.
22507	//
22508	//    * Delivery Timed Out: The command was not delivered to the instance before
22509	//    the delivery timeout expired. Delivery timeouts do not count against the
22510	//    parent command's MaxErrors limit, but they do contribute to whether the
22511	//    parent command status is Success or Incomplete. This is a terminal state.
22512	//
22513	//    * Execution Timed Out: The command started to run on the instance, but
22514	//    the execution was not complete before the timeout expired. Execution timeouts
22515	//    count against the MaxErrors limit of the parent command. This is a terminal
22516	//    state.
22517	//
22518	//    * Failed: The command wasn't run successfully on the instance. For a plugin,
22519	//    this indicates that the result code was not zero. For a command invocation,
22520	//    this indicates that the result code for one or more plugins was not zero.
22521	//    Invocation failures count against the MaxErrors limit of the parent command.
22522	//    This is a terminal state.
22523	//
22524	//    * Canceled: The command was terminated before it was completed. This is
22525	//    a terminal state.
22526	//
22527	//    * Undeliverable: The command can't be delivered to the instance. The instance
22528	//    might not exist or might not be responding. Undeliverable invocations
22529	//    don't count against the parent command's MaxErrors limit and don't contribute
22530	//    to whether the parent command status is Success or Incomplete. This is
22531	//    a terminal state.
22532	//
22533	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
22534	//    command invocations were canceled by the system. This is a terminal state.
22535	StatusDetails *string `type:"string"`
22536}
22537
22538// String returns the string representation
22539func (s GetCommandInvocationOutput) String() string {
22540	return awsutil.Prettify(s)
22541}
22542
22543// GoString returns the string representation
22544func (s GetCommandInvocationOutput) GoString() string {
22545	return s.String()
22546}
22547
22548// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
22549func (s *GetCommandInvocationOutput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *GetCommandInvocationOutput {
22550	s.CloudWatchOutputConfig = v
22551	return s
22552}
22553
22554// SetCommandId sets the CommandId field's value.
22555func (s *GetCommandInvocationOutput) SetCommandId(v string) *GetCommandInvocationOutput {
22556	s.CommandId = &v
22557	return s
22558}
22559
22560// SetComment sets the Comment field's value.
22561func (s *GetCommandInvocationOutput) SetComment(v string) *GetCommandInvocationOutput {
22562	s.Comment = &v
22563	return s
22564}
22565
22566// SetDocumentName sets the DocumentName field's value.
22567func (s *GetCommandInvocationOutput) SetDocumentName(v string) *GetCommandInvocationOutput {
22568	s.DocumentName = &v
22569	return s
22570}
22571
22572// SetDocumentVersion sets the DocumentVersion field's value.
22573func (s *GetCommandInvocationOutput) SetDocumentVersion(v string) *GetCommandInvocationOutput {
22574	s.DocumentVersion = &v
22575	return s
22576}
22577
22578// SetExecutionElapsedTime sets the ExecutionElapsedTime field's value.
22579func (s *GetCommandInvocationOutput) SetExecutionElapsedTime(v string) *GetCommandInvocationOutput {
22580	s.ExecutionElapsedTime = &v
22581	return s
22582}
22583
22584// SetExecutionEndDateTime sets the ExecutionEndDateTime field's value.
22585func (s *GetCommandInvocationOutput) SetExecutionEndDateTime(v string) *GetCommandInvocationOutput {
22586	s.ExecutionEndDateTime = &v
22587	return s
22588}
22589
22590// SetExecutionStartDateTime sets the ExecutionStartDateTime field's value.
22591func (s *GetCommandInvocationOutput) SetExecutionStartDateTime(v string) *GetCommandInvocationOutput {
22592	s.ExecutionStartDateTime = &v
22593	return s
22594}
22595
22596// SetInstanceId sets the InstanceId field's value.
22597func (s *GetCommandInvocationOutput) SetInstanceId(v string) *GetCommandInvocationOutput {
22598	s.InstanceId = &v
22599	return s
22600}
22601
22602// SetPluginName sets the PluginName field's value.
22603func (s *GetCommandInvocationOutput) SetPluginName(v string) *GetCommandInvocationOutput {
22604	s.PluginName = &v
22605	return s
22606}
22607
22608// SetResponseCode sets the ResponseCode field's value.
22609func (s *GetCommandInvocationOutput) SetResponseCode(v int64) *GetCommandInvocationOutput {
22610	s.ResponseCode = &v
22611	return s
22612}
22613
22614// SetStandardErrorContent sets the StandardErrorContent field's value.
22615func (s *GetCommandInvocationOutput) SetStandardErrorContent(v string) *GetCommandInvocationOutput {
22616	s.StandardErrorContent = &v
22617	return s
22618}
22619
22620// SetStandardErrorUrl sets the StandardErrorUrl field's value.
22621func (s *GetCommandInvocationOutput) SetStandardErrorUrl(v string) *GetCommandInvocationOutput {
22622	s.StandardErrorUrl = &v
22623	return s
22624}
22625
22626// SetStandardOutputContent sets the StandardOutputContent field's value.
22627func (s *GetCommandInvocationOutput) SetStandardOutputContent(v string) *GetCommandInvocationOutput {
22628	s.StandardOutputContent = &v
22629	return s
22630}
22631
22632// SetStandardOutputUrl sets the StandardOutputUrl field's value.
22633func (s *GetCommandInvocationOutput) SetStandardOutputUrl(v string) *GetCommandInvocationOutput {
22634	s.StandardOutputUrl = &v
22635	return s
22636}
22637
22638// SetStatus sets the Status field's value.
22639func (s *GetCommandInvocationOutput) SetStatus(v string) *GetCommandInvocationOutput {
22640	s.Status = &v
22641	return s
22642}
22643
22644// SetStatusDetails sets the StatusDetails field's value.
22645func (s *GetCommandInvocationOutput) SetStatusDetails(v string) *GetCommandInvocationOutput {
22646	s.StatusDetails = &v
22647	return s
22648}
22649
22650type GetConnectionStatusInput struct {
22651	_ struct{} `type:"structure"`
22652
22653	// The ID of the instance.
22654	//
22655	// Target is a required field
22656	Target *string `min:"1" type:"string" required:"true"`
22657}
22658
22659// String returns the string representation
22660func (s GetConnectionStatusInput) String() string {
22661	return awsutil.Prettify(s)
22662}
22663
22664// GoString returns the string representation
22665func (s GetConnectionStatusInput) GoString() string {
22666	return s.String()
22667}
22668
22669// Validate inspects the fields of the type to determine if they are valid.
22670func (s *GetConnectionStatusInput) Validate() error {
22671	invalidParams := request.ErrInvalidParams{Context: "GetConnectionStatusInput"}
22672	if s.Target == nil {
22673		invalidParams.Add(request.NewErrParamRequired("Target"))
22674	}
22675	if s.Target != nil && len(*s.Target) < 1 {
22676		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
22677	}
22678
22679	if invalidParams.Len() > 0 {
22680		return invalidParams
22681	}
22682	return nil
22683}
22684
22685// SetTarget sets the Target field's value.
22686func (s *GetConnectionStatusInput) SetTarget(v string) *GetConnectionStatusInput {
22687	s.Target = &v
22688	return s
22689}
22690
22691type GetConnectionStatusOutput struct {
22692	_ struct{} `type:"structure"`
22693
22694	// The status of the connection to the instance. For example, 'Connected' or
22695	// 'Not Connected'.
22696	Status *string `type:"string" enum:"ConnectionStatus"`
22697
22698	// The ID of the instance to check connection status.
22699	Target *string `min:"1" type:"string"`
22700}
22701
22702// String returns the string representation
22703func (s GetConnectionStatusOutput) String() string {
22704	return awsutil.Prettify(s)
22705}
22706
22707// GoString returns the string representation
22708func (s GetConnectionStatusOutput) GoString() string {
22709	return s.String()
22710}
22711
22712// SetStatus sets the Status field's value.
22713func (s *GetConnectionStatusOutput) SetStatus(v string) *GetConnectionStatusOutput {
22714	s.Status = &v
22715	return s
22716}
22717
22718// SetTarget sets the Target field's value.
22719func (s *GetConnectionStatusOutput) SetTarget(v string) *GetConnectionStatusOutput {
22720	s.Target = &v
22721	return s
22722}
22723
22724type GetDefaultPatchBaselineInput struct {
22725	_ struct{} `type:"structure"`
22726
22727	// Returns the default patch baseline for the specified operating system.
22728	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22729}
22730
22731// String returns the string representation
22732func (s GetDefaultPatchBaselineInput) String() string {
22733	return awsutil.Prettify(s)
22734}
22735
22736// GoString returns the string representation
22737func (s GetDefaultPatchBaselineInput) GoString() string {
22738	return s.String()
22739}
22740
22741// SetOperatingSystem sets the OperatingSystem field's value.
22742func (s *GetDefaultPatchBaselineInput) SetOperatingSystem(v string) *GetDefaultPatchBaselineInput {
22743	s.OperatingSystem = &v
22744	return s
22745}
22746
22747type GetDefaultPatchBaselineOutput struct {
22748	_ struct{} `type:"structure"`
22749
22750	// The ID of the default patch baseline.
22751	BaselineId *string `min:"20" type:"string"`
22752
22753	// The operating system for the returned patch baseline.
22754	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22755}
22756
22757// String returns the string representation
22758func (s GetDefaultPatchBaselineOutput) String() string {
22759	return awsutil.Prettify(s)
22760}
22761
22762// GoString returns the string representation
22763func (s GetDefaultPatchBaselineOutput) GoString() string {
22764	return s.String()
22765}
22766
22767// SetBaselineId sets the BaselineId field's value.
22768func (s *GetDefaultPatchBaselineOutput) SetBaselineId(v string) *GetDefaultPatchBaselineOutput {
22769	s.BaselineId = &v
22770	return s
22771}
22772
22773// SetOperatingSystem sets the OperatingSystem field's value.
22774func (s *GetDefaultPatchBaselineOutput) SetOperatingSystem(v string) *GetDefaultPatchBaselineOutput {
22775	s.OperatingSystem = &v
22776	return s
22777}
22778
22779type GetDeployablePatchSnapshotForInstanceInput struct {
22780	_ struct{} `type:"structure"`
22781
22782	// The ID of the instance for which the appropriate patch snapshot should be
22783	// retrieved.
22784	//
22785	// InstanceId is a required field
22786	InstanceId *string `type:"string" required:"true"`
22787
22788	// The user-defined snapshot ID.
22789	//
22790	// SnapshotId is a required field
22791	SnapshotId *string `min:"36" type:"string" required:"true"`
22792}
22793
22794// String returns the string representation
22795func (s GetDeployablePatchSnapshotForInstanceInput) String() string {
22796	return awsutil.Prettify(s)
22797}
22798
22799// GoString returns the string representation
22800func (s GetDeployablePatchSnapshotForInstanceInput) GoString() string {
22801	return s.String()
22802}
22803
22804// Validate inspects the fields of the type to determine if they are valid.
22805func (s *GetDeployablePatchSnapshotForInstanceInput) Validate() error {
22806	invalidParams := request.ErrInvalidParams{Context: "GetDeployablePatchSnapshotForInstanceInput"}
22807	if s.InstanceId == nil {
22808		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
22809	}
22810	if s.SnapshotId == nil {
22811		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
22812	}
22813	if s.SnapshotId != nil && len(*s.SnapshotId) < 36 {
22814		invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 36))
22815	}
22816
22817	if invalidParams.Len() > 0 {
22818		return invalidParams
22819	}
22820	return nil
22821}
22822
22823// SetInstanceId sets the InstanceId field's value.
22824func (s *GetDeployablePatchSnapshotForInstanceInput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceInput {
22825	s.InstanceId = &v
22826	return s
22827}
22828
22829// SetSnapshotId sets the SnapshotId field's value.
22830func (s *GetDeployablePatchSnapshotForInstanceInput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceInput {
22831	s.SnapshotId = &v
22832	return s
22833}
22834
22835type GetDeployablePatchSnapshotForInstanceOutput struct {
22836	_ struct{} `type:"structure"`
22837
22838	// The ID of the instance.
22839	InstanceId *string `type:"string"`
22840
22841	// Returns the specific operating system (for example Windows Server 2012 or
22842	// Amazon Linux 2015.09) on the instance for the specified patch snapshot.
22843	Product *string `type:"string"`
22844
22845	// A pre-signed Amazon S3 URL that can be used to download the patch snapshot.
22846	SnapshotDownloadUrl *string `type:"string"`
22847
22848	// The user-defined snapshot ID.
22849	SnapshotId *string `min:"36" type:"string"`
22850}
22851
22852// String returns the string representation
22853func (s GetDeployablePatchSnapshotForInstanceOutput) String() string {
22854	return awsutil.Prettify(s)
22855}
22856
22857// GoString returns the string representation
22858func (s GetDeployablePatchSnapshotForInstanceOutput) GoString() string {
22859	return s.String()
22860}
22861
22862// SetInstanceId sets the InstanceId field's value.
22863func (s *GetDeployablePatchSnapshotForInstanceOutput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22864	s.InstanceId = &v
22865	return s
22866}
22867
22868// SetProduct sets the Product field's value.
22869func (s *GetDeployablePatchSnapshotForInstanceOutput) SetProduct(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22870	s.Product = &v
22871	return s
22872}
22873
22874// SetSnapshotDownloadUrl sets the SnapshotDownloadUrl field's value.
22875func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotDownloadUrl(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22876	s.SnapshotDownloadUrl = &v
22877	return s
22878}
22879
22880// SetSnapshotId sets the SnapshotId field's value.
22881func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
22882	s.SnapshotId = &v
22883	return s
22884}
22885
22886type GetDocumentInput struct {
22887	_ struct{} `type:"structure"`
22888
22889	// Returns the document in the specified format. The document format can be
22890	// either JSON or YAML. JSON is the default format.
22891	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
22892
22893	// The document version for which you want information.
22894	DocumentVersion *string `type:"string"`
22895
22896	// The name of the Systems Manager document.
22897	//
22898	// Name is a required field
22899	Name *string `type:"string" required:"true"`
22900
22901	// An optional field specifying the version of the artifact associated with
22902	// the document. For example, "Release 12, Update 6". This value is unique across
22903	// all versions of a document, and cannot be changed.
22904	VersionName *string `type:"string"`
22905}
22906
22907// String returns the string representation
22908func (s GetDocumentInput) String() string {
22909	return awsutil.Prettify(s)
22910}
22911
22912// GoString returns the string representation
22913func (s GetDocumentInput) GoString() string {
22914	return s.String()
22915}
22916
22917// Validate inspects the fields of the type to determine if they are valid.
22918func (s *GetDocumentInput) Validate() error {
22919	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
22920	if s.Name == nil {
22921		invalidParams.Add(request.NewErrParamRequired("Name"))
22922	}
22923
22924	if invalidParams.Len() > 0 {
22925		return invalidParams
22926	}
22927	return nil
22928}
22929
22930// SetDocumentFormat sets the DocumentFormat field's value.
22931func (s *GetDocumentInput) SetDocumentFormat(v string) *GetDocumentInput {
22932	s.DocumentFormat = &v
22933	return s
22934}
22935
22936// SetDocumentVersion sets the DocumentVersion field's value.
22937func (s *GetDocumentInput) SetDocumentVersion(v string) *GetDocumentInput {
22938	s.DocumentVersion = &v
22939	return s
22940}
22941
22942// SetName sets the Name field's value.
22943func (s *GetDocumentInput) SetName(v string) *GetDocumentInput {
22944	s.Name = &v
22945	return s
22946}
22947
22948// SetVersionName sets the VersionName field's value.
22949func (s *GetDocumentInput) SetVersionName(v string) *GetDocumentInput {
22950	s.VersionName = &v
22951	return s
22952}
22953
22954type GetDocumentOutput struct {
22955	_ struct{} `type:"structure"`
22956
22957	// A description of the document attachments, including names, locations, sizes,
22958	// etc.
22959	AttachmentsContent []*AttachmentContent `type:"list"`
22960
22961	// The contents of the Systems Manager document.
22962	Content *string `min:"1" type:"string"`
22963
22964	// The document format, either JSON or YAML.
22965	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
22966
22967	// The document type.
22968	DocumentType *string `type:"string" enum:"DocumentType"`
22969
22970	// The document version.
22971	DocumentVersion *string `type:"string"`
22972
22973	// The name of the Systems Manager document.
22974	Name *string `type:"string"`
22975
22976	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
22977	// document requires an ApplicationConfigurationSchema document.
22978	Requires []*DocumentRequires `min:"1" type:"list"`
22979
22980	// The status of the Systems Manager document, such as Creating, Active, Updating,
22981	// Failed, and Deleting.
22982	Status *string `type:"string" enum:"DocumentStatus"`
22983
22984	// A message returned by AWS Systems Manager that explains the Status value.
22985	// For example, a Failed status might be explained by the StatusInformation
22986	// message, "The specified S3 bucket does not exist. Verify that the URL of
22987	// the S3 bucket is correct."
22988	StatusInformation *string `type:"string"`
22989
22990	// The version of the artifact associated with the document. For example, "Release
22991	// 12, Update 6". This value is unique across all versions of a document, and
22992	// cannot be changed.
22993	VersionName *string `type:"string"`
22994}
22995
22996// String returns the string representation
22997func (s GetDocumentOutput) String() string {
22998	return awsutil.Prettify(s)
22999}
23000
23001// GoString returns the string representation
23002func (s GetDocumentOutput) GoString() string {
23003	return s.String()
23004}
23005
23006// SetAttachmentsContent sets the AttachmentsContent field's value.
23007func (s *GetDocumentOutput) SetAttachmentsContent(v []*AttachmentContent) *GetDocumentOutput {
23008	s.AttachmentsContent = v
23009	return s
23010}
23011
23012// SetContent sets the Content field's value.
23013func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput {
23014	s.Content = &v
23015	return s
23016}
23017
23018// SetDocumentFormat sets the DocumentFormat field's value.
23019func (s *GetDocumentOutput) SetDocumentFormat(v string) *GetDocumentOutput {
23020	s.DocumentFormat = &v
23021	return s
23022}
23023
23024// SetDocumentType sets the DocumentType field's value.
23025func (s *GetDocumentOutput) SetDocumentType(v string) *GetDocumentOutput {
23026	s.DocumentType = &v
23027	return s
23028}
23029
23030// SetDocumentVersion sets the DocumentVersion field's value.
23031func (s *GetDocumentOutput) SetDocumentVersion(v string) *GetDocumentOutput {
23032	s.DocumentVersion = &v
23033	return s
23034}
23035
23036// SetName sets the Name field's value.
23037func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput {
23038	s.Name = &v
23039	return s
23040}
23041
23042// SetRequires sets the Requires field's value.
23043func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutput {
23044	s.Requires = v
23045	return s
23046}
23047
23048// SetStatus sets the Status field's value.
23049func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput {
23050	s.Status = &v
23051	return s
23052}
23053
23054// SetStatusInformation sets the StatusInformation field's value.
23055func (s *GetDocumentOutput) SetStatusInformation(v string) *GetDocumentOutput {
23056	s.StatusInformation = &v
23057	return s
23058}
23059
23060// SetVersionName sets the VersionName field's value.
23061func (s *GetDocumentOutput) SetVersionName(v string) *GetDocumentOutput {
23062	s.VersionName = &v
23063	return s
23064}
23065
23066type GetInventoryInput struct {
23067	_ struct{} `type:"structure"`
23068
23069	// Returns counts of inventory types based on one or more expressions. For example,
23070	// if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType
23071	// type, you can see a count of how many Windows and Linux instances exist in
23072	// your inventoried fleet.
23073	Aggregators []*InventoryAggregator `min:"1" type:"list"`
23074
23075	// One or more filters. Use a filter to return a more specific list of results.
23076	Filters []*InventoryFilter `min:"1" type:"list"`
23077
23078	// The maximum number of items to return for this call. The call also returns
23079	// a token that you can specify in a subsequent call to get the next set of
23080	// results.
23081	MaxResults *int64 `min:"1" type:"integer"`
23082
23083	// The token for the next set of items to return. (You received this token from
23084	// a previous call.)
23085	NextToken *string `type:"string"`
23086
23087	// The list of inventory item types to return.
23088	ResultAttributes []*ResultAttribute `min:"1" type:"list"`
23089}
23090
23091// String returns the string representation
23092func (s GetInventoryInput) String() string {
23093	return awsutil.Prettify(s)
23094}
23095
23096// GoString returns the string representation
23097func (s GetInventoryInput) GoString() string {
23098	return s.String()
23099}
23100
23101// Validate inspects the fields of the type to determine if they are valid.
23102func (s *GetInventoryInput) Validate() error {
23103	invalidParams := request.ErrInvalidParams{Context: "GetInventoryInput"}
23104	if s.Aggregators != nil && len(s.Aggregators) < 1 {
23105		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
23106	}
23107	if s.Filters != nil && len(s.Filters) < 1 {
23108		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
23109	}
23110	if s.MaxResults != nil && *s.MaxResults < 1 {
23111		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
23112	}
23113	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
23114		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
23115	}
23116	if s.Aggregators != nil {
23117		for i, v := range s.Aggregators {
23118			if v == nil {
23119				continue
23120			}
23121			if err := v.Validate(); err != nil {
23122				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
23123			}
23124		}
23125	}
23126	if s.Filters != nil {
23127		for i, v := range s.Filters {
23128			if v == nil {
23129				continue
23130			}
23131			if err := v.Validate(); err != nil {
23132				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
23133			}
23134		}
23135	}
23136	if s.ResultAttributes != nil {
23137		for i, v := range s.ResultAttributes {
23138			if v == nil {
23139				continue
23140			}
23141			if err := v.Validate(); err != nil {
23142				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
23143			}
23144		}
23145	}
23146
23147	if invalidParams.Len() > 0 {
23148		return invalidParams
23149	}
23150	return nil
23151}
23152
23153// SetAggregators sets the Aggregators field's value.
23154func (s *GetInventoryInput) SetAggregators(v []*InventoryAggregator) *GetInventoryInput {
23155	s.Aggregators = v
23156	return s
23157}
23158
23159// SetFilters sets the Filters field's value.
23160func (s *GetInventoryInput) SetFilters(v []*InventoryFilter) *GetInventoryInput {
23161	s.Filters = v
23162	return s
23163}
23164
23165// SetMaxResults sets the MaxResults field's value.
23166func (s *GetInventoryInput) SetMaxResults(v int64) *GetInventoryInput {
23167	s.MaxResults = &v
23168	return s
23169}
23170
23171// SetNextToken sets the NextToken field's value.
23172func (s *GetInventoryInput) SetNextToken(v string) *GetInventoryInput {
23173	s.NextToken = &v
23174	return s
23175}
23176
23177// SetResultAttributes sets the ResultAttributes field's value.
23178func (s *GetInventoryInput) SetResultAttributes(v []*ResultAttribute) *GetInventoryInput {
23179	s.ResultAttributes = v
23180	return s
23181}
23182
23183type GetInventoryOutput struct {
23184	_ struct{} `type:"structure"`
23185
23186	// Collection of inventory entities such as a collection of instance inventory.
23187	Entities []*InventoryResultEntity `type:"list"`
23188
23189	// The token to use when requesting the next set of items. If there are no additional
23190	// items to return, the string is empty.
23191	NextToken *string `type:"string"`
23192}
23193
23194// String returns the string representation
23195func (s GetInventoryOutput) String() string {
23196	return awsutil.Prettify(s)
23197}
23198
23199// GoString returns the string representation
23200func (s GetInventoryOutput) GoString() string {
23201	return s.String()
23202}
23203
23204// SetEntities sets the Entities field's value.
23205func (s *GetInventoryOutput) SetEntities(v []*InventoryResultEntity) *GetInventoryOutput {
23206	s.Entities = v
23207	return s
23208}
23209
23210// SetNextToken sets the NextToken field's value.
23211func (s *GetInventoryOutput) SetNextToken(v string) *GetInventoryOutput {
23212	s.NextToken = &v
23213	return s
23214}
23215
23216type GetInventorySchemaInput struct {
23217	_ struct{} `type:"structure"`
23218
23219	// Returns inventory schemas that support aggregation. For example, this call
23220	// returns the AWS:InstanceInformation type, because it supports aggregation
23221	// based on the PlatformName, PlatformType, and PlatformVersion attributes.
23222	Aggregator *bool `type:"boolean"`
23223
23224	// The maximum number of items to return for this call. The call also returns
23225	// a token that you can specify in a subsequent call to get the next set of
23226	// results.
23227	MaxResults *int64 `min:"50" type:"integer"`
23228
23229	// The token for the next set of items to return. (You received this token from
23230	// a previous call.)
23231	NextToken *string `type:"string"`
23232
23233	// Returns the sub-type schema for a specified inventory type.
23234	SubType *bool `type:"boolean"`
23235
23236	// The type of inventory item to return.
23237	TypeName *string `type:"string"`
23238}
23239
23240// String returns the string representation
23241func (s GetInventorySchemaInput) String() string {
23242	return awsutil.Prettify(s)
23243}
23244
23245// GoString returns the string representation
23246func (s GetInventorySchemaInput) GoString() string {
23247	return s.String()
23248}
23249
23250// Validate inspects the fields of the type to determine if they are valid.
23251func (s *GetInventorySchemaInput) Validate() error {
23252	invalidParams := request.ErrInvalidParams{Context: "GetInventorySchemaInput"}
23253	if s.MaxResults != nil && *s.MaxResults < 50 {
23254		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
23255	}
23256
23257	if invalidParams.Len() > 0 {
23258		return invalidParams
23259	}
23260	return nil
23261}
23262
23263// SetAggregator sets the Aggregator field's value.
23264func (s *GetInventorySchemaInput) SetAggregator(v bool) *GetInventorySchemaInput {
23265	s.Aggregator = &v
23266	return s
23267}
23268
23269// SetMaxResults sets the MaxResults field's value.
23270func (s *GetInventorySchemaInput) SetMaxResults(v int64) *GetInventorySchemaInput {
23271	s.MaxResults = &v
23272	return s
23273}
23274
23275// SetNextToken sets the NextToken field's value.
23276func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInput {
23277	s.NextToken = &v
23278	return s
23279}
23280
23281// SetSubType sets the SubType field's value.
23282func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput {
23283	s.SubType = &v
23284	return s
23285}
23286
23287// SetTypeName sets the TypeName field's value.
23288func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput {
23289	s.TypeName = &v
23290	return s
23291}
23292
23293type GetInventorySchemaOutput struct {
23294	_ struct{} `type:"structure"`
23295
23296	// The token to use when requesting the next set of items. If there are no additional
23297	// items to return, the string is empty.
23298	NextToken *string `type:"string"`
23299
23300	// Inventory schemas returned by the request.
23301	Schemas []*InventoryItemSchema `type:"list"`
23302}
23303
23304// String returns the string representation
23305func (s GetInventorySchemaOutput) String() string {
23306	return awsutil.Prettify(s)
23307}
23308
23309// GoString returns the string representation
23310func (s GetInventorySchemaOutput) GoString() string {
23311	return s.String()
23312}
23313
23314// SetNextToken sets the NextToken field's value.
23315func (s *GetInventorySchemaOutput) SetNextToken(v string) *GetInventorySchemaOutput {
23316	s.NextToken = &v
23317	return s
23318}
23319
23320// SetSchemas sets the Schemas field's value.
23321func (s *GetInventorySchemaOutput) SetSchemas(v []*InventoryItemSchema) *GetInventorySchemaOutput {
23322	s.Schemas = v
23323	return s
23324}
23325
23326type GetMaintenanceWindowExecutionInput struct {
23327	_ struct{} `type:"structure"`
23328
23329	// The ID of the maintenance window execution that includes the task.
23330	//
23331	// WindowExecutionId is a required field
23332	WindowExecutionId *string `min:"36" type:"string" required:"true"`
23333}
23334
23335// String returns the string representation
23336func (s GetMaintenanceWindowExecutionInput) String() string {
23337	return awsutil.Prettify(s)
23338}
23339
23340// GoString returns the string representation
23341func (s GetMaintenanceWindowExecutionInput) GoString() string {
23342	return s.String()
23343}
23344
23345// Validate inspects the fields of the type to determine if they are valid.
23346func (s *GetMaintenanceWindowExecutionInput) Validate() error {
23347	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionInput"}
23348	if s.WindowExecutionId == nil {
23349		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
23350	}
23351	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
23352		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
23353	}
23354
23355	if invalidParams.Len() > 0 {
23356		return invalidParams
23357	}
23358	return nil
23359}
23360
23361// SetWindowExecutionId sets the WindowExecutionId field's value.
23362func (s *GetMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionInput {
23363	s.WindowExecutionId = &v
23364	return s
23365}
23366
23367type GetMaintenanceWindowExecutionOutput struct {
23368	_ struct{} `type:"structure"`
23369
23370	// The time the maintenance window finished running.
23371	EndTime *time.Time `type:"timestamp"`
23372
23373	// The time the maintenance window started running.
23374	StartTime *time.Time `type:"timestamp"`
23375
23376	// The status of the maintenance window execution.
23377	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
23378
23379	// The details explaining the Status. Only available for certain status values.
23380	StatusDetails *string `type:"string"`
23381
23382	// The ID of the task executions from the maintenance window execution.
23383	TaskIds []*string `type:"list"`
23384
23385	// The ID of the maintenance window execution.
23386	WindowExecutionId *string `min:"36" type:"string"`
23387}
23388
23389// String returns the string representation
23390func (s GetMaintenanceWindowExecutionOutput) String() string {
23391	return awsutil.Prettify(s)
23392}
23393
23394// GoString returns the string representation
23395func (s GetMaintenanceWindowExecutionOutput) GoString() string {
23396	return s.String()
23397}
23398
23399// SetEndTime sets the EndTime field's value.
23400func (s *GetMaintenanceWindowExecutionOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
23401	s.EndTime = &v
23402	return s
23403}
23404
23405// SetStartTime sets the StartTime field's value.
23406func (s *GetMaintenanceWindowExecutionOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
23407	s.StartTime = &v
23408	return s
23409}
23410
23411// SetStatus sets the Status field's value.
23412func (s *GetMaintenanceWindowExecutionOutput) SetStatus(v string) *GetMaintenanceWindowExecutionOutput {
23413	s.Status = &v
23414	return s
23415}
23416
23417// SetStatusDetails sets the StatusDetails field's value.
23418func (s *GetMaintenanceWindowExecutionOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionOutput {
23419	s.StatusDetails = &v
23420	return s
23421}
23422
23423// SetTaskIds sets the TaskIds field's value.
23424func (s *GetMaintenanceWindowExecutionOutput) SetTaskIds(v []*string) *GetMaintenanceWindowExecutionOutput {
23425	s.TaskIds = v
23426	return s
23427}
23428
23429// SetWindowExecutionId sets the WindowExecutionId field's value.
23430func (s *GetMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionOutput {
23431	s.WindowExecutionId = &v
23432	return s
23433}
23434
23435type GetMaintenanceWindowExecutionTaskInput struct {
23436	_ struct{} `type:"structure"`
23437
23438	// The ID of the specific task execution in the maintenance window task that
23439	// should be retrieved.
23440	//
23441	// TaskId is a required field
23442	TaskId *string `min:"36" type:"string" required:"true"`
23443
23444	// The ID of the maintenance window execution that includes the task.
23445	//
23446	// WindowExecutionId is a required field
23447	WindowExecutionId *string `min:"36" type:"string" required:"true"`
23448}
23449
23450// String returns the string representation
23451func (s GetMaintenanceWindowExecutionTaskInput) String() string {
23452	return awsutil.Prettify(s)
23453}
23454
23455// GoString returns the string representation
23456func (s GetMaintenanceWindowExecutionTaskInput) GoString() string {
23457	return s.String()
23458}
23459
23460// Validate inspects the fields of the type to determine if they are valid.
23461func (s *GetMaintenanceWindowExecutionTaskInput) Validate() error {
23462	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInput"}
23463	if s.TaskId == nil {
23464		invalidParams.Add(request.NewErrParamRequired("TaskId"))
23465	}
23466	if s.TaskId != nil && len(*s.TaskId) < 36 {
23467		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
23468	}
23469	if s.WindowExecutionId == nil {
23470		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
23471	}
23472	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
23473		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
23474	}
23475
23476	if invalidParams.Len() > 0 {
23477		return invalidParams
23478	}
23479	return nil
23480}
23481
23482// SetTaskId sets the TaskId field's value.
23483func (s *GetMaintenanceWindowExecutionTaskInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInput {
23484	s.TaskId = &v
23485	return s
23486}
23487
23488// SetWindowExecutionId sets the WindowExecutionId field's value.
23489func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInput {
23490	s.WindowExecutionId = &v
23491	return s
23492}
23493
23494type GetMaintenanceWindowExecutionTaskInvocationInput struct {
23495	_ struct{} `type:"structure"`
23496
23497	// The invocation ID to retrieve.
23498	//
23499	// InvocationId is a required field
23500	InvocationId *string `min:"36" type:"string" required:"true"`
23501
23502	// The ID of the specific task in the maintenance window task that should be
23503	// retrieved.
23504	//
23505	// TaskId is a required field
23506	TaskId *string `min:"36" type:"string" required:"true"`
23507
23508	// The ID of the maintenance window execution for which the task is a part.
23509	//
23510	// WindowExecutionId is a required field
23511	WindowExecutionId *string `min:"36" type:"string" required:"true"`
23512}
23513
23514// String returns the string representation
23515func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string {
23516	return awsutil.Prettify(s)
23517}
23518
23519// GoString returns the string representation
23520func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string {
23521	return s.String()
23522}
23523
23524// Validate inspects the fields of the type to determine if they are valid.
23525func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error {
23526	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"}
23527	if s.InvocationId == nil {
23528		invalidParams.Add(request.NewErrParamRequired("InvocationId"))
23529	}
23530	if s.InvocationId != nil && len(*s.InvocationId) < 36 {
23531		invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36))
23532	}
23533	if s.TaskId == nil {
23534		invalidParams.Add(request.NewErrParamRequired("TaskId"))
23535	}
23536	if s.TaskId != nil && len(*s.TaskId) < 36 {
23537		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
23538	}
23539	if s.WindowExecutionId == nil {
23540		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
23541	}
23542	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
23543		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
23544	}
23545
23546	if invalidParams.Len() > 0 {
23547		return invalidParams
23548	}
23549	return nil
23550}
23551
23552// SetInvocationId sets the InvocationId field's value.
23553func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23554	s.InvocationId = &v
23555	return s
23556}
23557
23558// SetTaskId sets the TaskId field's value.
23559func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23560	s.TaskId = &v
23561	return s
23562}
23563
23564// SetWindowExecutionId sets the WindowExecutionId field's value.
23565func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
23566	s.WindowExecutionId = &v
23567	return s
23568}
23569
23570type GetMaintenanceWindowExecutionTaskInvocationOutput struct {
23571	_ struct{} `type:"structure"`
23572
23573	// The time that the task finished running on the target.
23574	EndTime *time.Time `type:"timestamp"`
23575
23576	// The execution ID.
23577	ExecutionId *string `type:"string"`
23578
23579	// The invocation ID.
23580	InvocationId *string `min:"36" type:"string"`
23581
23582	// User-provided value to be included in any CloudWatch events raised while
23583	// running tasks for these targets in this maintenance window.
23584	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
23585
23586	// The parameters used at the time that the task ran.
23587	Parameters *string `type:"string" sensitive:"true"`
23588
23589	// The time that the task started running on the target.
23590	StartTime *time.Time `type:"timestamp"`
23591
23592	// The task status for an invocation.
23593	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
23594
23595	// The details explaining the status. Details are only available for certain
23596	// status values.
23597	StatusDetails *string `type:"string"`
23598
23599	// The task execution ID.
23600	TaskExecutionId *string `min:"36" type:"string"`
23601
23602	// Retrieves the task type for a maintenance window. Task types include the
23603	// following: LAMBDA, STEP_FUNCTIONS, AUTOMATION, RUN_COMMAND.
23604	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
23605
23606	// The maintenance window execution ID.
23607	WindowExecutionId *string `min:"36" type:"string"`
23608
23609	// The maintenance window target ID.
23610	WindowTargetId *string `type:"string"`
23611}
23612
23613// String returns the string representation
23614func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string {
23615	return awsutil.Prettify(s)
23616}
23617
23618// GoString returns the string representation
23619func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string {
23620	return s.String()
23621}
23622
23623// SetEndTime sets the EndTime field's value.
23624func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23625	s.EndTime = &v
23626	return s
23627}
23628
23629// SetExecutionId sets the ExecutionId field's value.
23630func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23631	s.ExecutionId = &v
23632	return s
23633}
23634
23635// SetInvocationId sets the InvocationId field's value.
23636func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23637	s.InvocationId = &v
23638	return s
23639}
23640
23641// SetOwnerInformation sets the OwnerInformation field's value.
23642func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23643	s.OwnerInformation = &v
23644	return s
23645}
23646
23647// SetParameters sets the Parameters field's value.
23648func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23649	s.Parameters = &v
23650	return s
23651}
23652
23653// SetStartTime sets the StartTime field's value.
23654func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23655	s.StartTime = &v
23656	return s
23657}
23658
23659// SetStatus sets the Status field's value.
23660func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23661	s.Status = &v
23662	return s
23663}
23664
23665// SetStatusDetails sets the StatusDetails field's value.
23666func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23667	s.StatusDetails = &v
23668	return s
23669}
23670
23671// SetTaskExecutionId sets the TaskExecutionId field's value.
23672func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23673	s.TaskExecutionId = &v
23674	return s
23675}
23676
23677// SetTaskType sets the TaskType field's value.
23678func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23679	s.TaskType = &v
23680	return s
23681}
23682
23683// SetWindowExecutionId sets the WindowExecutionId field's value.
23684func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23685	s.WindowExecutionId = &v
23686	return s
23687}
23688
23689// SetWindowTargetId sets the WindowTargetId field's value.
23690func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
23691	s.WindowTargetId = &v
23692	return s
23693}
23694
23695type GetMaintenanceWindowExecutionTaskOutput struct {
23696	_ struct{} `type:"structure"`
23697
23698	// The time the task execution completed.
23699	EndTime *time.Time `type:"timestamp"`
23700
23701	// The defined maximum number of task executions that could be run in parallel.
23702	MaxConcurrency *string `min:"1" type:"string"`
23703
23704	// The defined maximum number of task execution errors allowed before scheduling
23705	// of the task execution would have been stopped.
23706	MaxErrors *string `min:"1" type:"string"`
23707
23708	// The priority of the task.
23709	Priority *int64 `type:"integer"`
23710
23711	// The role that was assumed when running the task.
23712	ServiceRole *string `type:"string"`
23713
23714	// The time the task execution started.
23715	StartTime *time.Time `type:"timestamp"`
23716
23717	// The status of the task.
23718	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
23719
23720	// The details explaining the Status. Only available for certain status values.
23721	StatusDetails *string `type:"string"`
23722
23723	// The ARN of the task that ran.
23724	TaskArn *string `min:"1" type:"string"`
23725
23726	// The ID of the specific task execution in the maintenance window task that
23727	// was retrieved.
23728	TaskExecutionId *string `min:"36" type:"string"`
23729
23730	// The parameters passed to the task when it was run.
23731	//
23732	// TaskParameters has been deprecated. To specify parameters to pass to a task
23733	// when it runs, instead use the Parameters option in the TaskInvocationParameters
23734	// structure. For information about how Systems Manager handles these options
23735	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
23736	//
23737	// The map has the following format:
23738	//
23739	// Key: string, between 1 and 255 characters
23740	//
23741	// Value: an array of strings, each string is between 1 and 255 characters
23742	TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list" sensitive:"true"`
23743
23744	// The type of task that was run.
23745	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
23746
23747	// The ID of the maintenance window execution that includes the task.
23748	WindowExecutionId *string `min:"36" type:"string"`
23749}
23750
23751// String returns the string representation
23752func (s GetMaintenanceWindowExecutionTaskOutput) String() string {
23753	return awsutil.Prettify(s)
23754}
23755
23756// GoString returns the string representation
23757func (s GetMaintenanceWindowExecutionTaskOutput) GoString() string {
23758	return s.String()
23759}
23760
23761// SetEndTime sets the EndTime field's value.
23762func (s *GetMaintenanceWindowExecutionTaskOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
23763	s.EndTime = &v
23764	return s
23765}
23766
23767// SetMaxConcurrency sets the MaxConcurrency field's value.
23768func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowExecutionTaskOutput {
23769	s.MaxConcurrency = &v
23770	return s
23771}
23772
23773// SetMaxErrors sets the MaxErrors field's value.
23774func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowExecutionTaskOutput {
23775	s.MaxErrors = &v
23776	return s
23777}
23778
23779// SetPriority sets the Priority field's value.
23780func (s *GetMaintenanceWindowExecutionTaskOutput) SetPriority(v int64) *GetMaintenanceWindowExecutionTaskOutput {
23781	s.Priority = &v
23782	return s
23783}
23784
23785// SetServiceRole sets the ServiceRole field's value.
23786func (s *GetMaintenanceWindowExecutionTaskOutput) SetServiceRole(v string) *GetMaintenanceWindowExecutionTaskOutput {
23787	s.ServiceRole = &v
23788	return s
23789}
23790
23791// SetStartTime sets the StartTime field's value.
23792func (s *GetMaintenanceWindowExecutionTaskOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
23793	s.StartTime = &v
23794	return s
23795}
23796
23797// SetStatus sets the Status field's value.
23798func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskOutput {
23799	s.Status = &v
23800	return s
23801}
23802
23803// SetStatusDetails sets the StatusDetails field's value.
23804func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskOutput {
23805	s.StatusDetails = &v
23806	return s
23807}
23808
23809// SetTaskArn sets the TaskArn field's value.
23810func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowExecutionTaskOutput {
23811	s.TaskArn = &v
23812	return s
23813}
23814
23815// SetTaskExecutionId sets the TaskExecutionId field's value.
23816func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
23817	s.TaskExecutionId = &v
23818	return s
23819}
23820
23821// SetTaskParameters sets the TaskParameters field's value.
23822func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskParameters(v []map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowExecutionTaskOutput {
23823	s.TaskParameters = v
23824	return s
23825}
23826
23827// SetType sets the Type field's value.
23828func (s *GetMaintenanceWindowExecutionTaskOutput) SetType(v string) *GetMaintenanceWindowExecutionTaskOutput {
23829	s.Type = &v
23830	return s
23831}
23832
23833// SetWindowExecutionId sets the WindowExecutionId field's value.
23834func (s *GetMaintenanceWindowExecutionTaskOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
23835	s.WindowExecutionId = &v
23836	return s
23837}
23838
23839type GetMaintenanceWindowInput struct {
23840	_ struct{} `type:"structure"`
23841
23842	// The ID of the maintenance window for which you want to retrieve information.
23843	//
23844	// WindowId is a required field
23845	WindowId *string `min:"20" type:"string" required:"true"`
23846}
23847
23848// String returns the string representation
23849func (s GetMaintenanceWindowInput) String() string {
23850	return awsutil.Prettify(s)
23851}
23852
23853// GoString returns the string representation
23854func (s GetMaintenanceWindowInput) GoString() string {
23855	return s.String()
23856}
23857
23858// Validate inspects the fields of the type to determine if they are valid.
23859func (s *GetMaintenanceWindowInput) Validate() error {
23860	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowInput"}
23861	if s.WindowId == nil {
23862		invalidParams.Add(request.NewErrParamRequired("WindowId"))
23863	}
23864	if s.WindowId != nil && len(*s.WindowId) < 20 {
23865		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
23866	}
23867
23868	if invalidParams.Len() > 0 {
23869		return invalidParams
23870	}
23871	return nil
23872}
23873
23874// SetWindowId sets the WindowId field's value.
23875func (s *GetMaintenanceWindowInput) SetWindowId(v string) *GetMaintenanceWindowInput {
23876	s.WindowId = &v
23877	return s
23878}
23879
23880type GetMaintenanceWindowOutput struct {
23881	_ struct{} `type:"structure"`
23882
23883	// Whether targets must be registered with the maintenance window before tasks
23884	// can be defined for those targets.
23885	AllowUnassociatedTargets *bool `type:"boolean"`
23886
23887	// The date the maintenance window was created.
23888	CreatedDate *time.Time `type:"timestamp"`
23889
23890	// The number of hours before the end of the maintenance window that Systems
23891	// Manager stops scheduling new tasks for execution.
23892	Cutoff *int64 `type:"integer"`
23893
23894	// The description of the maintenance window.
23895	Description *string `min:"1" type:"string" sensitive:"true"`
23896
23897	// The duration of the maintenance window in hours.
23898	Duration *int64 `min:"1" type:"integer"`
23899
23900	// Indicates whether the maintenance window is enabled.
23901	Enabled *bool `type:"boolean"`
23902
23903	// The date and time, in ISO-8601 Extended format, for when the maintenance
23904	// window is scheduled to become inactive. The maintenance window will not run
23905	// after this specified time.
23906	EndDate *string `type:"string"`
23907
23908	// The date the maintenance window was last modified.
23909	ModifiedDate *time.Time `type:"timestamp"`
23910
23911	// The name of the maintenance window.
23912	Name *string `min:"3" type:"string"`
23913
23914	// The next time the maintenance window will actually run, taking into account
23915	// any specified times for the maintenance window to become active or inactive.
23916	NextExecutionTime *string `type:"string"`
23917
23918	// The schedule of the maintenance window in the form of a cron or rate expression.
23919	Schedule *string `min:"1" type:"string"`
23920
23921	// The time zone that the scheduled maintenance window executions are based
23922	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
23923	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
23924	// (https://www.iana.org/time-zones) on the IANA website.
23925	ScheduleTimezone *string `type:"string"`
23926
23927	// The date and time, in ISO-8601 Extended format, for when the maintenance
23928	// window is scheduled to become active. The maintenance window will not run
23929	// before this specified time.
23930	StartDate *string `type:"string"`
23931
23932	// The ID of the created maintenance window.
23933	WindowId *string `min:"20" type:"string"`
23934}
23935
23936// String returns the string representation
23937func (s GetMaintenanceWindowOutput) String() string {
23938	return awsutil.Prettify(s)
23939}
23940
23941// GoString returns the string representation
23942func (s GetMaintenanceWindowOutput) GoString() string {
23943	return s.String()
23944}
23945
23946// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
23947func (s *GetMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *GetMaintenanceWindowOutput {
23948	s.AllowUnassociatedTargets = &v
23949	return s
23950}
23951
23952// SetCreatedDate sets the CreatedDate field's value.
23953func (s *GetMaintenanceWindowOutput) SetCreatedDate(v time.Time) *GetMaintenanceWindowOutput {
23954	s.CreatedDate = &v
23955	return s
23956}
23957
23958// SetCutoff sets the Cutoff field's value.
23959func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOutput {
23960	s.Cutoff = &v
23961	return s
23962}
23963
23964// SetDescription sets the Description field's value.
23965func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput {
23966	s.Description = &v
23967	return s
23968}
23969
23970// SetDuration sets the Duration field's value.
23971func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput {
23972	s.Duration = &v
23973	return s
23974}
23975
23976// SetEnabled sets the Enabled field's value.
23977func (s *GetMaintenanceWindowOutput) SetEnabled(v bool) *GetMaintenanceWindowOutput {
23978	s.Enabled = &v
23979	return s
23980}
23981
23982// SetEndDate sets the EndDate field's value.
23983func (s *GetMaintenanceWindowOutput) SetEndDate(v string) *GetMaintenanceWindowOutput {
23984	s.EndDate = &v
23985	return s
23986}
23987
23988// SetModifiedDate sets the ModifiedDate field's value.
23989func (s *GetMaintenanceWindowOutput) SetModifiedDate(v time.Time) *GetMaintenanceWindowOutput {
23990	s.ModifiedDate = &v
23991	return s
23992}
23993
23994// SetName sets the Name field's value.
23995func (s *GetMaintenanceWindowOutput) SetName(v string) *GetMaintenanceWindowOutput {
23996	s.Name = &v
23997	return s
23998}
23999
24000// SetNextExecutionTime sets the NextExecutionTime field's value.
24001func (s *GetMaintenanceWindowOutput) SetNextExecutionTime(v string) *GetMaintenanceWindowOutput {
24002	s.NextExecutionTime = &v
24003	return s
24004}
24005
24006// SetSchedule sets the Schedule field's value.
24007func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput {
24008	s.Schedule = &v
24009	return s
24010}
24011
24012// SetScheduleTimezone sets the ScheduleTimezone field's value.
24013func (s *GetMaintenanceWindowOutput) SetScheduleTimezone(v string) *GetMaintenanceWindowOutput {
24014	s.ScheduleTimezone = &v
24015	return s
24016}
24017
24018// SetStartDate sets the StartDate field's value.
24019func (s *GetMaintenanceWindowOutput) SetStartDate(v string) *GetMaintenanceWindowOutput {
24020	s.StartDate = &v
24021	return s
24022}
24023
24024// SetWindowId sets the WindowId field's value.
24025func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput {
24026	s.WindowId = &v
24027	return s
24028}
24029
24030type GetMaintenanceWindowTaskInput struct {
24031	_ struct{} `type:"structure"`
24032
24033	// The maintenance window ID that includes the task to retrieve.
24034	//
24035	// WindowId is a required field
24036	WindowId *string `min:"20" type:"string" required:"true"`
24037
24038	// The maintenance window task ID to retrieve.
24039	//
24040	// WindowTaskId is a required field
24041	WindowTaskId *string `min:"36" type:"string" required:"true"`
24042}
24043
24044// String returns the string representation
24045func (s GetMaintenanceWindowTaskInput) String() string {
24046	return awsutil.Prettify(s)
24047}
24048
24049// GoString returns the string representation
24050func (s GetMaintenanceWindowTaskInput) GoString() string {
24051	return s.String()
24052}
24053
24054// Validate inspects the fields of the type to determine if they are valid.
24055func (s *GetMaintenanceWindowTaskInput) Validate() error {
24056	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"}
24057	if s.WindowId == nil {
24058		invalidParams.Add(request.NewErrParamRequired("WindowId"))
24059	}
24060	if s.WindowId != nil && len(*s.WindowId) < 20 {
24061		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
24062	}
24063	if s.WindowTaskId == nil {
24064		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
24065	}
24066	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
24067		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
24068	}
24069
24070	if invalidParams.Len() > 0 {
24071		return invalidParams
24072	}
24073	return nil
24074}
24075
24076// SetWindowId sets the WindowId field's value.
24077func (s *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput {
24078	s.WindowId = &v
24079	return s
24080}
24081
24082// SetWindowTaskId sets the WindowTaskId field's value.
24083func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput {
24084	s.WindowTaskId = &v
24085	return s
24086}
24087
24088type GetMaintenanceWindowTaskOutput struct {
24089	_ struct{} `type:"structure"`
24090
24091	// The retrieved task description.
24092	Description *string `min:"1" type:"string" sensitive:"true"`
24093
24094	// The location in Amazon S3 where the task results are logged.
24095	//
24096	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
24097	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
24098	// structure. For information about how Systems Manager handles these options
24099	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
24100	LoggingInfo *LoggingInfo `type:"structure"`
24101
24102	// The maximum number of targets allowed to run this task in parallel.
24103	MaxConcurrency *string `min:"1" type:"string"`
24104
24105	// The maximum number of errors allowed before the task stops being scheduled.
24106	MaxErrors *string `min:"1" type:"string"`
24107
24108	// The retrieved task name.
24109	Name *string `min:"3" type:"string"`
24110
24111	// The priority of the task when it runs. The lower the number, the higher the
24112	// priority. Tasks that have the same priority are scheduled in parallel.
24113	Priority *int64 `type:"integer"`
24114
24115	// The ARN of the IAM service role to use to publish Amazon Simple Notification
24116	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
24117	ServiceRoleArn *string `type:"string"`
24118
24119	// The targets where the task should run.
24120	Targets []*Target `type:"list"`
24121
24122	// The resource that the task used during execution. For RUN_COMMAND and AUTOMATION
24123	// task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA
24124	// tasks, the value is the function name/ARN. For STEP_FUNCTIONS tasks, the
24125	// value is the state machine ARN.
24126	TaskArn *string `min:"1" type:"string"`
24127
24128	// The parameters to pass to the task when it runs.
24129	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
24130
24131	// The parameters to pass to the task when it runs.
24132	//
24133	// TaskParameters has been deprecated. To specify parameters to pass to a task
24134	// when it runs, instead use the Parameters option in the TaskInvocationParameters
24135	// structure. For information about how Systems Manager handles these options
24136	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
24137	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
24138
24139	// The type of task to run.
24140	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
24141
24142	// The retrieved maintenance window ID.
24143	WindowId *string `min:"20" type:"string"`
24144
24145	// The retrieved maintenance window task ID.
24146	WindowTaskId *string `min:"36" type:"string"`
24147}
24148
24149// String returns the string representation
24150func (s GetMaintenanceWindowTaskOutput) String() string {
24151	return awsutil.Prettify(s)
24152}
24153
24154// GoString returns the string representation
24155func (s GetMaintenanceWindowTaskOutput) GoString() string {
24156	return s.String()
24157}
24158
24159// SetDescription sets the Description field's value.
24160func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput {
24161	s.Description = &v
24162	return s
24163}
24164
24165// SetLoggingInfo sets the LoggingInfo field's value.
24166func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput {
24167	s.LoggingInfo = v
24168	return s
24169}
24170
24171// SetMaxConcurrency sets the MaxConcurrency field's value.
24172func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput {
24173	s.MaxConcurrency = &v
24174	return s
24175}
24176
24177// SetMaxErrors sets the MaxErrors field's value.
24178func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput {
24179	s.MaxErrors = &v
24180	return s
24181}
24182
24183// SetName sets the Name field's value.
24184func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput {
24185	s.Name = &v
24186	return s
24187}
24188
24189// SetPriority sets the Priority field's value.
24190func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput {
24191	s.Priority = &v
24192	return s
24193}
24194
24195// SetServiceRoleArn sets the ServiceRoleArn field's value.
24196func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput {
24197	s.ServiceRoleArn = &v
24198	return s
24199}
24200
24201// SetTargets sets the Targets field's value.
24202func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput {
24203	s.Targets = v
24204	return s
24205}
24206
24207// SetTaskArn sets the TaskArn field's value.
24208func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput {
24209	s.TaskArn = &v
24210	return s
24211}
24212
24213// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
24214func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput {
24215	s.TaskInvocationParameters = v
24216	return s
24217}
24218
24219// SetTaskParameters sets the TaskParameters field's value.
24220func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput {
24221	s.TaskParameters = v
24222	return s
24223}
24224
24225// SetTaskType sets the TaskType field's value.
24226func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput {
24227	s.TaskType = &v
24228	return s
24229}
24230
24231// SetWindowId sets the WindowId field's value.
24232func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput {
24233	s.WindowId = &v
24234	return s
24235}
24236
24237// SetWindowTaskId sets the WindowTaskId field's value.
24238func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput {
24239	s.WindowTaskId = &v
24240	return s
24241}
24242
24243type GetOpsItemInput struct {
24244	_ struct{} `type:"structure"`
24245
24246	// The ID of the OpsItem that you want to get.
24247	//
24248	// OpsItemId is a required field
24249	OpsItemId *string `type:"string" required:"true"`
24250}
24251
24252// String returns the string representation
24253func (s GetOpsItemInput) String() string {
24254	return awsutil.Prettify(s)
24255}
24256
24257// GoString returns the string representation
24258func (s GetOpsItemInput) GoString() string {
24259	return s.String()
24260}
24261
24262// Validate inspects the fields of the type to determine if they are valid.
24263func (s *GetOpsItemInput) Validate() error {
24264	invalidParams := request.ErrInvalidParams{Context: "GetOpsItemInput"}
24265	if s.OpsItemId == nil {
24266		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
24267	}
24268
24269	if invalidParams.Len() > 0 {
24270		return invalidParams
24271	}
24272	return nil
24273}
24274
24275// SetOpsItemId sets the OpsItemId field's value.
24276func (s *GetOpsItemInput) SetOpsItemId(v string) *GetOpsItemInput {
24277	s.OpsItemId = &v
24278	return s
24279}
24280
24281type GetOpsItemOutput struct {
24282	_ struct{} `type:"structure"`
24283
24284	// The OpsItem.
24285	OpsItem *OpsItem `type:"structure"`
24286}
24287
24288// String returns the string representation
24289func (s GetOpsItemOutput) String() string {
24290	return awsutil.Prettify(s)
24291}
24292
24293// GoString returns the string representation
24294func (s GetOpsItemOutput) GoString() string {
24295	return s.String()
24296}
24297
24298// SetOpsItem sets the OpsItem field's value.
24299func (s *GetOpsItemOutput) SetOpsItem(v *OpsItem) *GetOpsItemOutput {
24300	s.OpsItem = v
24301	return s
24302}
24303
24304type GetOpsSummaryInput struct {
24305	_ struct{} `type:"structure"`
24306
24307	// Optional aggregators that return counts of OpsItems based on one or more
24308	// expressions.
24309	Aggregators []*OpsAggregator `min:"1" type:"list"`
24310
24311	// Optional filters used to scope down the returned OpsItems.
24312	Filters []*OpsFilter `min:"1" type:"list"`
24313
24314	// The maximum number of items to return for this call. The call also returns
24315	// a token that you can specify in a subsequent call to get the next set of
24316	// results.
24317	MaxResults *int64 `min:"1" type:"integer"`
24318
24319	// A token to start the list. Use this token to get the next set of results.
24320	NextToken *string `type:"string"`
24321
24322	// The OpsItem data type to return.
24323	ResultAttributes []*OpsResultAttribute `min:"1" type:"list"`
24324
24325	// Specify the name of a resource data sync to get.
24326	SyncName *string `min:"1" type:"string"`
24327}
24328
24329// String returns the string representation
24330func (s GetOpsSummaryInput) String() string {
24331	return awsutil.Prettify(s)
24332}
24333
24334// GoString returns the string representation
24335func (s GetOpsSummaryInput) GoString() string {
24336	return s.String()
24337}
24338
24339// Validate inspects the fields of the type to determine if they are valid.
24340func (s *GetOpsSummaryInput) Validate() error {
24341	invalidParams := request.ErrInvalidParams{Context: "GetOpsSummaryInput"}
24342	if s.Aggregators != nil && len(s.Aggregators) < 1 {
24343		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
24344	}
24345	if s.Filters != nil && len(s.Filters) < 1 {
24346		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
24347	}
24348	if s.MaxResults != nil && *s.MaxResults < 1 {
24349		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24350	}
24351	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
24352		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
24353	}
24354	if s.SyncName != nil && len(*s.SyncName) < 1 {
24355		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
24356	}
24357	if s.Aggregators != nil {
24358		for i, v := range s.Aggregators {
24359			if v == nil {
24360				continue
24361			}
24362			if err := v.Validate(); err != nil {
24363				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
24364			}
24365		}
24366	}
24367	if s.Filters != nil {
24368		for i, v := range s.Filters {
24369			if v == nil {
24370				continue
24371			}
24372			if err := v.Validate(); err != nil {
24373				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24374			}
24375		}
24376	}
24377	if s.ResultAttributes != nil {
24378		for i, v := range s.ResultAttributes {
24379			if v == nil {
24380				continue
24381			}
24382			if err := v.Validate(); err != nil {
24383				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
24384			}
24385		}
24386	}
24387
24388	if invalidParams.Len() > 0 {
24389		return invalidParams
24390	}
24391	return nil
24392}
24393
24394// SetAggregators sets the Aggregators field's value.
24395func (s *GetOpsSummaryInput) SetAggregators(v []*OpsAggregator) *GetOpsSummaryInput {
24396	s.Aggregators = v
24397	return s
24398}
24399
24400// SetFilters sets the Filters field's value.
24401func (s *GetOpsSummaryInput) SetFilters(v []*OpsFilter) *GetOpsSummaryInput {
24402	s.Filters = v
24403	return s
24404}
24405
24406// SetMaxResults sets the MaxResults field's value.
24407func (s *GetOpsSummaryInput) SetMaxResults(v int64) *GetOpsSummaryInput {
24408	s.MaxResults = &v
24409	return s
24410}
24411
24412// SetNextToken sets the NextToken field's value.
24413func (s *GetOpsSummaryInput) SetNextToken(v string) *GetOpsSummaryInput {
24414	s.NextToken = &v
24415	return s
24416}
24417
24418// SetResultAttributes sets the ResultAttributes field's value.
24419func (s *GetOpsSummaryInput) SetResultAttributes(v []*OpsResultAttribute) *GetOpsSummaryInput {
24420	s.ResultAttributes = v
24421	return s
24422}
24423
24424// SetSyncName sets the SyncName field's value.
24425func (s *GetOpsSummaryInput) SetSyncName(v string) *GetOpsSummaryInput {
24426	s.SyncName = &v
24427	return s
24428}
24429
24430type GetOpsSummaryOutput struct {
24431	_ struct{} `type:"structure"`
24432
24433	// The list of aggregated and filtered OpsItems.
24434	Entities []*OpsEntity `type:"list"`
24435
24436	// The token for the next set of items to return. Use this token to get the
24437	// next set of results.
24438	NextToken *string `type:"string"`
24439}
24440
24441// String returns the string representation
24442func (s GetOpsSummaryOutput) String() string {
24443	return awsutil.Prettify(s)
24444}
24445
24446// GoString returns the string representation
24447func (s GetOpsSummaryOutput) GoString() string {
24448	return s.String()
24449}
24450
24451// SetEntities sets the Entities field's value.
24452func (s *GetOpsSummaryOutput) SetEntities(v []*OpsEntity) *GetOpsSummaryOutput {
24453	s.Entities = v
24454	return s
24455}
24456
24457// SetNextToken sets the NextToken field's value.
24458func (s *GetOpsSummaryOutput) SetNextToken(v string) *GetOpsSummaryOutput {
24459	s.NextToken = &v
24460	return s
24461}
24462
24463type GetParameterHistoryInput struct {
24464	_ struct{} `type:"structure"`
24465
24466	// The maximum number of items to return for this call. The call also returns
24467	// a token that you can specify in a subsequent call to get the next set of
24468	// results.
24469	MaxResults *int64 `min:"1" type:"integer"`
24470
24471	// The name of a parameter you want to query.
24472	//
24473	// Name is a required field
24474	Name *string `min:"1" type:"string" required:"true"`
24475
24476	// The token for the next set of items to return. (You received this token from
24477	// a previous call.)
24478	NextToken *string `type:"string"`
24479
24480	// Return decrypted values for secure string parameters. This flag is ignored
24481	// for String and StringList parameter types.
24482	WithDecryption *bool `type:"boolean"`
24483}
24484
24485// String returns the string representation
24486func (s GetParameterHistoryInput) String() string {
24487	return awsutil.Prettify(s)
24488}
24489
24490// GoString returns the string representation
24491func (s GetParameterHistoryInput) GoString() string {
24492	return s.String()
24493}
24494
24495// Validate inspects the fields of the type to determine if they are valid.
24496func (s *GetParameterHistoryInput) Validate() error {
24497	invalidParams := request.ErrInvalidParams{Context: "GetParameterHistoryInput"}
24498	if s.MaxResults != nil && *s.MaxResults < 1 {
24499		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24500	}
24501	if s.Name == nil {
24502		invalidParams.Add(request.NewErrParamRequired("Name"))
24503	}
24504	if s.Name != nil && len(*s.Name) < 1 {
24505		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24506	}
24507
24508	if invalidParams.Len() > 0 {
24509		return invalidParams
24510	}
24511	return nil
24512}
24513
24514// SetMaxResults sets the MaxResults field's value.
24515func (s *GetParameterHistoryInput) SetMaxResults(v int64) *GetParameterHistoryInput {
24516	s.MaxResults = &v
24517	return s
24518}
24519
24520// SetName sets the Name field's value.
24521func (s *GetParameterHistoryInput) SetName(v string) *GetParameterHistoryInput {
24522	s.Name = &v
24523	return s
24524}
24525
24526// SetNextToken sets the NextToken field's value.
24527func (s *GetParameterHistoryInput) SetNextToken(v string) *GetParameterHistoryInput {
24528	s.NextToken = &v
24529	return s
24530}
24531
24532// SetWithDecryption sets the WithDecryption field's value.
24533func (s *GetParameterHistoryInput) SetWithDecryption(v bool) *GetParameterHistoryInput {
24534	s.WithDecryption = &v
24535	return s
24536}
24537
24538type GetParameterHistoryOutput struct {
24539	_ struct{} `type:"structure"`
24540
24541	// The token to use when requesting the next set of items. If there are no additional
24542	// items to return, the string is empty.
24543	NextToken *string `type:"string"`
24544
24545	// A list of parameters returned by the request.
24546	Parameters []*ParameterHistory `type:"list"`
24547}
24548
24549// String returns the string representation
24550func (s GetParameterHistoryOutput) String() string {
24551	return awsutil.Prettify(s)
24552}
24553
24554// GoString returns the string representation
24555func (s GetParameterHistoryOutput) GoString() string {
24556	return s.String()
24557}
24558
24559// SetNextToken sets the NextToken field's value.
24560func (s *GetParameterHistoryOutput) SetNextToken(v string) *GetParameterHistoryOutput {
24561	s.NextToken = &v
24562	return s
24563}
24564
24565// SetParameters sets the Parameters field's value.
24566func (s *GetParameterHistoryOutput) SetParameters(v []*ParameterHistory) *GetParameterHistoryOutput {
24567	s.Parameters = v
24568	return s
24569}
24570
24571type GetParameterInput struct {
24572	_ struct{} `type:"structure"`
24573
24574	// The name of the parameter you want to query.
24575	//
24576	// Name is a required field
24577	Name *string `min:"1" type:"string" required:"true"`
24578
24579	// Return decrypted values for secure string parameters. This flag is ignored
24580	// for String and StringList parameter types.
24581	WithDecryption *bool `type:"boolean"`
24582}
24583
24584// String returns the string representation
24585func (s GetParameterInput) String() string {
24586	return awsutil.Prettify(s)
24587}
24588
24589// GoString returns the string representation
24590func (s GetParameterInput) GoString() string {
24591	return s.String()
24592}
24593
24594// Validate inspects the fields of the type to determine if they are valid.
24595func (s *GetParameterInput) Validate() error {
24596	invalidParams := request.ErrInvalidParams{Context: "GetParameterInput"}
24597	if s.Name == nil {
24598		invalidParams.Add(request.NewErrParamRequired("Name"))
24599	}
24600	if s.Name != nil && len(*s.Name) < 1 {
24601		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24602	}
24603
24604	if invalidParams.Len() > 0 {
24605		return invalidParams
24606	}
24607	return nil
24608}
24609
24610// SetName sets the Name field's value.
24611func (s *GetParameterInput) SetName(v string) *GetParameterInput {
24612	s.Name = &v
24613	return s
24614}
24615
24616// SetWithDecryption sets the WithDecryption field's value.
24617func (s *GetParameterInput) SetWithDecryption(v bool) *GetParameterInput {
24618	s.WithDecryption = &v
24619	return s
24620}
24621
24622type GetParameterOutput struct {
24623	_ struct{} `type:"structure"`
24624
24625	// Information about a parameter.
24626	Parameter *Parameter `type:"structure"`
24627}
24628
24629// String returns the string representation
24630func (s GetParameterOutput) String() string {
24631	return awsutil.Prettify(s)
24632}
24633
24634// GoString returns the string representation
24635func (s GetParameterOutput) GoString() string {
24636	return s.String()
24637}
24638
24639// SetParameter sets the Parameter field's value.
24640func (s *GetParameterOutput) SetParameter(v *Parameter) *GetParameterOutput {
24641	s.Parameter = v
24642	return s
24643}
24644
24645type GetParametersByPathInput struct {
24646	_ struct{} `type:"structure"`
24647
24648	// The maximum number of items to return for this call. The call also returns
24649	// a token that you can specify in a subsequent call to get the next set of
24650	// results.
24651	MaxResults *int64 `min:"1" type:"integer"`
24652
24653	// A token to start the list. Use this token to get the next set of results.
24654	NextToken *string `type:"string"`
24655
24656	// Filters to limit the request results.
24657	ParameterFilters []*ParameterStringFilter `type:"list"`
24658
24659	// The hierarchy for the parameter. Hierarchies start with a forward slash (/)
24660	// and end with the parameter name. A parameter name hierarchy can have a maximum
24661	// of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33
24662	//
24663	// Path is a required field
24664	Path *string `min:"1" type:"string" required:"true"`
24665
24666	// Retrieve all parameters within a hierarchy.
24667	//
24668	// If a user has access to a path, then the user can access all levels of that
24669	// path. For example, if a user has permission to access path /a, then the user
24670	// can also access /a/b. Even if a user has explicitly been denied access in
24671	// IAM for parameter /a/b, they can still call the GetParametersByPath API action
24672	// recursively for /a and view /a/b.
24673	Recursive *bool `type:"boolean"`
24674
24675	// Retrieve all parameters in a hierarchy with their value decrypted.
24676	WithDecryption *bool `type:"boolean"`
24677}
24678
24679// String returns the string representation
24680func (s GetParametersByPathInput) String() string {
24681	return awsutil.Prettify(s)
24682}
24683
24684// GoString returns the string representation
24685func (s GetParametersByPathInput) GoString() string {
24686	return s.String()
24687}
24688
24689// Validate inspects the fields of the type to determine if they are valid.
24690func (s *GetParametersByPathInput) Validate() error {
24691	invalidParams := request.ErrInvalidParams{Context: "GetParametersByPathInput"}
24692	if s.MaxResults != nil && *s.MaxResults < 1 {
24693		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24694	}
24695	if s.Path == nil {
24696		invalidParams.Add(request.NewErrParamRequired("Path"))
24697	}
24698	if s.Path != nil && len(*s.Path) < 1 {
24699		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
24700	}
24701	if s.ParameterFilters != nil {
24702		for i, v := range s.ParameterFilters {
24703			if v == nil {
24704				continue
24705			}
24706			if err := v.Validate(); err != nil {
24707				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
24708			}
24709		}
24710	}
24711
24712	if invalidParams.Len() > 0 {
24713		return invalidParams
24714	}
24715	return nil
24716}
24717
24718// SetMaxResults sets the MaxResults field's value.
24719func (s *GetParametersByPathInput) SetMaxResults(v int64) *GetParametersByPathInput {
24720	s.MaxResults = &v
24721	return s
24722}
24723
24724// SetNextToken sets the NextToken field's value.
24725func (s *GetParametersByPathInput) SetNextToken(v string) *GetParametersByPathInput {
24726	s.NextToken = &v
24727	return s
24728}
24729
24730// SetParameterFilters sets the ParameterFilters field's value.
24731func (s *GetParametersByPathInput) SetParameterFilters(v []*ParameterStringFilter) *GetParametersByPathInput {
24732	s.ParameterFilters = v
24733	return s
24734}
24735
24736// SetPath sets the Path field's value.
24737func (s *GetParametersByPathInput) SetPath(v string) *GetParametersByPathInput {
24738	s.Path = &v
24739	return s
24740}
24741
24742// SetRecursive sets the Recursive field's value.
24743func (s *GetParametersByPathInput) SetRecursive(v bool) *GetParametersByPathInput {
24744	s.Recursive = &v
24745	return s
24746}
24747
24748// SetWithDecryption sets the WithDecryption field's value.
24749func (s *GetParametersByPathInput) SetWithDecryption(v bool) *GetParametersByPathInput {
24750	s.WithDecryption = &v
24751	return s
24752}
24753
24754type GetParametersByPathOutput struct {
24755	_ struct{} `type:"structure"`
24756
24757	// The token for the next set of items to return. Use this token to get the
24758	// next set of results.
24759	NextToken *string `type:"string"`
24760
24761	// A list of parameters found in the specified hierarchy.
24762	Parameters []*Parameter `type:"list"`
24763}
24764
24765// String returns the string representation
24766func (s GetParametersByPathOutput) String() string {
24767	return awsutil.Prettify(s)
24768}
24769
24770// GoString returns the string representation
24771func (s GetParametersByPathOutput) GoString() string {
24772	return s.String()
24773}
24774
24775// SetNextToken sets the NextToken field's value.
24776func (s *GetParametersByPathOutput) SetNextToken(v string) *GetParametersByPathOutput {
24777	s.NextToken = &v
24778	return s
24779}
24780
24781// SetParameters sets the Parameters field's value.
24782func (s *GetParametersByPathOutput) SetParameters(v []*Parameter) *GetParametersByPathOutput {
24783	s.Parameters = v
24784	return s
24785}
24786
24787type GetParametersInput struct {
24788	_ struct{} `type:"structure"`
24789
24790	// Names of the parameters for which you want to query information.
24791	//
24792	// Names is a required field
24793	Names []*string `min:"1" type:"list" required:"true"`
24794
24795	// Return decrypted secure string value. Return decrypted values for secure
24796	// string parameters. This flag is ignored for String and StringList parameter
24797	// types.
24798	WithDecryption *bool `type:"boolean"`
24799}
24800
24801// String returns the string representation
24802func (s GetParametersInput) String() string {
24803	return awsutil.Prettify(s)
24804}
24805
24806// GoString returns the string representation
24807func (s GetParametersInput) GoString() string {
24808	return s.String()
24809}
24810
24811// Validate inspects the fields of the type to determine if they are valid.
24812func (s *GetParametersInput) Validate() error {
24813	invalidParams := request.ErrInvalidParams{Context: "GetParametersInput"}
24814	if s.Names == nil {
24815		invalidParams.Add(request.NewErrParamRequired("Names"))
24816	}
24817	if s.Names != nil && len(s.Names) < 1 {
24818		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
24819	}
24820
24821	if invalidParams.Len() > 0 {
24822		return invalidParams
24823	}
24824	return nil
24825}
24826
24827// SetNames sets the Names field's value.
24828func (s *GetParametersInput) SetNames(v []*string) *GetParametersInput {
24829	s.Names = v
24830	return s
24831}
24832
24833// SetWithDecryption sets the WithDecryption field's value.
24834func (s *GetParametersInput) SetWithDecryption(v bool) *GetParametersInput {
24835	s.WithDecryption = &v
24836	return s
24837}
24838
24839type GetParametersOutput struct {
24840	_ struct{} `type:"structure"`
24841
24842	// A list of parameters that are not formatted correctly or do not run during
24843	// an execution.
24844	InvalidParameters []*string `min:"1" type:"list"`
24845
24846	// A list of details for a parameter.
24847	Parameters []*Parameter `type:"list"`
24848}
24849
24850// String returns the string representation
24851func (s GetParametersOutput) String() string {
24852	return awsutil.Prettify(s)
24853}
24854
24855// GoString returns the string representation
24856func (s GetParametersOutput) GoString() string {
24857	return s.String()
24858}
24859
24860// SetInvalidParameters sets the InvalidParameters field's value.
24861func (s *GetParametersOutput) SetInvalidParameters(v []*string) *GetParametersOutput {
24862	s.InvalidParameters = v
24863	return s
24864}
24865
24866// SetParameters sets the Parameters field's value.
24867func (s *GetParametersOutput) SetParameters(v []*Parameter) *GetParametersOutput {
24868	s.Parameters = v
24869	return s
24870}
24871
24872type GetPatchBaselineForPatchGroupInput struct {
24873	_ struct{} `type:"structure"`
24874
24875	// Returns he operating system rule specified for patch groups using the patch
24876	// baseline.
24877	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
24878
24879	// The name of the patch group whose patch baseline should be retrieved.
24880	//
24881	// PatchGroup is a required field
24882	PatchGroup *string `min:"1" type:"string" required:"true"`
24883}
24884
24885// String returns the string representation
24886func (s GetPatchBaselineForPatchGroupInput) String() string {
24887	return awsutil.Prettify(s)
24888}
24889
24890// GoString returns the string representation
24891func (s GetPatchBaselineForPatchGroupInput) GoString() string {
24892	return s.String()
24893}
24894
24895// Validate inspects the fields of the type to determine if they are valid.
24896func (s *GetPatchBaselineForPatchGroupInput) Validate() error {
24897	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineForPatchGroupInput"}
24898	if s.PatchGroup == nil {
24899		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
24900	}
24901	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
24902		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
24903	}
24904
24905	if invalidParams.Len() > 0 {
24906		return invalidParams
24907	}
24908	return nil
24909}
24910
24911// SetOperatingSystem sets the OperatingSystem field's value.
24912func (s *GetPatchBaselineForPatchGroupInput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupInput {
24913	s.OperatingSystem = &v
24914	return s
24915}
24916
24917// SetPatchGroup sets the PatchGroup field's value.
24918func (s *GetPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupInput {
24919	s.PatchGroup = &v
24920	return s
24921}
24922
24923type GetPatchBaselineForPatchGroupOutput struct {
24924	_ struct{} `type:"structure"`
24925
24926	// The ID of the patch baseline that should be used for the patch group.
24927	BaselineId *string `min:"20" type:"string"`
24928
24929	// The operating system rule specified for patch groups using the patch baseline.
24930	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
24931
24932	// The name of the patch group.
24933	PatchGroup *string `min:"1" type:"string"`
24934}
24935
24936// String returns the string representation
24937func (s GetPatchBaselineForPatchGroupOutput) String() string {
24938	return awsutil.Prettify(s)
24939}
24940
24941// GoString returns the string representation
24942func (s GetPatchBaselineForPatchGroupOutput) GoString() string {
24943	return s.String()
24944}
24945
24946// SetBaselineId sets the BaselineId field's value.
24947func (s *GetPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *GetPatchBaselineForPatchGroupOutput {
24948	s.BaselineId = &v
24949	return s
24950}
24951
24952// SetOperatingSystem sets the OperatingSystem field's value.
24953func (s *GetPatchBaselineForPatchGroupOutput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupOutput {
24954	s.OperatingSystem = &v
24955	return s
24956}
24957
24958// SetPatchGroup sets the PatchGroup field's value.
24959func (s *GetPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupOutput {
24960	s.PatchGroup = &v
24961	return s
24962}
24963
24964type GetPatchBaselineInput struct {
24965	_ struct{} `type:"structure"`
24966
24967	// The ID of the patch baseline to retrieve.
24968	//
24969	// BaselineId is a required field
24970	BaselineId *string `min:"20" type:"string" required:"true"`
24971}
24972
24973// String returns the string representation
24974func (s GetPatchBaselineInput) String() string {
24975	return awsutil.Prettify(s)
24976}
24977
24978// GoString returns the string representation
24979func (s GetPatchBaselineInput) GoString() string {
24980	return s.String()
24981}
24982
24983// Validate inspects the fields of the type to determine if they are valid.
24984func (s *GetPatchBaselineInput) Validate() error {
24985	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineInput"}
24986	if s.BaselineId == nil {
24987		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
24988	}
24989	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
24990		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
24991	}
24992
24993	if invalidParams.Len() > 0 {
24994		return invalidParams
24995	}
24996	return nil
24997}
24998
24999// SetBaselineId sets the BaselineId field's value.
25000func (s *GetPatchBaselineInput) SetBaselineId(v string) *GetPatchBaselineInput {
25001	s.BaselineId = &v
25002	return s
25003}
25004
25005type GetPatchBaselineOutput struct {
25006	_ struct{} `type:"structure"`
25007
25008	// A set of rules used to include patches in the baseline.
25009	ApprovalRules *PatchRuleGroup `type:"structure"`
25010
25011	// A list of explicitly approved patches for the baseline.
25012	ApprovedPatches []*string `type:"list"`
25013
25014	// Returns the specified compliance severity level for approved patches in the
25015	// patch baseline.
25016	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
25017
25018	// Indicates whether the list of approved patches includes non-security updates
25019	// that should be applied to the instances. The default value is 'false'. Applies
25020	// to Linux instances only.
25021	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
25022
25023	// The ID of the retrieved patch baseline.
25024	BaselineId *string `min:"20" type:"string"`
25025
25026	// The date the patch baseline was created.
25027	CreatedDate *time.Time `type:"timestamp"`
25028
25029	// A description of the patch baseline.
25030	Description *string `min:"1" type:"string"`
25031
25032	// A set of global filters used to exclude patches from the baseline.
25033	GlobalFilters *PatchFilterGroup `type:"structure"`
25034
25035	// The date the patch baseline was last modified.
25036	ModifiedDate *time.Time `type:"timestamp"`
25037
25038	// The name of the patch baseline.
25039	Name *string `min:"3" type:"string"`
25040
25041	// Returns the operating system specified for the patch baseline.
25042	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
25043
25044	// Patch groups included in the patch baseline.
25045	PatchGroups []*string `type:"list"`
25046
25047	// A list of explicitly rejected patches for the baseline.
25048	RejectedPatches []*string `type:"list"`
25049
25050	// The action specified to take on patches included in the RejectedPatches list.
25051	// A patch can be allowed only if it is a dependency of another package, or
25052	// blocked entirely along with packages that include it as a dependency.
25053	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
25054
25055	// Information about the patches to use to update the instances, including target
25056	// operating systems and source repositories. Applies to Linux instances only.
25057	Sources []*PatchSource `type:"list"`
25058}
25059
25060// String returns the string representation
25061func (s GetPatchBaselineOutput) String() string {
25062	return awsutil.Prettify(s)
25063}
25064
25065// GoString returns the string representation
25066func (s GetPatchBaselineOutput) GoString() string {
25067	return s.String()
25068}
25069
25070// SetApprovalRules sets the ApprovalRules field's value.
25071func (s *GetPatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *GetPatchBaselineOutput {
25072	s.ApprovalRules = v
25073	return s
25074}
25075
25076// SetApprovedPatches sets the ApprovedPatches field's value.
25077func (s *GetPatchBaselineOutput) SetApprovedPatches(v []*string) *GetPatchBaselineOutput {
25078	s.ApprovedPatches = v
25079	return s
25080}
25081
25082// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
25083func (s *GetPatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *GetPatchBaselineOutput {
25084	s.ApprovedPatchesComplianceLevel = &v
25085	return s
25086}
25087
25088// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
25089func (s *GetPatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *GetPatchBaselineOutput {
25090	s.ApprovedPatchesEnableNonSecurity = &v
25091	return s
25092}
25093
25094// SetBaselineId sets the BaselineId field's value.
25095func (s *GetPatchBaselineOutput) SetBaselineId(v string) *GetPatchBaselineOutput {
25096	s.BaselineId = &v
25097	return s
25098}
25099
25100// SetCreatedDate sets the CreatedDate field's value.
25101func (s *GetPatchBaselineOutput) SetCreatedDate(v time.Time) *GetPatchBaselineOutput {
25102	s.CreatedDate = &v
25103	return s
25104}
25105
25106// SetDescription sets the Description field's value.
25107func (s *GetPatchBaselineOutput) SetDescription(v string) *GetPatchBaselineOutput {
25108	s.Description = &v
25109	return s
25110}
25111
25112// SetGlobalFilters sets the GlobalFilters field's value.
25113func (s *GetPatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *GetPatchBaselineOutput {
25114	s.GlobalFilters = v
25115	return s
25116}
25117
25118// SetModifiedDate sets the ModifiedDate field's value.
25119func (s *GetPatchBaselineOutput) SetModifiedDate(v time.Time) *GetPatchBaselineOutput {
25120	s.ModifiedDate = &v
25121	return s
25122}
25123
25124// SetName sets the Name field's value.
25125func (s *GetPatchBaselineOutput) SetName(v string) *GetPatchBaselineOutput {
25126	s.Name = &v
25127	return s
25128}
25129
25130// SetOperatingSystem sets the OperatingSystem field's value.
25131func (s *GetPatchBaselineOutput) SetOperatingSystem(v string) *GetPatchBaselineOutput {
25132	s.OperatingSystem = &v
25133	return s
25134}
25135
25136// SetPatchGroups sets the PatchGroups field's value.
25137func (s *GetPatchBaselineOutput) SetPatchGroups(v []*string) *GetPatchBaselineOutput {
25138	s.PatchGroups = v
25139	return s
25140}
25141
25142// SetRejectedPatches sets the RejectedPatches field's value.
25143func (s *GetPatchBaselineOutput) SetRejectedPatches(v []*string) *GetPatchBaselineOutput {
25144	s.RejectedPatches = v
25145	return s
25146}
25147
25148// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
25149func (s *GetPatchBaselineOutput) SetRejectedPatchesAction(v string) *GetPatchBaselineOutput {
25150	s.RejectedPatchesAction = &v
25151	return s
25152}
25153
25154// SetSources sets the Sources field's value.
25155func (s *GetPatchBaselineOutput) SetSources(v []*PatchSource) *GetPatchBaselineOutput {
25156	s.Sources = v
25157	return s
25158}
25159
25160// The request body of the GetServiceSetting API action.
25161type GetServiceSettingInput struct {
25162	_ struct{} `type:"structure"`
25163
25164	// The ID of the service setting to get.
25165	//
25166	// SettingId is a required field
25167	SettingId *string `min:"1" type:"string" required:"true"`
25168}
25169
25170// String returns the string representation
25171func (s GetServiceSettingInput) String() string {
25172	return awsutil.Prettify(s)
25173}
25174
25175// GoString returns the string representation
25176func (s GetServiceSettingInput) GoString() string {
25177	return s.String()
25178}
25179
25180// Validate inspects the fields of the type to determine if they are valid.
25181func (s *GetServiceSettingInput) Validate() error {
25182	invalidParams := request.ErrInvalidParams{Context: "GetServiceSettingInput"}
25183	if s.SettingId == nil {
25184		invalidParams.Add(request.NewErrParamRequired("SettingId"))
25185	}
25186	if s.SettingId != nil && len(*s.SettingId) < 1 {
25187		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
25188	}
25189
25190	if invalidParams.Len() > 0 {
25191		return invalidParams
25192	}
25193	return nil
25194}
25195
25196// SetSettingId sets the SettingId field's value.
25197func (s *GetServiceSettingInput) SetSettingId(v string) *GetServiceSettingInput {
25198	s.SettingId = &v
25199	return s
25200}
25201
25202// The query result body of the GetServiceSetting API action.
25203type GetServiceSettingOutput struct {
25204	_ struct{} `type:"structure"`
25205
25206	// The query result of the current service setting.
25207	ServiceSetting *ServiceSetting `type:"structure"`
25208}
25209
25210// String returns the string representation
25211func (s GetServiceSettingOutput) String() string {
25212	return awsutil.Prettify(s)
25213}
25214
25215// GoString returns the string representation
25216func (s GetServiceSettingOutput) GoString() string {
25217	return s.String()
25218}
25219
25220// SetServiceSetting sets the ServiceSetting field's value.
25221func (s *GetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *GetServiceSettingOutput {
25222	s.ServiceSetting = v
25223	return s
25224}
25225
25226// Status information about the aggregated associations.
25227type InstanceAggregatedAssociationOverview struct {
25228	_ struct{} `type:"structure"`
25229
25230	// Detailed status information about the aggregated associations.
25231	DetailedStatus *string `type:"string"`
25232
25233	// The number of associations for the instance(s).
25234	InstanceAssociationStatusAggregatedCount map[string]*int64 `type:"map"`
25235}
25236
25237// String returns the string representation
25238func (s InstanceAggregatedAssociationOverview) String() string {
25239	return awsutil.Prettify(s)
25240}
25241
25242// GoString returns the string representation
25243func (s InstanceAggregatedAssociationOverview) GoString() string {
25244	return s.String()
25245}
25246
25247// SetDetailedStatus sets the DetailedStatus field's value.
25248func (s *InstanceAggregatedAssociationOverview) SetDetailedStatus(v string) *InstanceAggregatedAssociationOverview {
25249	s.DetailedStatus = &v
25250	return s
25251}
25252
25253// SetInstanceAssociationStatusAggregatedCount sets the InstanceAssociationStatusAggregatedCount field's value.
25254func (s *InstanceAggregatedAssociationOverview) SetInstanceAssociationStatusAggregatedCount(v map[string]*int64) *InstanceAggregatedAssociationOverview {
25255	s.InstanceAssociationStatusAggregatedCount = v
25256	return s
25257}
25258
25259// One or more association documents on the instance.
25260type InstanceAssociation struct {
25261	_ struct{} `type:"structure"`
25262
25263	// The association ID.
25264	AssociationId *string `type:"string"`
25265
25266	// Version information for the association on the instance.
25267	AssociationVersion *string `type:"string"`
25268
25269	// The content of the association document for the instance(s).
25270	Content *string `min:"1" type:"string"`
25271
25272	// The instance ID.
25273	InstanceId *string `type:"string"`
25274}
25275
25276// String returns the string representation
25277func (s InstanceAssociation) String() string {
25278	return awsutil.Prettify(s)
25279}
25280
25281// GoString returns the string representation
25282func (s InstanceAssociation) GoString() string {
25283	return s.String()
25284}
25285
25286// SetAssociationId sets the AssociationId field's value.
25287func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation {
25288	s.AssociationId = &v
25289	return s
25290}
25291
25292// SetAssociationVersion sets the AssociationVersion field's value.
25293func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation {
25294	s.AssociationVersion = &v
25295	return s
25296}
25297
25298// SetContent sets the Content field's value.
25299func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation {
25300	s.Content = &v
25301	return s
25302}
25303
25304// SetInstanceId sets the InstanceId field's value.
25305func (s *InstanceAssociation) SetInstanceId(v string) *InstanceAssociation {
25306	s.InstanceId = &v
25307	return s
25308}
25309
25310// An Amazon S3 bucket where you want to store the results of this request.
25311type InstanceAssociationOutputLocation struct {
25312	_ struct{} `type:"structure"`
25313
25314	// An Amazon S3 bucket where you want to store the results of this request.
25315	S3Location *S3OutputLocation `type:"structure"`
25316}
25317
25318// String returns the string representation
25319func (s InstanceAssociationOutputLocation) String() string {
25320	return awsutil.Prettify(s)
25321}
25322
25323// GoString returns the string representation
25324func (s InstanceAssociationOutputLocation) GoString() string {
25325	return s.String()
25326}
25327
25328// Validate inspects the fields of the type to determine if they are valid.
25329func (s *InstanceAssociationOutputLocation) Validate() error {
25330	invalidParams := request.ErrInvalidParams{Context: "InstanceAssociationOutputLocation"}
25331	if s.S3Location != nil {
25332		if err := s.S3Location.Validate(); err != nil {
25333			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
25334		}
25335	}
25336
25337	if invalidParams.Len() > 0 {
25338		return invalidParams
25339	}
25340	return nil
25341}
25342
25343// SetS3Location sets the S3Location field's value.
25344func (s *InstanceAssociationOutputLocation) SetS3Location(v *S3OutputLocation) *InstanceAssociationOutputLocation {
25345	s.S3Location = v
25346	return s
25347}
25348
25349// The URL of Amazon S3 bucket where you want to store the results of this request.
25350type InstanceAssociationOutputUrl struct {
25351	_ struct{} `type:"structure"`
25352
25353	// The URL of Amazon S3 bucket where you want to store the results of this request.
25354	S3OutputUrl *S3OutputUrl `type:"structure"`
25355}
25356
25357// String returns the string representation
25358func (s InstanceAssociationOutputUrl) String() string {
25359	return awsutil.Prettify(s)
25360}
25361
25362// GoString returns the string representation
25363func (s InstanceAssociationOutputUrl) GoString() string {
25364	return s.String()
25365}
25366
25367// SetS3OutputUrl sets the S3OutputUrl field's value.
25368func (s *InstanceAssociationOutputUrl) SetS3OutputUrl(v *S3OutputUrl) *InstanceAssociationOutputUrl {
25369	s.S3OutputUrl = v
25370	return s
25371}
25372
25373// Status information about the instance association.
25374type InstanceAssociationStatusInfo struct {
25375	_ struct{} `type:"structure"`
25376
25377	// The association ID.
25378	AssociationId *string `type:"string"`
25379
25380	// The name of the association applied to the instance.
25381	AssociationName *string `type:"string"`
25382
25383	// The version of the association applied to the instance.
25384	AssociationVersion *string `type:"string"`
25385
25386	// Detailed status information about the instance association.
25387	DetailedStatus *string `type:"string"`
25388
25389	// The association document versions.
25390	DocumentVersion *string `type:"string"`
25391
25392	// An error code returned by the request to create the association.
25393	ErrorCode *string `type:"string"`
25394
25395	// The date the instance association ran.
25396	ExecutionDate *time.Time `type:"timestamp"`
25397
25398	// Summary information about association execution.
25399	ExecutionSummary *string `min:"1" type:"string"`
25400
25401	// The instance ID where the association was created.
25402	InstanceId *string `type:"string"`
25403
25404	// The name of the association.
25405	Name *string `type:"string"`
25406
25407	// A URL for an Amazon S3 bucket where you want to store the results of this
25408	// request.
25409	OutputUrl *InstanceAssociationOutputUrl `type:"structure"`
25410
25411	// Status information about the instance association.
25412	Status *string `type:"string"`
25413}
25414
25415// String returns the string representation
25416func (s InstanceAssociationStatusInfo) String() string {
25417	return awsutil.Prettify(s)
25418}
25419
25420// GoString returns the string representation
25421func (s InstanceAssociationStatusInfo) GoString() string {
25422	return s.String()
25423}
25424
25425// SetAssociationId sets the AssociationId field's value.
25426func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAssociationStatusInfo {
25427	s.AssociationId = &v
25428	return s
25429}
25430
25431// SetAssociationName sets the AssociationName field's value.
25432func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo {
25433	s.AssociationName = &v
25434	return s
25435}
25436
25437// SetAssociationVersion sets the AssociationVersion field's value.
25438func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo {
25439	s.AssociationVersion = &v
25440	return s
25441}
25442
25443// SetDetailedStatus sets the DetailedStatus field's value.
25444func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo {
25445	s.DetailedStatus = &v
25446	return s
25447}
25448
25449// SetDocumentVersion sets the DocumentVersion field's value.
25450func (s *InstanceAssociationStatusInfo) SetDocumentVersion(v string) *InstanceAssociationStatusInfo {
25451	s.DocumentVersion = &v
25452	return s
25453}
25454
25455// SetErrorCode sets the ErrorCode field's value.
25456func (s *InstanceAssociationStatusInfo) SetErrorCode(v string) *InstanceAssociationStatusInfo {
25457	s.ErrorCode = &v
25458	return s
25459}
25460
25461// SetExecutionDate sets the ExecutionDate field's value.
25462func (s *InstanceAssociationStatusInfo) SetExecutionDate(v time.Time) *InstanceAssociationStatusInfo {
25463	s.ExecutionDate = &v
25464	return s
25465}
25466
25467// SetExecutionSummary sets the ExecutionSummary field's value.
25468func (s *InstanceAssociationStatusInfo) SetExecutionSummary(v string) *InstanceAssociationStatusInfo {
25469	s.ExecutionSummary = &v
25470	return s
25471}
25472
25473// SetInstanceId sets the InstanceId field's value.
25474func (s *InstanceAssociationStatusInfo) SetInstanceId(v string) *InstanceAssociationStatusInfo {
25475	s.InstanceId = &v
25476	return s
25477}
25478
25479// SetName sets the Name field's value.
25480func (s *InstanceAssociationStatusInfo) SetName(v string) *InstanceAssociationStatusInfo {
25481	s.Name = &v
25482	return s
25483}
25484
25485// SetOutputUrl sets the OutputUrl field's value.
25486func (s *InstanceAssociationStatusInfo) SetOutputUrl(v *InstanceAssociationOutputUrl) *InstanceAssociationStatusInfo {
25487	s.OutputUrl = v
25488	return s
25489}
25490
25491// SetStatus sets the Status field's value.
25492func (s *InstanceAssociationStatusInfo) SetStatus(v string) *InstanceAssociationStatusInfo {
25493	s.Status = &v
25494	return s
25495}
25496
25497// Describes a filter for a specific list of instances.
25498type InstanceInformation struct {
25499	_ struct{} `type:"structure"`
25500
25501	// The activation ID created by Systems Manager when the server or VM was registered.
25502	ActivationId *string `type:"string"`
25503
25504	// The version of SSM Agent running on your Linux instance.
25505	AgentVersion *string `type:"string"`
25506
25507	// Information about the association.
25508	AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"`
25509
25510	// The status of the association.
25511	AssociationStatus *string `type:"string"`
25512
25513	// The fully qualified host name of the managed instance.
25514	ComputerName *string `min:"1" type:"string"`
25515
25516	// The IP address of the managed instance.
25517	IPAddress *string `min:"1" type:"string"`
25518
25519	// The Amazon Identity and Access Management (IAM) role assigned to the on-premises
25520	// Systems Manager managed instances. This call does not return the IAM role
25521	// for Amazon EC2 instances.
25522	IamRole *string `type:"string"`
25523
25524	// The instance ID.
25525	InstanceId *string `type:"string"`
25526
25527	// Indicates whether the latest version of SSM Agent is running on your Linux
25528	// Managed Instance. This field does not indicate whether or not the latest
25529	// version is installed on Windows managed instances, because some older versions
25530	// of Windows Server use the EC2Config service to process SSM requests.
25531	IsLatestVersion *bool `type:"boolean"`
25532
25533	// The date the association was last run.
25534	LastAssociationExecutionDate *time.Time `type:"timestamp"`
25535
25536	// The date and time when agent last pinged Systems Manager service.
25537	LastPingDateTime *time.Time `type:"timestamp"`
25538
25539	// The last date the association was successfully run.
25540	LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"`
25541
25542	// The name of the managed instance.
25543	Name *string `type:"string"`
25544
25545	// Connection status of SSM Agent.
25546	PingStatus *string `type:"string" enum:"PingStatus"`
25547
25548	// The name of the operating system platform running on your instance.
25549	PlatformName *string `type:"string"`
25550
25551	// The operating system platform type.
25552	PlatformType *string `type:"string" enum:"PlatformType"`
25553
25554	// The version of the OS platform running on your instance.
25555	PlatformVersion *string `type:"string"`
25556
25557	// The date the server or VM was registered with AWS as a managed instance.
25558	RegistrationDate *time.Time `type:"timestamp"`
25559
25560	// The type of instance. Instances are either EC2 instances or managed instances.
25561	ResourceType *string `type:"string" enum:"ResourceType"`
25562}
25563
25564// String returns the string representation
25565func (s InstanceInformation) String() string {
25566	return awsutil.Prettify(s)
25567}
25568
25569// GoString returns the string representation
25570func (s InstanceInformation) GoString() string {
25571	return s.String()
25572}
25573
25574// SetActivationId sets the ActivationId field's value.
25575func (s *InstanceInformation) SetActivationId(v string) *InstanceInformation {
25576	s.ActivationId = &v
25577	return s
25578}
25579
25580// SetAgentVersion sets the AgentVersion field's value.
25581func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation {
25582	s.AgentVersion = &v
25583	return s
25584}
25585
25586// SetAssociationOverview sets the AssociationOverview field's value.
25587func (s *InstanceInformation) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceInformation {
25588	s.AssociationOverview = v
25589	return s
25590}
25591
25592// SetAssociationStatus sets the AssociationStatus field's value.
25593func (s *InstanceInformation) SetAssociationStatus(v string) *InstanceInformation {
25594	s.AssociationStatus = &v
25595	return s
25596}
25597
25598// SetComputerName sets the ComputerName field's value.
25599func (s *InstanceInformation) SetComputerName(v string) *InstanceInformation {
25600	s.ComputerName = &v
25601	return s
25602}
25603
25604// SetIPAddress sets the IPAddress field's value.
25605func (s *InstanceInformation) SetIPAddress(v string) *InstanceInformation {
25606	s.IPAddress = &v
25607	return s
25608}
25609
25610// SetIamRole sets the IamRole field's value.
25611func (s *InstanceInformation) SetIamRole(v string) *InstanceInformation {
25612	s.IamRole = &v
25613	return s
25614}
25615
25616// SetInstanceId sets the InstanceId field's value.
25617func (s *InstanceInformation) SetInstanceId(v string) *InstanceInformation {
25618	s.InstanceId = &v
25619	return s
25620}
25621
25622// SetIsLatestVersion sets the IsLatestVersion field's value.
25623func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation {
25624	s.IsLatestVersion = &v
25625	return s
25626}
25627
25628// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value.
25629func (s *InstanceInformation) SetLastAssociationExecutionDate(v time.Time) *InstanceInformation {
25630	s.LastAssociationExecutionDate = &v
25631	return s
25632}
25633
25634// SetLastPingDateTime sets the LastPingDateTime field's value.
25635func (s *InstanceInformation) SetLastPingDateTime(v time.Time) *InstanceInformation {
25636	s.LastPingDateTime = &v
25637	return s
25638}
25639
25640// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value.
25641func (s *InstanceInformation) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceInformation {
25642	s.LastSuccessfulAssociationExecutionDate = &v
25643	return s
25644}
25645
25646// SetName sets the Name field's value.
25647func (s *InstanceInformation) SetName(v string) *InstanceInformation {
25648	s.Name = &v
25649	return s
25650}
25651
25652// SetPingStatus sets the PingStatus field's value.
25653func (s *InstanceInformation) SetPingStatus(v string) *InstanceInformation {
25654	s.PingStatus = &v
25655	return s
25656}
25657
25658// SetPlatformName sets the PlatformName field's value.
25659func (s *InstanceInformation) SetPlatformName(v string) *InstanceInformation {
25660	s.PlatformName = &v
25661	return s
25662}
25663
25664// SetPlatformType sets the PlatformType field's value.
25665func (s *InstanceInformation) SetPlatformType(v string) *InstanceInformation {
25666	s.PlatformType = &v
25667	return s
25668}
25669
25670// SetPlatformVersion sets the PlatformVersion field's value.
25671func (s *InstanceInformation) SetPlatformVersion(v string) *InstanceInformation {
25672	s.PlatformVersion = &v
25673	return s
25674}
25675
25676// SetRegistrationDate sets the RegistrationDate field's value.
25677func (s *InstanceInformation) SetRegistrationDate(v time.Time) *InstanceInformation {
25678	s.RegistrationDate = &v
25679	return s
25680}
25681
25682// SetResourceType sets the ResourceType field's value.
25683func (s *InstanceInformation) SetResourceType(v string) *InstanceInformation {
25684	s.ResourceType = &v
25685	return s
25686}
25687
25688// Describes a filter for a specific list of instances. You can filter instances
25689// information by using tags. You specify tags by using a key-value mapping.
25690//
25691// Use this action instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList
25692// method. The InstanceInformationFilterList method is a legacy method and does
25693// not support tags.
25694type InstanceInformationFilter struct {
25695	_ struct{} `type:"structure"`
25696
25697	// The name of the filter.
25698	//
25699	// Key is a required field
25700	Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"`
25701
25702	// The filter values.
25703	//
25704	// ValueSet is a required field
25705	ValueSet []*string `locationName:"valueSet" min:"1" type:"list" required:"true"`
25706}
25707
25708// String returns the string representation
25709func (s InstanceInformationFilter) String() string {
25710	return awsutil.Prettify(s)
25711}
25712
25713// GoString returns the string representation
25714func (s InstanceInformationFilter) GoString() string {
25715	return s.String()
25716}
25717
25718// Validate inspects the fields of the type to determine if they are valid.
25719func (s *InstanceInformationFilter) Validate() error {
25720	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"}
25721	if s.Key == nil {
25722		invalidParams.Add(request.NewErrParamRequired("Key"))
25723	}
25724	if s.ValueSet == nil {
25725		invalidParams.Add(request.NewErrParamRequired("ValueSet"))
25726	}
25727	if s.ValueSet != nil && len(s.ValueSet) < 1 {
25728		invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1))
25729	}
25730
25731	if invalidParams.Len() > 0 {
25732		return invalidParams
25733	}
25734	return nil
25735}
25736
25737// SetKey sets the Key field's value.
25738func (s *InstanceInformationFilter) SetKey(v string) *InstanceInformationFilter {
25739	s.Key = &v
25740	return s
25741}
25742
25743// SetValueSet sets the ValueSet field's value.
25744func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformationFilter {
25745	s.ValueSet = v
25746	return s
25747}
25748
25749// The filters to describe or get information about your managed instances.
25750type InstanceInformationStringFilter struct {
25751	_ struct{} `type:"structure"`
25752
25753	// The filter key name to describe your instances. For example:
25754	//
25755	// "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag
25756	// Key"
25757	//
25758	// Key is a required field
25759	Key *string `min:"1" type:"string" required:"true"`
25760
25761	// The filter values.
25762	//
25763	// Values is a required field
25764	Values []*string `min:"1" type:"list" required:"true"`
25765}
25766
25767// String returns the string representation
25768func (s InstanceInformationStringFilter) String() string {
25769	return awsutil.Prettify(s)
25770}
25771
25772// GoString returns the string representation
25773func (s InstanceInformationStringFilter) GoString() string {
25774	return s.String()
25775}
25776
25777// Validate inspects the fields of the type to determine if they are valid.
25778func (s *InstanceInformationStringFilter) Validate() error {
25779	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationStringFilter"}
25780	if s.Key == nil {
25781		invalidParams.Add(request.NewErrParamRequired("Key"))
25782	}
25783	if s.Key != nil && len(*s.Key) < 1 {
25784		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25785	}
25786	if s.Values == nil {
25787		invalidParams.Add(request.NewErrParamRequired("Values"))
25788	}
25789	if s.Values != nil && len(s.Values) < 1 {
25790		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
25791	}
25792
25793	if invalidParams.Len() > 0 {
25794		return invalidParams
25795	}
25796	return nil
25797}
25798
25799// SetKey sets the Key field's value.
25800func (s *InstanceInformationStringFilter) SetKey(v string) *InstanceInformationStringFilter {
25801	s.Key = &v
25802	return s
25803}
25804
25805// SetValues sets the Values field's value.
25806func (s *InstanceInformationStringFilter) SetValues(v []*string) *InstanceInformationStringFilter {
25807	s.Values = v
25808	return s
25809}
25810
25811// Defines the high-level patch compliance state for a managed instance, providing
25812// information about the number of installed, missing, not applicable, and failed
25813// patches along with metadata about the operation when this information was
25814// gathered for the instance.
25815type InstancePatchState struct {
25816	_ struct{} `type:"structure"`
25817
25818	// The ID of the patch baseline used to patch the instance.
25819	//
25820	// BaselineId is a required field
25821	BaselineId *string `min:"20" type:"string" required:"true"`
25822
25823	// The number of patches from the patch baseline that were attempted to be installed
25824	// during the last patching operation, but failed to install.
25825	FailedCount *int64 `type:"integer"`
25826
25827	// An https URL or an Amazon S3 path-style URL to a list of patches to be installed.
25828	// This patch installation list, which you maintain in an Amazon S3 bucket in
25829	// YAML format and specify in the SSM document AWS-RunPatchBaseline, overrides
25830	// the patches specified by the default patch baseline.
25831	//
25832	// For more information about the InstallOverrideList parameter, see About the
25833	// SSM Document AWS-RunPatchBaseline (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html)
25834	// in the AWS Systems Manager User Guide.
25835	InstallOverrideList *string `min:"1" type:"string"`
25836
25837	// The number of patches from the patch baseline that are installed on the instance.
25838	InstalledCount *int64 `type:"integer"`
25839
25840	// The number of patches not specified in the patch baseline that are installed
25841	// on the instance.
25842	InstalledOtherCount *int64 `type:"integer"`
25843
25844	// The number of patches installed since the last time the instance was rebooted.
25845	InstalledPendingRebootCount *int64 `type:"integer"`
25846
25847	// The number of instances with patches installed that are specified in a RejectedPatches
25848	// list. Patches with a status of InstalledRejected were typically installed
25849	// before they were added to a RejectedPatches list.
25850	//
25851	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
25852	// the value of InstalledRejectedCount will always be 0 (zero).
25853	InstalledRejectedCount *int64 `type:"integer"`
25854
25855	// The ID of the managed instance the high-level patch compliance information
25856	// was collected for.
25857	//
25858	// InstanceId is a required field
25859	InstanceId *string `type:"string" required:"true"`
25860
25861	// The time of the last attempt to patch the instance with NoReboot specified
25862	// as the reboot option.
25863	LastNoRebootInstallOperationTime *time.Time `type:"timestamp"`
25864
25865	// The number of patches from the patch baseline that are applicable for the
25866	// instance but aren't currently installed.
25867	MissingCount *int64 `type:"integer"`
25868
25869	// The number of patches from the patch baseline that aren't applicable for
25870	// the instance and therefore aren't installed on the instance. This number
25871	// may be truncated if the list of patch names is very large. The number of
25872	// patches beyond this limit are reported in UnreportedNotApplicableCount.
25873	NotApplicableCount *int64 `type:"integer"`
25874
25875	// The type of patching operation that was performed: SCAN (assess patch compliance
25876	// state) or INSTALL (install missing patches).
25877	//
25878	// Operation is a required field
25879	Operation *string `type:"string" required:"true" enum:"PatchOperationType"`
25880
25881	// The time the most recent patching operation completed on the instance.
25882	//
25883	// OperationEndTime is a required field
25884	OperationEndTime *time.Time `type:"timestamp" required:"true"`
25885
25886	// The time the most recent patching operation was started on the instance.
25887	//
25888	// OperationStartTime is a required field
25889	OperationStartTime *time.Time `type:"timestamp" required:"true"`
25890
25891	// Placeholder information. This field will always be empty in the current release
25892	// of the service.
25893	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
25894
25895	// The name of the patch group the managed instance belongs to.
25896	//
25897	// PatchGroup is a required field
25898	PatchGroup *string `min:"1" type:"string" required:"true"`
25899
25900	// Indicates the reboot option specified in the patch baseline.
25901	//
25902	// Reboot options apply to Install operations only. Reboots are not attempted
25903	// for Patch Manager Scan operations.
25904	//
25905	//    * RebootIfNeeded: Patch Manager tries to reboot the instance if it installed
25906	//    any patches, or if any patches are detected with a status of InstalledPendingReboot.
25907	//
25908	//    * NoReboot: Patch Manager attempts to install missing packages without
25909	//    trying to reboot the system. Patches installed with this option are assigned
25910	//    a status of InstalledPendingReboot. These patches might not be in effect
25911	//    until a reboot is performed.
25912	RebootOption *string `type:"string" enum:"RebootOption"`
25913
25914	// The ID of the patch baseline snapshot used during the patching operation
25915	// when this compliance data was collected.
25916	SnapshotId *string `min:"36" type:"string"`
25917
25918	// The number of patches beyond the supported limit of NotApplicableCount that
25919	// are not reported by name to Systems Manager Inventory.
25920	UnreportedNotApplicableCount *int64 `type:"integer"`
25921}
25922
25923// String returns the string representation
25924func (s InstancePatchState) String() string {
25925	return awsutil.Prettify(s)
25926}
25927
25928// GoString returns the string representation
25929func (s InstancePatchState) GoString() string {
25930	return s.String()
25931}
25932
25933// SetBaselineId sets the BaselineId field's value.
25934func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState {
25935	s.BaselineId = &v
25936	return s
25937}
25938
25939// SetFailedCount sets the FailedCount field's value.
25940func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState {
25941	s.FailedCount = &v
25942	return s
25943}
25944
25945// SetInstallOverrideList sets the InstallOverrideList field's value.
25946func (s *InstancePatchState) SetInstallOverrideList(v string) *InstancePatchState {
25947	s.InstallOverrideList = &v
25948	return s
25949}
25950
25951// SetInstalledCount sets the InstalledCount field's value.
25952func (s *InstancePatchState) SetInstalledCount(v int64) *InstancePatchState {
25953	s.InstalledCount = &v
25954	return s
25955}
25956
25957// SetInstalledOtherCount sets the InstalledOtherCount field's value.
25958func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState {
25959	s.InstalledOtherCount = &v
25960	return s
25961}
25962
25963// SetInstalledPendingRebootCount sets the InstalledPendingRebootCount field's value.
25964func (s *InstancePatchState) SetInstalledPendingRebootCount(v int64) *InstancePatchState {
25965	s.InstalledPendingRebootCount = &v
25966	return s
25967}
25968
25969// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
25970func (s *InstancePatchState) SetInstalledRejectedCount(v int64) *InstancePatchState {
25971	s.InstalledRejectedCount = &v
25972	return s
25973}
25974
25975// SetInstanceId sets the InstanceId field's value.
25976func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState {
25977	s.InstanceId = &v
25978	return s
25979}
25980
25981// SetLastNoRebootInstallOperationTime sets the LastNoRebootInstallOperationTime field's value.
25982func (s *InstancePatchState) SetLastNoRebootInstallOperationTime(v time.Time) *InstancePatchState {
25983	s.LastNoRebootInstallOperationTime = &v
25984	return s
25985}
25986
25987// SetMissingCount sets the MissingCount field's value.
25988func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState {
25989	s.MissingCount = &v
25990	return s
25991}
25992
25993// SetNotApplicableCount sets the NotApplicableCount field's value.
25994func (s *InstancePatchState) SetNotApplicableCount(v int64) *InstancePatchState {
25995	s.NotApplicableCount = &v
25996	return s
25997}
25998
25999// SetOperation sets the Operation field's value.
26000func (s *InstancePatchState) SetOperation(v string) *InstancePatchState {
26001	s.Operation = &v
26002	return s
26003}
26004
26005// SetOperationEndTime sets the OperationEndTime field's value.
26006func (s *InstancePatchState) SetOperationEndTime(v time.Time) *InstancePatchState {
26007	s.OperationEndTime = &v
26008	return s
26009}
26010
26011// SetOperationStartTime sets the OperationStartTime field's value.
26012func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchState {
26013	s.OperationStartTime = &v
26014	return s
26015}
26016
26017// SetOwnerInformation sets the OwnerInformation field's value.
26018func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState {
26019	s.OwnerInformation = &v
26020	return s
26021}
26022
26023// SetPatchGroup sets the PatchGroup field's value.
26024func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState {
26025	s.PatchGroup = &v
26026	return s
26027}
26028
26029// SetRebootOption sets the RebootOption field's value.
26030func (s *InstancePatchState) SetRebootOption(v string) *InstancePatchState {
26031	s.RebootOption = &v
26032	return s
26033}
26034
26035// SetSnapshotId sets the SnapshotId field's value.
26036func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState {
26037	s.SnapshotId = &v
26038	return s
26039}
26040
26041// SetUnreportedNotApplicableCount sets the UnreportedNotApplicableCount field's value.
26042func (s *InstancePatchState) SetUnreportedNotApplicableCount(v int64) *InstancePatchState {
26043	s.UnreportedNotApplicableCount = &v
26044	return s
26045}
26046
26047// Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to
26048// scope down the information returned by the API.
26049type InstancePatchStateFilter struct {
26050	_ struct{} `type:"structure"`
26051
26052	// The key for the filter. Supported values are FailedCount, InstalledCount,
26053	// InstalledOtherCount, MissingCount and NotApplicableCount.
26054	//
26055	// Key is a required field
26056	Key *string `min:"1" type:"string" required:"true"`
26057
26058	// The type of comparison that should be performed for the value: Equal, NotEqual,
26059	// LessThan or GreaterThan.
26060	//
26061	// Type is a required field
26062	Type *string `type:"string" required:"true" enum:"InstancePatchStateOperatorType"`
26063
26064	// The value for the filter, must be an integer greater than or equal to 0.
26065	//
26066	// Values is a required field
26067	Values []*string `min:"1" type:"list" required:"true"`
26068}
26069
26070// String returns the string representation
26071func (s InstancePatchStateFilter) String() string {
26072	return awsutil.Prettify(s)
26073}
26074
26075// GoString returns the string representation
26076func (s InstancePatchStateFilter) GoString() string {
26077	return s.String()
26078}
26079
26080// Validate inspects the fields of the type to determine if they are valid.
26081func (s *InstancePatchStateFilter) Validate() error {
26082	invalidParams := request.ErrInvalidParams{Context: "InstancePatchStateFilter"}
26083	if s.Key == nil {
26084		invalidParams.Add(request.NewErrParamRequired("Key"))
26085	}
26086	if s.Key != nil && len(*s.Key) < 1 {
26087		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
26088	}
26089	if s.Type == nil {
26090		invalidParams.Add(request.NewErrParamRequired("Type"))
26091	}
26092	if s.Values == nil {
26093		invalidParams.Add(request.NewErrParamRequired("Values"))
26094	}
26095	if s.Values != nil && len(s.Values) < 1 {
26096		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
26097	}
26098
26099	if invalidParams.Len() > 0 {
26100		return invalidParams
26101	}
26102	return nil
26103}
26104
26105// SetKey sets the Key field's value.
26106func (s *InstancePatchStateFilter) SetKey(v string) *InstancePatchStateFilter {
26107	s.Key = &v
26108	return s
26109}
26110
26111// SetType sets the Type field's value.
26112func (s *InstancePatchStateFilter) SetType(v string) *InstancePatchStateFilter {
26113	s.Type = &v
26114	return s
26115}
26116
26117// SetValues sets the Values field's value.
26118func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFilter {
26119	s.Values = v
26120	return s
26121}
26122
26123// Specifies the inventory type and attribute for the aggregation execution.
26124type InventoryAggregator struct {
26125	_ struct{} `type:"structure"`
26126
26127	// Nested aggregators to further refine aggregation for an inventory type.
26128	Aggregators []*InventoryAggregator `min:"1" type:"list"`
26129
26130	// The inventory type and attribute name for aggregation.
26131	Expression *string `min:"1" type:"string"`
26132
26133	// A user-defined set of one or more filters on which to aggregate inventory
26134	// data. Groups return a count of resources that match and don't match the specified
26135	// criteria.
26136	Groups []*InventoryGroup `min:"1" type:"list"`
26137}
26138
26139// String returns the string representation
26140func (s InventoryAggregator) String() string {
26141	return awsutil.Prettify(s)
26142}
26143
26144// GoString returns the string representation
26145func (s InventoryAggregator) GoString() string {
26146	return s.String()
26147}
26148
26149// Validate inspects the fields of the type to determine if they are valid.
26150func (s *InventoryAggregator) Validate() error {
26151	invalidParams := request.ErrInvalidParams{Context: "InventoryAggregator"}
26152	if s.Aggregators != nil && len(s.Aggregators) < 1 {
26153		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
26154	}
26155	if s.Expression != nil && len(*s.Expression) < 1 {
26156		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
26157	}
26158	if s.Groups != nil && len(s.Groups) < 1 {
26159		invalidParams.Add(request.NewErrParamMinLen("Groups", 1))
26160	}
26161	if s.Aggregators != nil {
26162		for i, v := range s.Aggregators {
26163			if v == nil {
26164				continue
26165			}
26166			if err := v.Validate(); err != nil {
26167				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
26168			}
26169		}
26170	}
26171	if s.Groups != nil {
26172		for i, v := range s.Groups {
26173			if v == nil {
26174				continue
26175			}
26176			if err := v.Validate(); err != nil {
26177				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
26178			}
26179		}
26180	}
26181
26182	if invalidParams.Len() > 0 {
26183		return invalidParams
26184	}
26185	return nil
26186}
26187
26188// SetAggregators sets the Aggregators field's value.
26189func (s *InventoryAggregator) SetAggregators(v []*InventoryAggregator) *InventoryAggregator {
26190	s.Aggregators = v
26191	return s
26192}
26193
26194// SetExpression sets the Expression field's value.
26195func (s *InventoryAggregator) SetExpression(v string) *InventoryAggregator {
26196	s.Expression = &v
26197	return s
26198}
26199
26200// SetGroups sets the Groups field's value.
26201func (s *InventoryAggregator) SetGroups(v []*InventoryGroup) *InventoryAggregator {
26202	s.Groups = v
26203	return s
26204}
26205
26206// Status information returned by the DeleteInventory action.
26207type InventoryDeletionStatusItem struct {
26208	_ struct{} `type:"structure"`
26209
26210	// The deletion ID returned by the DeleteInventory action.
26211	DeletionId *string `type:"string"`
26212
26213	// The UTC timestamp when the delete operation started.
26214	DeletionStartTime *time.Time `type:"timestamp"`
26215
26216	// Information about the delete operation. For more information about this summary,
26217	// see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete)
26218	// in the AWS Systems Manager User Guide.
26219	DeletionSummary *InventoryDeletionSummary `type:"structure"`
26220
26221	// The status of the operation. Possible values are InProgress and Complete.
26222	LastStatus *string `type:"string" enum:"InventoryDeletionStatus"`
26223
26224	// Information about the status.
26225	LastStatusMessage *string `type:"string"`
26226
26227	// The UTC timestamp of when the last status report.
26228	LastStatusUpdateTime *time.Time `type:"timestamp"`
26229
26230	// The name of the inventory data type.
26231	TypeName *string `min:"1" type:"string"`
26232}
26233
26234// String returns the string representation
26235func (s InventoryDeletionStatusItem) String() string {
26236	return awsutil.Prettify(s)
26237}
26238
26239// GoString returns the string representation
26240func (s InventoryDeletionStatusItem) GoString() string {
26241	return s.String()
26242}
26243
26244// SetDeletionId sets the DeletionId field's value.
26245func (s *InventoryDeletionStatusItem) SetDeletionId(v string) *InventoryDeletionStatusItem {
26246	s.DeletionId = &v
26247	return s
26248}
26249
26250// SetDeletionStartTime sets the DeletionStartTime field's value.
26251func (s *InventoryDeletionStatusItem) SetDeletionStartTime(v time.Time) *InventoryDeletionStatusItem {
26252	s.DeletionStartTime = &v
26253	return s
26254}
26255
26256// SetDeletionSummary sets the DeletionSummary field's value.
26257func (s *InventoryDeletionStatusItem) SetDeletionSummary(v *InventoryDeletionSummary) *InventoryDeletionStatusItem {
26258	s.DeletionSummary = v
26259	return s
26260}
26261
26262// SetLastStatus sets the LastStatus field's value.
26263func (s *InventoryDeletionStatusItem) SetLastStatus(v string) *InventoryDeletionStatusItem {
26264	s.LastStatus = &v
26265	return s
26266}
26267
26268// SetLastStatusMessage sets the LastStatusMessage field's value.
26269func (s *InventoryDeletionStatusItem) SetLastStatusMessage(v string) *InventoryDeletionStatusItem {
26270	s.LastStatusMessage = &v
26271	return s
26272}
26273
26274// SetLastStatusUpdateTime sets the LastStatusUpdateTime field's value.
26275func (s *InventoryDeletionStatusItem) SetLastStatusUpdateTime(v time.Time) *InventoryDeletionStatusItem {
26276	s.LastStatusUpdateTime = &v
26277	return s
26278}
26279
26280// SetTypeName sets the TypeName field's value.
26281func (s *InventoryDeletionStatusItem) SetTypeName(v string) *InventoryDeletionStatusItem {
26282	s.TypeName = &v
26283	return s
26284}
26285
26286// Information about the delete operation.
26287type InventoryDeletionSummary struct {
26288	_ struct{} `type:"structure"`
26289
26290	// Remaining number of items to delete.
26291	RemainingCount *int64 `type:"integer"`
26292
26293	// A list of counts and versions for deleted items.
26294	SummaryItems []*InventoryDeletionSummaryItem `type:"list"`
26295
26296	// The total number of items to delete. This count does not change during the
26297	// delete operation.
26298	TotalCount *int64 `type:"integer"`
26299}
26300
26301// String returns the string representation
26302func (s InventoryDeletionSummary) String() string {
26303	return awsutil.Prettify(s)
26304}
26305
26306// GoString returns the string representation
26307func (s InventoryDeletionSummary) GoString() string {
26308	return s.String()
26309}
26310
26311// SetRemainingCount sets the RemainingCount field's value.
26312func (s *InventoryDeletionSummary) SetRemainingCount(v int64) *InventoryDeletionSummary {
26313	s.RemainingCount = &v
26314	return s
26315}
26316
26317// SetSummaryItems sets the SummaryItems field's value.
26318func (s *InventoryDeletionSummary) SetSummaryItems(v []*InventoryDeletionSummaryItem) *InventoryDeletionSummary {
26319	s.SummaryItems = v
26320	return s
26321}
26322
26323// SetTotalCount sets the TotalCount field's value.
26324func (s *InventoryDeletionSummary) SetTotalCount(v int64) *InventoryDeletionSummary {
26325	s.TotalCount = &v
26326	return s
26327}
26328
26329// Either a count, remaining count, or a version number in a delete inventory
26330// summary.
26331type InventoryDeletionSummaryItem struct {
26332	_ struct{} `type:"structure"`
26333
26334	// A count of the number of deleted items.
26335	Count *int64 `type:"integer"`
26336
26337	// The remaining number of items to delete.
26338	RemainingCount *int64 `type:"integer"`
26339
26340	// The inventory type version.
26341	Version *string `type:"string"`
26342}
26343
26344// String returns the string representation
26345func (s InventoryDeletionSummaryItem) String() string {
26346	return awsutil.Prettify(s)
26347}
26348
26349// GoString returns the string representation
26350func (s InventoryDeletionSummaryItem) GoString() string {
26351	return s.String()
26352}
26353
26354// SetCount sets the Count field's value.
26355func (s *InventoryDeletionSummaryItem) SetCount(v int64) *InventoryDeletionSummaryItem {
26356	s.Count = &v
26357	return s
26358}
26359
26360// SetRemainingCount sets the RemainingCount field's value.
26361func (s *InventoryDeletionSummaryItem) SetRemainingCount(v int64) *InventoryDeletionSummaryItem {
26362	s.RemainingCount = &v
26363	return s
26364}
26365
26366// SetVersion sets the Version field's value.
26367func (s *InventoryDeletionSummaryItem) SetVersion(v string) *InventoryDeletionSummaryItem {
26368	s.Version = &v
26369	return s
26370}
26371
26372// One or more filters. Use a filter to return a more specific list of results.
26373type InventoryFilter struct {
26374	_ struct{} `type:"structure"`
26375
26376	// The name of the filter key.
26377	//
26378	// Key is a required field
26379	Key *string `min:"1" type:"string" required:"true"`
26380
26381	// The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan"
26382	Type *string `type:"string" enum:"InventoryQueryOperatorType"`
26383
26384	// Inventory filter values. Example: inventory filter where instance IDs are
26385	// specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
26386	// i-1a2b3c4d5e6,Type=Equal
26387	//
26388	// Values is a required field
26389	Values []*string `min:"1" type:"list" required:"true"`
26390}
26391
26392// String returns the string representation
26393func (s InventoryFilter) String() string {
26394	return awsutil.Prettify(s)
26395}
26396
26397// GoString returns the string representation
26398func (s InventoryFilter) GoString() string {
26399	return s.String()
26400}
26401
26402// Validate inspects the fields of the type to determine if they are valid.
26403func (s *InventoryFilter) Validate() error {
26404	invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
26405	if s.Key == nil {
26406		invalidParams.Add(request.NewErrParamRequired("Key"))
26407	}
26408	if s.Key != nil && len(*s.Key) < 1 {
26409		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
26410	}
26411	if s.Values == nil {
26412		invalidParams.Add(request.NewErrParamRequired("Values"))
26413	}
26414	if s.Values != nil && len(s.Values) < 1 {
26415		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
26416	}
26417
26418	if invalidParams.Len() > 0 {
26419		return invalidParams
26420	}
26421	return nil
26422}
26423
26424// SetKey sets the Key field's value.
26425func (s *InventoryFilter) SetKey(v string) *InventoryFilter {
26426	s.Key = &v
26427	return s
26428}
26429
26430// SetType sets the Type field's value.
26431func (s *InventoryFilter) SetType(v string) *InventoryFilter {
26432	s.Type = &v
26433	return s
26434}
26435
26436// SetValues sets the Values field's value.
26437func (s *InventoryFilter) SetValues(v []*string) *InventoryFilter {
26438	s.Values = v
26439	return s
26440}
26441
26442// A user-defined set of one or more filters on which to aggregate inventory
26443// data. Groups return a count of resources that match and don't match the specified
26444// criteria.
26445type InventoryGroup struct {
26446	_ struct{} `type:"structure"`
26447
26448	// Filters define the criteria for the group. The matchingCount field displays
26449	// the number of resources that match the criteria. The notMatchingCount field
26450	// displays the number of resources that don't match the criteria.
26451	//
26452	// Filters is a required field
26453	Filters []*InventoryFilter `min:"1" type:"list" required:"true"`
26454
26455	// The name of the group.
26456	//
26457	// Name is a required field
26458	Name *string `min:"1" type:"string" required:"true"`
26459}
26460
26461// String returns the string representation
26462func (s InventoryGroup) String() string {
26463	return awsutil.Prettify(s)
26464}
26465
26466// GoString returns the string representation
26467func (s InventoryGroup) GoString() string {
26468	return s.String()
26469}
26470
26471// Validate inspects the fields of the type to determine if they are valid.
26472func (s *InventoryGroup) Validate() error {
26473	invalidParams := request.ErrInvalidParams{Context: "InventoryGroup"}
26474	if s.Filters == nil {
26475		invalidParams.Add(request.NewErrParamRequired("Filters"))
26476	}
26477	if s.Filters != nil && len(s.Filters) < 1 {
26478		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
26479	}
26480	if s.Name == nil {
26481		invalidParams.Add(request.NewErrParamRequired("Name"))
26482	}
26483	if s.Name != nil && len(*s.Name) < 1 {
26484		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26485	}
26486	if s.Filters != nil {
26487		for i, v := range s.Filters {
26488			if v == nil {
26489				continue
26490			}
26491			if err := v.Validate(); err != nil {
26492				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26493			}
26494		}
26495	}
26496
26497	if invalidParams.Len() > 0 {
26498		return invalidParams
26499	}
26500	return nil
26501}
26502
26503// SetFilters sets the Filters field's value.
26504func (s *InventoryGroup) SetFilters(v []*InventoryFilter) *InventoryGroup {
26505	s.Filters = v
26506	return s
26507}
26508
26509// SetName sets the Name field's value.
26510func (s *InventoryGroup) SetName(v string) *InventoryGroup {
26511	s.Name = &v
26512	return s
26513}
26514
26515// Information collected from managed instances based on your inventory policy
26516// document
26517type InventoryItem struct {
26518	_ struct{} `type:"structure"`
26519
26520	// The time the inventory information was collected.
26521	//
26522	// CaptureTime is a required field
26523	CaptureTime *string `type:"string" required:"true"`
26524
26525	// The inventory data of the inventory type.
26526	Content []map[string]*string `type:"list"`
26527
26528	// MD5 hash of the inventory item type contents. The content hash is used to
26529	// determine whether to update inventory information. The PutInventory API does
26530	// not update the inventory item type contents if the MD5 hash has not changed
26531	// since last update.
26532	ContentHash *string `type:"string"`
26533
26534	// A map of associated properties for a specified inventory type. For example,
26535	// with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType
26536	// properties of the AWS:ComplianceItem type.
26537	Context map[string]*string `type:"map"`
26538
26539	// The schema version for the inventory item.
26540	//
26541	// SchemaVersion is a required field
26542	SchemaVersion *string `type:"string" required:"true"`
26543
26544	// The name of the inventory type. Default inventory item type names start with
26545	// AWS. Custom inventory type names will start with Custom. Default inventory
26546	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
26547	// AWS:Network, and AWS:WindowsUpdate.
26548	//
26549	// TypeName is a required field
26550	TypeName *string `min:"1" type:"string" required:"true"`
26551}
26552
26553// String returns the string representation
26554func (s InventoryItem) String() string {
26555	return awsutil.Prettify(s)
26556}
26557
26558// GoString returns the string representation
26559func (s InventoryItem) GoString() string {
26560	return s.String()
26561}
26562
26563// Validate inspects the fields of the type to determine if they are valid.
26564func (s *InventoryItem) Validate() error {
26565	invalidParams := request.ErrInvalidParams{Context: "InventoryItem"}
26566	if s.CaptureTime == nil {
26567		invalidParams.Add(request.NewErrParamRequired("CaptureTime"))
26568	}
26569	if s.SchemaVersion == nil {
26570		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
26571	}
26572	if s.TypeName == nil {
26573		invalidParams.Add(request.NewErrParamRequired("TypeName"))
26574	}
26575	if s.TypeName != nil && len(*s.TypeName) < 1 {
26576		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
26577	}
26578
26579	if invalidParams.Len() > 0 {
26580		return invalidParams
26581	}
26582	return nil
26583}
26584
26585// SetCaptureTime sets the CaptureTime field's value.
26586func (s *InventoryItem) SetCaptureTime(v string) *InventoryItem {
26587	s.CaptureTime = &v
26588	return s
26589}
26590
26591// SetContent sets the Content field's value.
26592func (s *InventoryItem) SetContent(v []map[string]*string) *InventoryItem {
26593	s.Content = v
26594	return s
26595}
26596
26597// SetContentHash sets the ContentHash field's value.
26598func (s *InventoryItem) SetContentHash(v string) *InventoryItem {
26599	s.ContentHash = &v
26600	return s
26601}
26602
26603// SetContext sets the Context field's value.
26604func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem {
26605	s.Context = v
26606	return s
26607}
26608
26609// SetSchemaVersion sets the SchemaVersion field's value.
26610func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem {
26611	s.SchemaVersion = &v
26612	return s
26613}
26614
26615// SetTypeName sets the TypeName field's value.
26616func (s *InventoryItem) SetTypeName(v string) *InventoryItem {
26617	s.TypeName = &v
26618	return s
26619}
26620
26621// Attributes are the entries within the inventory item content. It contains
26622// name and value.
26623type InventoryItemAttribute struct {
26624	_ struct{} `type:"structure"`
26625
26626	// The data type of the inventory item attribute.
26627	//
26628	// DataType is a required field
26629	DataType *string `type:"string" required:"true" enum:"InventoryAttributeDataType"`
26630
26631	// Name of the inventory item attribute.
26632	//
26633	// Name is a required field
26634	Name *string `type:"string" required:"true"`
26635}
26636
26637// String returns the string representation
26638func (s InventoryItemAttribute) String() string {
26639	return awsutil.Prettify(s)
26640}
26641
26642// GoString returns the string representation
26643func (s InventoryItemAttribute) GoString() string {
26644	return s.String()
26645}
26646
26647// SetDataType sets the DataType field's value.
26648func (s *InventoryItemAttribute) SetDataType(v string) *InventoryItemAttribute {
26649	s.DataType = &v
26650	return s
26651}
26652
26653// SetName sets the Name field's value.
26654func (s *InventoryItemAttribute) SetName(v string) *InventoryItemAttribute {
26655	s.Name = &v
26656	return s
26657}
26658
26659// The inventory item schema definition. Users can use this to compose inventory
26660// query filters.
26661type InventoryItemSchema struct {
26662	_ struct{} `type:"structure"`
26663
26664	// The schema attributes for inventory. This contains data type and attribute
26665	// name.
26666	//
26667	// Attributes is a required field
26668	Attributes []*InventoryItemAttribute `min:"1" type:"list" required:"true"`
26669
26670	// The alias name of the inventory type. The alias name is used for display
26671	// purposes.
26672	DisplayName *string `type:"string"`
26673
26674	// The name of the inventory type. Default inventory item type names start with
26675	// AWS. Custom inventory type names will start with Custom. Default inventory
26676	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
26677	// AWS:Network, and AWS:WindowsUpdate.
26678	//
26679	// TypeName is a required field
26680	TypeName *string `min:"1" type:"string" required:"true"`
26681
26682	// The schema version for the inventory item.
26683	Version *string `type:"string"`
26684}
26685
26686// String returns the string representation
26687func (s InventoryItemSchema) String() string {
26688	return awsutil.Prettify(s)
26689}
26690
26691// GoString returns the string representation
26692func (s InventoryItemSchema) GoString() string {
26693	return s.String()
26694}
26695
26696// SetAttributes sets the Attributes field's value.
26697func (s *InventoryItemSchema) SetAttributes(v []*InventoryItemAttribute) *InventoryItemSchema {
26698	s.Attributes = v
26699	return s
26700}
26701
26702// SetDisplayName sets the DisplayName field's value.
26703func (s *InventoryItemSchema) SetDisplayName(v string) *InventoryItemSchema {
26704	s.DisplayName = &v
26705	return s
26706}
26707
26708// SetTypeName sets the TypeName field's value.
26709func (s *InventoryItemSchema) SetTypeName(v string) *InventoryItemSchema {
26710	s.TypeName = &v
26711	return s
26712}
26713
26714// SetVersion sets the Version field's value.
26715func (s *InventoryItemSchema) SetVersion(v string) *InventoryItemSchema {
26716	s.Version = &v
26717	return s
26718}
26719
26720// Inventory query results.
26721type InventoryResultEntity struct {
26722	_ struct{} `type:"structure"`
26723
26724	// The data section in the inventory result entity JSON.
26725	Data map[string]*InventoryResultItem `type:"map"`
26726
26727	// ID of the inventory result entity. For example, for managed instance inventory
26728	// the result will be the managed instance ID. For EC2 instance inventory, the
26729	// result will be the instance ID.
26730	Id *string `type:"string"`
26731}
26732
26733// String returns the string representation
26734func (s InventoryResultEntity) String() string {
26735	return awsutil.Prettify(s)
26736}
26737
26738// GoString returns the string representation
26739func (s InventoryResultEntity) GoString() string {
26740	return s.String()
26741}
26742
26743// SetData sets the Data field's value.
26744func (s *InventoryResultEntity) SetData(v map[string]*InventoryResultItem) *InventoryResultEntity {
26745	s.Data = v
26746	return s
26747}
26748
26749// SetId sets the Id field's value.
26750func (s *InventoryResultEntity) SetId(v string) *InventoryResultEntity {
26751	s.Id = &v
26752	return s
26753}
26754
26755// The inventory result item.
26756type InventoryResultItem struct {
26757	_ struct{} `type:"structure"`
26758
26759	// The time inventory item data was captured.
26760	CaptureTime *string `type:"string"`
26761
26762	// Contains all the inventory data of the item type. Results include attribute
26763	// names and values.
26764	//
26765	// Content is a required field
26766	Content []map[string]*string `type:"list" required:"true"`
26767
26768	// MD5 hash of the inventory item type contents. The content hash is used to
26769	// determine whether to update inventory information. The PutInventory API does
26770	// not update the inventory item type contents if the MD5 hash has not changed
26771	// since last update.
26772	ContentHash *string `type:"string"`
26773
26774	// The schema version for the inventory result item/
26775	//
26776	// SchemaVersion is a required field
26777	SchemaVersion *string `type:"string" required:"true"`
26778
26779	// The name of the inventory result item type.
26780	//
26781	// TypeName is a required field
26782	TypeName *string `min:"1" type:"string" required:"true"`
26783}
26784
26785// String returns the string representation
26786func (s InventoryResultItem) String() string {
26787	return awsutil.Prettify(s)
26788}
26789
26790// GoString returns the string representation
26791func (s InventoryResultItem) GoString() string {
26792	return s.String()
26793}
26794
26795// SetCaptureTime sets the CaptureTime field's value.
26796func (s *InventoryResultItem) SetCaptureTime(v string) *InventoryResultItem {
26797	s.CaptureTime = &v
26798	return s
26799}
26800
26801// SetContent sets the Content field's value.
26802func (s *InventoryResultItem) SetContent(v []map[string]*string) *InventoryResultItem {
26803	s.Content = v
26804	return s
26805}
26806
26807// SetContentHash sets the ContentHash field's value.
26808func (s *InventoryResultItem) SetContentHash(v string) *InventoryResultItem {
26809	s.ContentHash = &v
26810	return s
26811}
26812
26813// SetSchemaVersion sets the SchemaVersion field's value.
26814func (s *InventoryResultItem) SetSchemaVersion(v string) *InventoryResultItem {
26815	s.SchemaVersion = &v
26816	return s
26817}
26818
26819// SetTypeName sets the TypeName field's value.
26820func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem {
26821	s.TypeName = &v
26822	return s
26823}
26824
26825type LabelParameterVersionInput struct {
26826	_ struct{} `type:"structure"`
26827
26828	// One or more labels to attach to the specified parameter version.
26829	//
26830	// Labels is a required field
26831	Labels []*string `min:"1" type:"list" required:"true"`
26832
26833	// The parameter name on which you want to attach one or more labels.
26834	//
26835	// Name is a required field
26836	Name *string `min:"1" type:"string" required:"true"`
26837
26838	// The specific version of the parameter on which you want to attach one or
26839	// more labels. If no version is specified, the system attaches the label to
26840	// the latest version.
26841	ParameterVersion *int64 `type:"long"`
26842}
26843
26844// String returns the string representation
26845func (s LabelParameterVersionInput) String() string {
26846	return awsutil.Prettify(s)
26847}
26848
26849// GoString returns the string representation
26850func (s LabelParameterVersionInput) GoString() string {
26851	return s.String()
26852}
26853
26854// Validate inspects the fields of the type to determine if they are valid.
26855func (s *LabelParameterVersionInput) Validate() error {
26856	invalidParams := request.ErrInvalidParams{Context: "LabelParameterVersionInput"}
26857	if s.Labels == nil {
26858		invalidParams.Add(request.NewErrParamRequired("Labels"))
26859	}
26860	if s.Labels != nil && len(s.Labels) < 1 {
26861		invalidParams.Add(request.NewErrParamMinLen("Labels", 1))
26862	}
26863	if s.Name == nil {
26864		invalidParams.Add(request.NewErrParamRequired("Name"))
26865	}
26866	if s.Name != nil && len(*s.Name) < 1 {
26867		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26868	}
26869
26870	if invalidParams.Len() > 0 {
26871		return invalidParams
26872	}
26873	return nil
26874}
26875
26876// SetLabels sets the Labels field's value.
26877func (s *LabelParameterVersionInput) SetLabels(v []*string) *LabelParameterVersionInput {
26878	s.Labels = v
26879	return s
26880}
26881
26882// SetName sets the Name field's value.
26883func (s *LabelParameterVersionInput) SetName(v string) *LabelParameterVersionInput {
26884	s.Name = &v
26885	return s
26886}
26887
26888// SetParameterVersion sets the ParameterVersion field's value.
26889func (s *LabelParameterVersionInput) SetParameterVersion(v int64) *LabelParameterVersionInput {
26890	s.ParameterVersion = &v
26891	return s
26892}
26893
26894type LabelParameterVersionOutput struct {
26895	_ struct{} `type:"structure"`
26896
26897	// The label does not meet the requirements. For information about parameter
26898	// label requirements, see Labeling Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html)
26899	// in the AWS Systems Manager User Guide.
26900	InvalidLabels []*string `min:"1" type:"list"`
26901
26902	// The version of the parameter that has been labeled.
26903	ParameterVersion *int64 `type:"long"`
26904}
26905
26906// String returns the string representation
26907func (s LabelParameterVersionOutput) String() string {
26908	return awsutil.Prettify(s)
26909}
26910
26911// GoString returns the string representation
26912func (s LabelParameterVersionOutput) GoString() string {
26913	return s.String()
26914}
26915
26916// SetInvalidLabels sets the InvalidLabels field's value.
26917func (s *LabelParameterVersionOutput) SetInvalidLabels(v []*string) *LabelParameterVersionOutput {
26918	s.InvalidLabels = v
26919	return s
26920}
26921
26922// SetParameterVersion sets the ParameterVersion field's value.
26923func (s *LabelParameterVersionOutput) SetParameterVersion(v int64) *LabelParameterVersionOutput {
26924	s.ParameterVersion = &v
26925	return s
26926}
26927
26928type ListAssociationVersionsInput struct {
26929	_ struct{} `type:"structure"`
26930
26931	// The association ID for which you want to view all versions.
26932	//
26933	// AssociationId is a required field
26934	AssociationId *string `type:"string" required:"true"`
26935
26936	// The maximum number of items to return for this call. The call also returns
26937	// a token that you can specify in a subsequent call to get the next set of
26938	// results.
26939	MaxResults *int64 `min:"1" type:"integer"`
26940
26941	// A token to start the list. Use this token to get the next set of results.
26942	NextToken *string `type:"string"`
26943}
26944
26945// String returns the string representation
26946func (s ListAssociationVersionsInput) String() string {
26947	return awsutil.Prettify(s)
26948}
26949
26950// GoString returns the string representation
26951func (s ListAssociationVersionsInput) GoString() string {
26952	return s.String()
26953}
26954
26955// Validate inspects the fields of the type to determine if they are valid.
26956func (s *ListAssociationVersionsInput) Validate() error {
26957	invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"}
26958	if s.AssociationId == nil {
26959		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
26960	}
26961	if s.MaxResults != nil && *s.MaxResults < 1 {
26962		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26963	}
26964
26965	if invalidParams.Len() > 0 {
26966		return invalidParams
26967	}
26968	return nil
26969}
26970
26971// SetAssociationId sets the AssociationId field's value.
26972func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput {
26973	s.AssociationId = &v
26974	return s
26975}
26976
26977// SetMaxResults sets the MaxResults field's value.
26978func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput {
26979	s.MaxResults = &v
26980	return s
26981}
26982
26983// SetNextToken sets the NextToken field's value.
26984func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput {
26985	s.NextToken = &v
26986	return s
26987}
26988
26989type ListAssociationVersionsOutput struct {
26990	_ struct{} `type:"structure"`
26991
26992	// Information about all versions of the association for the specified association
26993	// ID.
26994	AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"`
26995
26996	// The token for the next set of items to return. Use this token to get the
26997	// next set of results.
26998	NextToken *string `type:"string"`
26999}
27000
27001// String returns the string representation
27002func (s ListAssociationVersionsOutput) String() string {
27003	return awsutil.Prettify(s)
27004}
27005
27006// GoString returns the string representation
27007func (s ListAssociationVersionsOutput) GoString() string {
27008	return s.String()
27009}
27010
27011// SetAssociationVersions sets the AssociationVersions field's value.
27012func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput {
27013	s.AssociationVersions = v
27014	return s
27015}
27016
27017// SetNextToken sets the NextToken field's value.
27018func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput {
27019	s.NextToken = &v
27020	return s
27021}
27022
27023type ListAssociationsInput struct {
27024	_ struct{} `type:"structure"`
27025
27026	// One or more filters. Use a filter to return a more specific list of results.
27027	AssociationFilterList []*AssociationFilter `min:"1" type:"list"`
27028
27029	// The maximum number of items to return for this call. The call also returns
27030	// a token that you can specify in a subsequent call to get the next set of
27031	// results.
27032	MaxResults *int64 `min:"1" type:"integer"`
27033
27034	// The token for the next set of items to return. (You received this token from
27035	// a previous call.)
27036	NextToken *string `type:"string"`
27037}
27038
27039// String returns the string representation
27040func (s ListAssociationsInput) String() string {
27041	return awsutil.Prettify(s)
27042}
27043
27044// GoString returns the string representation
27045func (s ListAssociationsInput) GoString() string {
27046	return s.String()
27047}
27048
27049// Validate inspects the fields of the type to determine if they are valid.
27050func (s *ListAssociationsInput) Validate() error {
27051	invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"}
27052	if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 {
27053		invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1))
27054	}
27055	if s.MaxResults != nil && *s.MaxResults < 1 {
27056		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27057	}
27058	if s.AssociationFilterList != nil {
27059		for i, v := range s.AssociationFilterList {
27060			if v == nil {
27061				continue
27062			}
27063			if err := v.Validate(); err != nil {
27064				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams))
27065			}
27066		}
27067	}
27068
27069	if invalidParams.Len() > 0 {
27070		return invalidParams
27071	}
27072	return nil
27073}
27074
27075// SetAssociationFilterList sets the AssociationFilterList field's value.
27076func (s *ListAssociationsInput) SetAssociationFilterList(v []*AssociationFilter) *ListAssociationsInput {
27077	s.AssociationFilterList = v
27078	return s
27079}
27080
27081// SetMaxResults sets the MaxResults field's value.
27082func (s *ListAssociationsInput) SetMaxResults(v int64) *ListAssociationsInput {
27083	s.MaxResults = &v
27084	return s
27085}
27086
27087// SetNextToken sets the NextToken field's value.
27088func (s *ListAssociationsInput) SetNextToken(v string) *ListAssociationsInput {
27089	s.NextToken = &v
27090	return s
27091}
27092
27093type ListAssociationsOutput struct {
27094	_ struct{} `type:"structure"`
27095
27096	// The associations.
27097	Associations []*Association `type:"list"`
27098
27099	// The token to use when requesting the next set of items. If there are no additional
27100	// items to return, the string is empty.
27101	NextToken *string `type:"string"`
27102}
27103
27104// String returns the string representation
27105func (s ListAssociationsOutput) String() string {
27106	return awsutil.Prettify(s)
27107}
27108
27109// GoString returns the string representation
27110func (s ListAssociationsOutput) GoString() string {
27111	return s.String()
27112}
27113
27114// SetAssociations sets the Associations field's value.
27115func (s *ListAssociationsOutput) SetAssociations(v []*Association) *ListAssociationsOutput {
27116	s.Associations = v
27117	return s
27118}
27119
27120// SetNextToken sets the NextToken field's value.
27121func (s *ListAssociationsOutput) SetNextToken(v string) *ListAssociationsOutput {
27122	s.NextToken = &v
27123	return s
27124}
27125
27126type ListCommandInvocationsInput struct {
27127	_ struct{} `type:"structure"`
27128
27129	// (Optional) The invocations for a specific command ID.
27130	CommandId *string `min:"36" type:"string"`
27131
27132	// (Optional) If set this returns the response of the command executions and
27133	// any command output. By default this is set to False.
27134	Details *bool `type:"boolean"`
27135
27136	// (Optional) One or more filters. Use a filter to return a more specific list
27137	// of results. Note that the DocumentName filter is not supported for ListCommandInvocations.
27138	Filters []*CommandFilter `min:"1" type:"list"`
27139
27140	// (Optional) The command execution details for a specific instance ID.
27141	InstanceId *string `type:"string"`
27142
27143	// (Optional) The maximum number of items to return for this call. The call
27144	// also returns a token that you can specify in a subsequent call to get the
27145	// next set of results.
27146	MaxResults *int64 `min:"1" type:"integer"`
27147
27148	// (Optional) The token for the next set of items to return. (You received this
27149	// token from a previous call.)
27150	NextToken *string `type:"string"`
27151}
27152
27153// String returns the string representation
27154func (s ListCommandInvocationsInput) String() string {
27155	return awsutil.Prettify(s)
27156}
27157
27158// GoString returns the string representation
27159func (s ListCommandInvocationsInput) GoString() string {
27160	return s.String()
27161}
27162
27163// Validate inspects the fields of the type to determine if they are valid.
27164func (s *ListCommandInvocationsInput) Validate() error {
27165	invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"}
27166	if s.CommandId != nil && len(*s.CommandId) < 36 {
27167		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
27168	}
27169	if s.Filters != nil && len(s.Filters) < 1 {
27170		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
27171	}
27172	if s.MaxResults != nil && *s.MaxResults < 1 {
27173		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27174	}
27175	if s.Filters != nil {
27176		for i, v := range s.Filters {
27177			if v == nil {
27178				continue
27179			}
27180			if err := v.Validate(); err != nil {
27181				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27182			}
27183		}
27184	}
27185
27186	if invalidParams.Len() > 0 {
27187		return invalidParams
27188	}
27189	return nil
27190}
27191
27192// SetCommandId sets the CommandId field's value.
27193func (s *ListCommandInvocationsInput) SetCommandId(v string) *ListCommandInvocationsInput {
27194	s.CommandId = &v
27195	return s
27196}
27197
27198// SetDetails sets the Details field's value.
27199func (s *ListCommandInvocationsInput) SetDetails(v bool) *ListCommandInvocationsInput {
27200	s.Details = &v
27201	return s
27202}
27203
27204// SetFilters sets the Filters field's value.
27205func (s *ListCommandInvocationsInput) SetFilters(v []*CommandFilter) *ListCommandInvocationsInput {
27206	s.Filters = v
27207	return s
27208}
27209
27210// SetInstanceId sets the InstanceId field's value.
27211func (s *ListCommandInvocationsInput) SetInstanceId(v string) *ListCommandInvocationsInput {
27212	s.InstanceId = &v
27213	return s
27214}
27215
27216// SetMaxResults sets the MaxResults field's value.
27217func (s *ListCommandInvocationsInput) SetMaxResults(v int64) *ListCommandInvocationsInput {
27218	s.MaxResults = &v
27219	return s
27220}
27221
27222// SetNextToken sets the NextToken field's value.
27223func (s *ListCommandInvocationsInput) SetNextToken(v string) *ListCommandInvocationsInput {
27224	s.NextToken = &v
27225	return s
27226}
27227
27228type ListCommandInvocationsOutput struct {
27229	_ struct{} `type:"structure"`
27230
27231	// (Optional) A list of all invocations.
27232	CommandInvocations []*CommandInvocation `type:"list"`
27233
27234	// (Optional) The token for the next set of items to return. (You received this
27235	// token from a previous call.)
27236	NextToken *string `type:"string"`
27237}
27238
27239// String returns the string representation
27240func (s ListCommandInvocationsOutput) String() string {
27241	return awsutil.Prettify(s)
27242}
27243
27244// GoString returns the string representation
27245func (s ListCommandInvocationsOutput) GoString() string {
27246	return s.String()
27247}
27248
27249// SetCommandInvocations sets the CommandInvocations field's value.
27250func (s *ListCommandInvocationsOutput) SetCommandInvocations(v []*CommandInvocation) *ListCommandInvocationsOutput {
27251	s.CommandInvocations = v
27252	return s
27253}
27254
27255// SetNextToken sets the NextToken field's value.
27256func (s *ListCommandInvocationsOutput) SetNextToken(v string) *ListCommandInvocationsOutput {
27257	s.NextToken = &v
27258	return s
27259}
27260
27261type ListCommandsInput struct {
27262	_ struct{} `type:"structure"`
27263
27264	// (Optional) If provided, lists only the specified command.
27265	CommandId *string `min:"36" type:"string"`
27266
27267	// (Optional) One or more filters. Use a filter to return a more specific list
27268	// of results.
27269	Filters []*CommandFilter `min:"1" type:"list"`
27270
27271	// (Optional) Lists commands issued against this instance ID.
27272	InstanceId *string `type:"string"`
27273
27274	// (Optional) The maximum number of items to return for this call. The call
27275	// also returns a token that you can specify in a subsequent call to get the
27276	// next set of results.
27277	MaxResults *int64 `min:"1" type:"integer"`
27278
27279	// (Optional) The token for the next set of items to return. (You received this
27280	// token from a previous call.)
27281	NextToken *string `type:"string"`
27282}
27283
27284// String returns the string representation
27285func (s ListCommandsInput) String() string {
27286	return awsutil.Prettify(s)
27287}
27288
27289// GoString returns the string representation
27290func (s ListCommandsInput) GoString() string {
27291	return s.String()
27292}
27293
27294// Validate inspects the fields of the type to determine if they are valid.
27295func (s *ListCommandsInput) Validate() error {
27296	invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"}
27297	if s.CommandId != nil && len(*s.CommandId) < 36 {
27298		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
27299	}
27300	if s.Filters != nil && len(s.Filters) < 1 {
27301		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
27302	}
27303	if s.MaxResults != nil && *s.MaxResults < 1 {
27304		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27305	}
27306	if s.Filters != nil {
27307		for i, v := range s.Filters {
27308			if v == nil {
27309				continue
27310			}
27311			if err := v.Validate(); err != nil {
27312				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27313			}
27314		}
27315	}
27316
27317	if invalidParams.Len() > 0 {
27318		return invalidParams
27319	}
27320	return nil
27321}
27322
27323// SetCommandId sets the CommandId field's value.
27324func (s *ListCommandsInput) SetCommandId(v string) *ListCommandsInput {
27325	s.CommandId = &v
27326	return s
27327}
27328
27329// SetFilters sets the Filters field's value.
27330func (s *ListCommandsInput) SetFilters(v []*CommandFilter) *ListCommandsInput {
27331	s.Filters = v
27332	return s
27333}
27334
27335// SetInstanceId sets the InstanceId field's value.
27336func (s *ListCommandsInput) SetInstanceId(v string) *ListCommandsInput {
27337	s.InstanceId = &v
27338	return s
27339}
27340
27341// SetMaxResults sets the MaxResults field's value.
27342func (s *ListCommandsInput) SetMaxResults(v int64) *ListCommandsInput {
27343	s.MaxResults = &v
27344	return s
27345}
27346
27347// SetNextToken sets the NextToken field's value.
27348func (s *ListCommandsInput) SetNextToken(v string) *ListCommandsInput {
27349	s.NextToken = &v
27350	return s
27351}
27352
27353type ListCommandsOutput struct {
27354	_ struct{} `type:"structure"`
27355
27356	// (Optional) The list of commands requested by the user.
27357	Commands []*Command `type:"list"`
27358
27359	// (Optional) The token for the next set of items to return. (You received this
27360	// token from a previous call.)
27361	NextToken *string `type:"string"`
27362}
27363
27364// String returns the string representation
27365func (s ListCommandsOutput) String() string {
27366	return awsutil.Prettify(s)
27367}
27368
27369// GoString returns the string representation
27370func (s ListCommandsOutput) GoString() string {
27371	return s.String()
27372}
27373
27374// SetCommands sets the Commands field's value.
27375func (s *ListCommandsOutput) SetCommands(v []*Command) *ListCommandsOutput {
27376	s.Commands = v
27377	return s
27378}
27379
27380// SetNextToken sets the NextToken field's value.
27381func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput {
27382	s.NextToken = &v
27383	return s
27384}
27385
27386type ListComplianceItemsInput struct {
27387	_ struct{} `type:"structure"`
27388
27389	// One or more compliance filters. Use a filter to return a more specific list
27390	// of results.
27391	Filters []*ComplianceStringFilter `type:"list"`
27392
27393	// The maximum number of items to return for this call. The call also returns
27394	// a token that you can specify in a subsequent call to get the next set of
27395	// results.
27396	MaxResults *int64 `min:"1" type:"integer"`
27397
27398	// A token to start the list. Use this token to get the next set of results.
27399	NextToken *string `type:"string"`
27400
27401	// The ID for the resources from which to get compliance information. Currently,
27402	// you can only specify one resource ID.
27403	ResourceIds []*string `min:"1" type:"list"`
27404
27405	// The type of resource from which to get compliance information. Currently,
27406	// the only supported resource type is ManagedInstance.
27407	ResourceTypes []*string `min:"1" type:"list"`
27408}
27409
27410// String returns the string representation
27411func (s ListComplianceItemsInput) String() string {
27412	return awsutil.Prettify(s)
27413}
27414
27415// GoString returns the string representation
27416func (s ListComplianceItemsInput) GoString() string {
27417	return s.String()
27418}
27419
27420// Validate inspects the fields of the type to determine if they are valid.
27421func (s *ListComplianceItemsInput) Validate() error {
27422	invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"}
27423	if s.MaxResults != nil && *s.MaxResults < 1 {
27424		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27425	}
27426	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
27427		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
27428	}
27429	if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
27430		invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
27431	}
27432	if s.Filters != nil {
27433		for i, v := range s.Filters {
27434			if v == nil {
27435				continue
27436			}
27437			if err := v.Validate(); err != nil {
27438				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27439			}
27440		}
27441	}
27442
27443	if invalidParams.Len() > 0 {
27444		return invalidParams
27445	}
27446	return nil
27447}
27448
27449// SetFilters sets the Filters field's value.
27450func (s *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput {
27451	s.Filters = v
27452	return s
27453}
27454
27455// SetMaxResults sets the MaxResults field's value.
27456func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput {
27457	s.MaxResults = &v
27458	return s
27459}
27460
27461// SetNextToken sets the NextToken field's value.
27462func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput {
27463	s.NextToken = &v
27464	return s
27465}
27466
27467// SetResourceIds sets the ResourceIds field's value.
27468func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput {
27469	s.ResourceIds = v
27470	return s
27471}
27472
27473// SetResourceTypes sets the ResourceTypes field's value.
27474func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput {
27475	s.ResourceTypes = v
27476	return s
27477}
27478
27479type ListComplianceItemsOutput struct {
27480	_ struct{} `type:"structure"`
27481
27482	// A list of compliance information for the specified resource ID.
27483	ComplianceItems []*ComplianceItem `type:"list"`
27484
27485	// The token for the next set of items to return. Use this token to get the
27486	// next set of results.
27487	NextToken *string `type:"string"`
27488}
27489
27490// String returns the string representation
27491func (s ListComplianceItemsOutput) String() string {
27492	return awsutil.Prettify(s)
27493}
27494
27495// GoString returns the string representation
27496func (s ListComplianceItemsOutput) GoString() string {
27497	return s.String()
27498}
27499
27500// SetComplianceItems sets the ComplianceItems field's value.
27501func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput {
27502	s.ComplianceItems = v
27503	return s
27504}
27505
27506// SetNextToken sets the NextToken field's value.
27507func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput {
27508	s.NextToken = &v
27509	return s
27510}
27511
27512type ListComplianceSummariesInput struct {
27513	_ struct{} `type:"structure"`
27514
27515	// One or more compliance or inventory filters. Use a filter to return a more
27516	// specific list of results.
27517	Filters []*ComplianceStringFilter `type:"list"`
27518
27519	// The maximum number of items to return for this call. Currently, you can specify
27520	// null or 50. The call also returns a token that you can specify in a subsequent
27521	// call to get the next set of results.
27522	MaxResults *int64 `min:"1" type:"integer"`
27523
27524	// A token to start the list. Use this token to get the next set of results.
27525	NextToken *string `type:"string"`
27526}
27527
27528// String returns the string representation
27529func (s ListComplianceSummariesInput) String() string {
27530	return awsutil.Prettify(s)
27531}
27532
27533// GoString returns the string representation
27534func (s ListComplianceSummariesInput) GoString() string {
27535	return s.String()
27536}
27537
27538// Validate inspects the fields of the type to determine if they are valid.
27539func (s *ListComplianceSummariesInput) Validate() error {
27540	invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"}
27541	if s.MaxResults != nil && *s.MaxResults < 1 {
27542		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27543	}
27544	if s.Filters != nil {
27545		for i, v := range s.Filters {
27546			if v == nil {
27547				continue
27548			}
27549			if err := v.Validate(); err != nil {
27550				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27551			}
27552		}
27553	}
27554
27555	if invalidParams.Len() > 0 {
27556		return invalidParams
27557	}
27558	return nil
27559}
27560
27561// SetFilters sets the Filters field's value.
27562func (s *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput {
27563	s.Filters = v
27564	return s
27565}
27566
27567// SetMaxResults sets the MaxResults field's value.
27568func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput {
27569	s.MaxResults = &v
27570	return s
27571}
27572
27573// SetNextToken sets the NextToken field's value.
27574func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput {
27575	s.NextToken = &v
27576	return s
27577}
27578
27579type ListComplianceSummariesOutput struct {
27580	_ struct{} `type:"structure"`
27581
27582	// A list of compliant and non-compliant summary counts based on compliance
27583	// types. For example, this call returns State Manager associations, patches,
27584	// or custom compliance types according to the filter criteria that you specified.
27585	ComplianceSummaryItems []*ComplianceSummaryItem `type:"list"`
27586
27587	// The token for the next set of items to return. Use this token to get the
27588	// next set of results.
27589	NextToken *string `type:"string"`
27590}
27591
27592// String returns the string representation
27593func (s ListComplianceSummariesOutput) String() string {
27594	return awsutil.Prettify(s)
27595}
27596
27597// GoString returns the string representation
27598func (s ListComplianceSummariesOutput) GoString() string {
27599	return s.String()
27600}
27601
27602// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value.
27603func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput {
27604	s.ComplianceSummaryItems = v
27605	return s
27606}
27607
27608// SetNextToken sets the NextToken field's value.
27609func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput {
27610	s.NextToken = &v
27611	return s
27612}
27613
27614type ListDocumentVersionsInput struct {
27615	_ struct{} `type:"structure"`
27616
27617	// The maximum number of items to return for this call. The call also returns
27618	// a token that you can specify in a subsequent call to get the next set of
27619	// results.
27620	MaxResults *int64 `min:"1" type:"integer"`
27621
27622	// The name of the document. You can specify an Amazon Resource Name (ARN).
27623	//
27624	// Name is a required field
27625	Name *string `type:"string" required:"true"`
27626
27627	// The token for the next set of items to return. (You received this token from
27628	// a previous call.)
27629	NextToken *string `type:"string"`
27630}
27631
27632// String returns the string representation
27633func (s ListDocumentVersionsInput) String() string {
27634	return awsutil.Prettify(s)
27635}
27636
27637// GoString returns the string representation
27638func (s ListDocumentVersionsInput) GoString() string {
27639	return s.String()
27640}
27641
27642// Validate inspects the fields of the type to determine if they are valid.
27643func (s *ListDocumentVersionsInput) Validate() error {
27644	invalidParams := request.ErrInvalidParams{Context: "ListDocumentVersionsInput"}
27645	if s.MaxResults != nil && *s.MaxResults < 1 {
27646		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27647	}
27648	if s.Name == nil {
27649		invalidParams.Add(request.NewErrParamRequired("Name"))
27650	}
27651
27652	if invalidParams.Len() > 0 {
27653		return invalidParams
27654	}
27655	return nil
27656}
27657
27658// SetMaxResults sets the MaxResults field's value.
27659func (s *ListDocumentVersionsInput) SetMaxResults(v int64) *ListDocumentVersionsInput {
27660	s.MaxResults = &v
27661	return s
27662}
27663
27664// SetName sets the Name field's value.
27665func (s *ListDocumentVersionsInput) SetName(v string) *ListDocumentVersionsInput {
27666	s.Name = &v
27667	return s
27668}
27669
27670// SetNextToken sets the NextToken field's value.
27671func (s *ListDocumentVersionsInput) SetNextToken(v string) *ListDocumentVersionsInput {
27672	s.NextToken = &v
27673	return s
27674}
27675
27676type ListDocumentVersionsOutput struct {
27677	_ struct{} `type:"structure"`
27678
27679	// The document versions.
27680	DocumentVersions []*DocumentVersionInfo `min:"1" type:"list"`
27681
27682	// The token to use when requesting the next set of items. If there are no additional
27683	// items to return, the string is empty.
27684	NextToken *string `type:"string"`
27685}
27686
27687// String returns the string representation
27688func (s ListDocumentVersionsOutput) String() string {
27689	return awsutil.Prettify(s)
27690}
27691
27692// GoString returns the string representation
27693func (s ListDocumentVersionsOutput) GoString() string {
27694	return s.String()
27695}
27696
27697// SetDocumentVersions sets the DocumentVersions field's value.
27698func (s *ListDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionInfo) *ListDocumentVersionsOutput {
27699	s.DocumentVersions = v
27700	return s
27701}
27702
27703// SetNextToken sets the NextToken field's value.
27704func (s *ListDocumentVersionsOutput) SetNextToken(v string) *ListDocumentVersionsOutput {
27705	s.NextToken = &v
27706	return s
27707}
27708
27709type ListDocumentsInput struct {
27710	_ struct{} `type:"structure"`
27711
27712	// One or more filters. Use a filter to return a more specific list of results.
27713	DocumentFilterList []*DocumentFilter `min:"1" type:"list"`
27714
27715	// One or more filters. Use a filter to return a more specific list of results.
27716	Filters []*DocumentKeyValuesFilter `type:"list"`
27717
27718	// The maximum number of items to return for this call. The call also returns
27719	// a token that you can specify in a subsequent call to get the next set of
27720	// results.
27721	MaxResults *int64 `min:"1" type:"integer"`
27722
27723	// The token for the next set of items to return. (You received this token from
27724	// a previous call.)
27725	NextToken *string `type:"string"`
27726}
27727
27728// String returns the string representation
27729func (s ListDocumentsInput) String() string {
27730	return awsutil.Prettify(s)
27731}
27732
27733// GoString returns the string representation
27734func (s ListDocumentsInput) GoString() string {
27735	return s.String()
27736}
27737
27738// Validate inspects the fields of the type to determine if they are valid.
27739func (s *ListDocumentsInput) Validate() error {
27740	invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"}
27741	if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 {
27742		invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1))
27743	}
27744	if s.MaxResults != nil && *s.MaxResults < 1 {
27745		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27746	}
27747	if s.DocumentFilterList != nil {
27748		for i, v := range s.DocumentFilterList {
27749			if v == nil {
27750				continue
27751			}
27752			if err := v.Validate(); err != nil {
27753				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams))
27754			}
27755		}
27756	}
27757	if s.Filters != nil {
27758		for i, v := range s.Filters {
27759			if v == nil {
27760				continue
27761			}
27762			if err := v.Validate(); err != nil {
27763				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27764			}
27765		}
27766	}
27767
27768	if invalidParams.Len() > 0 {
27769		return invalidParams
27770	}
27771	return nil
27772}
27773
27774// SetDocumentFilterList sets the DocumentFilterList field's value.
27775func (s *ListDocumentsInput) SetDocumentFilterList(v []*DocumentFilter) *ListDocumentsInput {
27776	s.DocumentFilterList = v
27777	return s
27778}
27779
27780// SetFilters sets the Filters field's value.
27781func (s *ListDocumentsInput) SetFilters(v []*DocumentKeyValuesFilter) *ListDocumentsInput {
27782	s.Filters = v
27783	return s
27784}
27785
27786// SetMaxResults sets the MaxResults field's value.
27787func (s *ListDocumentsInput) SetMaxResults(v int64) *ListDocumentsInput {
27788	s.MaxResults = &v
27789	return s
27790}
27791
27792// SetNextToken sets the NextToken field's value.
27793func (s *ListDocumentsInput) SetNextToken(v string) *ListDocumentsInput {
27794	s.NextToken = &v
27795	return s
27796}
27797
27798type ListDocumentsOutput struct {
27799	_ struct{} `type:"structure"`
27800
27801	// The names of the Systems Manager documents.
27802	DocumentIdentifiers []*DocumentIdentifier `type:"list"`
27803
27804	// The token to use when requesting the next set of items. If there are no additional
27805	// items to return, the string is empty.
27806	NextToken *string `type:"string"`
27807}
27808
27809// String returns the string representation
27810func (s ListDocumentsOutput) String() string {
27811	return awsutil.Prettify(s)
27812}
27813
27814// GoString returns the string representation
27815func (s ListDocumentsOutput) GoString() string {
27816	return s.String()
27817}
27818
27819// SetDocumentIdentifiers sets the DocumentIdentifiers field's value.
27820func (s *ListDocumentsOutput) SetDocumentIdentifiers(v []*DocumentIdentifier) *ListDocumentsOutput {
27821	s.DocumentIdentifiers = v
27822	return s
27823}
27824
27825// SetNextToken sets the NextToken field's value.
27826func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput {
27827	s.NextToken = &v
27828	return s
27829}
27830
27831type ListInventoryEntriesInput struct {
27832	_ struct{} `type:"structure"`
27833
27834	// One or more filters. Use a filter to return a more specific list of results.
27835	Filters []*InventoryFilter `min:"1" type:"list"`
27836
27837	// The instance ID for which you want inventory information.
27838	//
27839	// InstanceId is a required field
27840	InstanceId *string `type:"string" required:"true"`
27841
27842	// The maximum number of items to return for this call. The call also returns
27843	// a token that you can specify in a subsequent call to get the next set of
27844	// results.
27845	MaxResults *int64 `min:"1" type:"integer"`
27846
27847	// The token for the next set of items to return. (You received this token from
27848	// a previous call.)
27849	NextToken *string `type:"string"`
27850
27851	// The type of inventory item for which you want information.
27852	//
27853	// TypeName is a required field
27854	TypeName *string `min:"1" type:"string" required:"true"`
27855}
27856
27857// String returns the string representation
27858func (s ListInventoryEntriesInput) String() string {
27859	return awsutil.Prettify(s)
27860}
27861
27862// GoString returns the string representation
27863func (s ListInventoryEntriesInput) GoString() string {
27864	return s.String()
27865}
27866
27867// Validate inspects the fields of the type to determine if they are valid.
27868func (s *ListInventoryEntriesInput) Validate() error {
27869	invalidParams := request.ErrInvalidParams{Context: "ListInventoryEntriesInput"}
27870	if s.Filters != nil && len(s.Filters) < 1 {
27871		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
27872	}
27873	if s.InstanceId == nil {
27874		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
27875	}
27876	if s.MaxResults != nil && *s.MaxResults < 1 {
27877		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27878	}
27879	if s.TypeName == nil {
27880		invalidParams.Add(request.NewErrParamRequired("TypeName"))
27881	}
27882	if s.TypeName != nil && len(*s.TypeName) < 1 {
27883		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
27884	}
27885	if s.Filters != nil {
27886		for i, v := range s.Filters {
27887			if v == nil {
27888				continue
27889			}
27890			if err := v.Validate(); err != nil {
27891				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27892			}
27893		}
27894	}
27895
27896	if invalidParams.Len() > 0 {
27897		return invalidParams
27898	}
27899	return nil
27900}
27901
27902// SetFilters sets the Filters field's value.
27903func (s *ListInventoryEntriesInput) SetFilters(v []*InventoryFilter) *ListInventoryEntriesInput {
27904	s.Filters = v
27905	return s
27906}
27907
27908// SetInstanceId sets the InstanceId field's value.
27909func (s *ListInventoryEntriesInput) SetInstanceId(v string) *ListInventoryEntriesInput {
27910	s.InstanceId = &v
27911	return s
27912}
27913
27914// SetMaxResults sets the MaxResults field's value.
27915func (s *ListInventoryEntriesInput) SetMaxResults(v int64) *ListInventoryEntriesInput {
27916	s.MaxResults = &v
27917	return s
27918}
27919
27920// SetNextToken sets the NextToken field's value.
27921func (s *ListInventoryEntriesInput) SetNextToken(v string) *ListInventoryEntriesInput {
27922	s.NextToken = &v
27923	return s
27924}
27925
27926// SetTypeName sets the TypeName field's value.
27927func (s *ListInventoryEntriesInput) SetTypeName(v string) *ListInventoryEntriesInput {
27928	s.TypeName = &v
27929	return s
27930}
27931
27932type ListInventoryEntriesOutput struct {
27933	_ struct{} `type:"structure"`
27934
27935	// The time that inventory information was collected for the instance(s).
27936	CaptureTime *string `type:"string"`
27937
27938	// A list of inventory items on the instance(s).
27939	Entries []map[string]*string `type:"list"`
27940
27941	// The instance ID targeted by the request to query inventory information.
27942	InstanceId *string `type:"string"`
27943
27944	// The token to use when requesting the next set of items. If there are no additional
27945	// items to return, the string is empty.
27946	NextToken *string `type:"string"`
27947
27948	// The inventory schema version used by the instance(s).
27949	SchemaVersion *string `type:"string"`
27950
27951	// The type of inventory item returned by the request.
27952	TypeName *string `min:"1" type:"string"`
27953}
27954
27955// String returns the string representation
27956func (s ListInventoryEntriesOutput) String() string {
27957	return awsutil.Prettify(s)
27958}
27959
27960// GoString returns the string representation
27961func (s ListInventoryEntriesOutput) GoString() string {
27962	return s.String()
27963}
27964
27965// SetCaptureTime sets the CaptureTime field's value.
27966func (s *ListInventoryEntriesOutput) SetCaptureTime(v string) *ListInventoryEntriesOutput {
27967	s.CaptureTime = &v
27968	return s
27969}
27970
27971// SetEntries sets the Entries field's value.
27972func (s *ListInventoryEntriesOutput) SetEntries(v []map[string]*string) *ListInventoryEntriesOutput {
27973	s.Entries = v
27974	return s
27975}
27976
27977// SetInstanceId sets the InstanceId field's value.
27978func (s *ListInventoryEntriesOutput) SetInstanceId(v string) *ListInventoryEntriesOutput {
27979	s.InstanceId = &v
27980	return s
27981}
27982
27983// SetNextToken sets the NextToken field's value.
27984func (s *ListInventoryEntriesOutput) SetNextToken(v string) *ListInventoryEntriesOutput {
27985	s.NextToken = &v
27986	return s
27987}
27988
27989// SetSchemaVersion sets the SchemaVersion field's value.
27990func (s *ListInventoryEntriesOutput) SetSchemaVersion(v string) *ListInventoryEntriesOutput {
27991	s.SchemaVersion = &v
27992	return s
27993}
27994
27995// SetTypeName sets the TypeName field's value.
27996func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntriesOutput {
27997	s.TypeName = &v
27998	return s
27999}
28000
28001type ListResourceComplianceSummariesInput struct {
28002	_ struct{} `type:"structure"`
28003
28004	// One or more filters. Use a filter to return a more specific list of results.
28005	Filters []*ComplianceStringFilter `type:"list"`
28006
28007	// The maximum number of items to return for this call. The call also returns
28008	// a token that you can specify in a subsequent call to get the next set of
28009	// results.
28010	MaxResults *int64 `min:"1" type:"integer"`
28011
28012	// A token to start the list. Use this token to get the next set of results.
28013	NextToken *string `type:"string"`
28014}
28015
28016// String returns the string representation
28017func (s ListResourceComplianceSummariesInput) String() string {
28018	return awsutil.Prettify(s)
28019}
28020
28021// GoString returns the string representation
28022func (s ListResourceComplianceSummariesInput) GoString() string {
28023	return s.String()
28024}
28025
28026// Validate inspects the fields of the type to determine if they are valid.
28027func (s *ListResourceComplianceSummariesInput) Validate() error {
28028	invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"}
28029	if s.MaxResults != nil && *s.MaxResults < 1 {
28030		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28031	}
28032	if s.Filters != nil {
28033		for i, v := range s.Filters {
28034			if v == nil {
28035				continue
28036			}
28037			if err := v.Validate(); err != nil {
28038				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28039			}
28040		}
28041	}
28042
28043	if invalidParams.Len() > 0 {
28044		return invalidParams
28045	}
28046	return nil
28047}
28048
28049// SetFilters sets the Filters field's value.
28050func (s *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput {
28051	s.Filters = v
28052	return s
28053}
28054
28055// SetMaxResults sets the MaxResults field's value.
28056func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput {
28057	s.MaxResults = &v
28058	return s
28059}
28060
28061// SetNextToken sets the NextToken field's value.
28062func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput {
28063	s.NextToken = &v
28064	return s
28065}
28066
28067type ListResourceComplianceSummariesOutput struct {
28068	_ struct{} `type:"structure"`
28069
28070	// The token for the next set of items to return. Use this token to get the
28071	// next set of results.
28072	NextToken *string `type:"string"`
28073
28074	// A summary count for specified or targeted managed instances. Summary count
28075	// includes information about compliant and non-compliant State Manager associations,
28076	// patch status, or custom items according to the filter criteria that you specify.
28077	ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `type:"list"`
28078}
28079
28080// String returns the string representation
28081func (s ListResourceComplianceSummariesOutput) String() string {
28082	return awsutil.Prettify(s)
28083}
28084
28085// GoString returns the string representation
28086func (s ListResourceComplianceSummariesOutput) GoString() string {
28087	return s.String()
28088}
28089
28090// SetNextToken sets the NextToken field's value.
28091func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput {
28092	s.NextToken = &v
28093	return s
28094}
28095
28096// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value.
28097func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput {
28098	s.ResourceComplianceSummaryItems = v
28099	return s
28100}
28101
28102type ListResourceDataSyncInput struct {
28103	_ struct{} `type:"structure"`
28104
28105	// The maximum number of items to return for this call. The call also returns
28106	// a token that you can specify in a subsequent call to get the next set of
28107	// results.
28108	MaxResults *int64 `min:"1" type:"integer"`
28109
28110	// A token to start the list. Use this token to get the next set of results.
28111	NextToken *string `type:"string"`
28112
28113	// View a list of resource data syncs according to the sync type. Specify SyncToDestination
28114	// to view resource data syncs that synchronize data to an Amazon S3 buckets.
28115	// Specify SyncFromSource to view resource data syncs from AWS Organizations
28116	// or from multiple AWS Regions.
28117	SyncType *string `min:"1" type:"string"`
28118}
28119
28120// String returns the string representation
28121func (s ListResourceDataSyncInput) String() string {
28122	return awsutil.Prettify(s)
28123}
28124
28125// GoString returns the string representation
28126func (s ListResourceDataSyncInput) GoString() string {
28127	return s.String()
28128}
28129
28130// Validate inspects the fields of the type to determine if they are valid.
28131func (s *ListResourceDataSyncInput) Validate() error {
28132	invalidParams := request.ErrInvalidParams{Context: "ListResourceDataSyncInput"}
28133	if s.MaxResults != nil && *s.MaxResults < 1 {
28134		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28135	}
28136	if s.SyncType != nil && len(*s.SyncType) < 1 {
28137		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
28138	}
28139
28140	if invalidParams.Len() > 0 {
28141		return invalidParams
28142	}
28143	return nil
28144}
28145
28146// SetMaxResults sets the MaxResults field's value.
28147func (s *ListResourceDataSyncInput) SetMaxResults(v int64) *ListResourceDataSyncInput {
28148	s.MaxResults = &v
28149	return s
28150}
28151
28152// SetNextToken sets the NextToken field's value.
28153func (s *ListResourceDataSyncInput) SetNextToken(v string) *ListResourceDataSyncInput {
28154	s.NextToken = &v
28155	return s
28156}
28157
28158// SetSyncType sets the SyncType field's value.
28159func (s *ListResourceDataSyncInput) SetSyncType(v string) *ListResourceDataSyncInput {
28160	s.SyncType = &v
28161	return s
28162}
28163
28164type ListResourceDataSyncOutput struct {
28165	_ struct{} `type:"structure"`
28166
28167	// The token for the next set of items to return. Use this token to get the
28168	// next set of results.
28169	NextToken *string `type:"string"`
28170
28171	// A list of your current Resource Data Sync configurations and their statuses.
28172	ResourceDataSyncItems []*ResourceDataSyncItem `type:"list"`
28173}
28174
28175// String returns the string representation
28176func (s ListResourceDataSyncOutput) String() string {
28177	return awsutil.Prettify(s)
28178}
28179
28180// GoString returns the string representation
28181func (s ListResourceDataSyncOutput) GoString() string {
28182	return s.String()
28183}
28184
28185// SetNextToken sets the NextToken field's value.
28186func (s *ListResourceDataSyncOutput) SetNextToken(v string) *ListResourceDataSyncOutput {
28187	s.NextToken = &v
28188	return s
28189}
28190
28191// SetResourceDataSyncItems sets the ResourceDataSyncItems field's value.
28192func (s *ListResourceDataSyncOutput) SetResourceDataSyncItems(v []*ResourceDataSyncItem) *ListResourceDataSyncOutput {
28193	s.ResourceDataSyncItems = v
28194	return s
28195}
28196
28197type ListTagsForResourceInput struct {
28198	_ struct{} `type:"structure"`
28199
28200	// The resource ID for which you want to see a list of tags.
28201	//
28202	// ResourceId is a required field
28203	ResourceId *string `type:"string" required:"true"`
28204
28205	// Returns a list of tags for a specific resource type.
28206	//
28207	// ResourceType is a required field
28208	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
28209}
28210
28211// String returns the string representation
28212func (s ListTagsForResourceInput) String() string {
28213	return awsutil.Prettify(s)
28214}
28215
28216// GoString returns the string representation
28217func (s ListTagsForResourceInput) GoString() string {
28218	return s.String()
28219}
28220
28221// Validate inspects the fields of the type to determine if they are valid.
28222func (s *ListTagsForResourceInput) Validate() error {
28223	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
28224	if s.ResourceId == nil {
28225		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
28226	}
28227	if s.ResourceType == nil {
28228		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
28229	}
28230
28231	if invalidParams.Len() > 0 {
28232		return invalidParams
28233	}
28234	return nil
28235}
28236
28237// SetResourceId sets the ResourceId field's value.
28238func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
28239	s.ResourceId = &v
28240	return s
28241}
28242
28243// SetResourceType sets the ResourceType field's value.
28244func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
28245	s.ResourceType = &v
28246	return s
28247}
28248
28249type ListTagsForResourceOutput struct {
28250	_ struct{} `type:"structure"`
28251
28252	// A list of tags.
28253	TagList []*Tag `type:"list"`
28254}
28255
28256// String returns the string representation
28257func (s ListTagsForResourceOutput) String() string {
28258	return awsutil.Prettify(s)
28259}
28260
28261// GoString returns the string representation
28262func (s ListTagsForResourceOutput) GoString() string {
28263	return s.String()
28264}
28265
28266// SetTagList sets the TagList field's value.
28267func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
28268	s.TagList = v
28269	return s
28270}
28271
28272// Information about an Amazon S3 bucket to write instance-level logs to.
28273//
28274// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28275// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28276// structure. For information about how Systems Manager handles these options
28277// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28278type LoggingInfo struct {
28279	_ struct{} `type:"structure"`
28280
28281	// The name of an Amazon S3 bucket where execution logs are stored .
28282	//
28283	// S3BucketName is a required field
28284	S3BucketName *string `min:"3" type:"string" required:"true"`
28285
28286	// (Optional) The Amazon S3 bucket subfolder.
28287	S3KeyPrefix *string `type:"string"`
28288
28289	// The region where the Amazon S3 bucket is located.
28290	//
28291	// S3Region is a required field
28292	S3Region *string `min:"3" type:"string" required:"true"`
28293}
28294
28295// String returns the string representation
28296func (s LoggingInfo) String() string {
28297	return awsutil.Prettify(s)
28298}
28299
28300// GoString returns the string representation
28301func (s LoggingInfo) GoString() string {
28302	return s.String()
28303}
28304
28305// Validate inspects the fields of the type to determine if they are valid.
28306func (s *LoggingInfo) Validate() error {
28307	invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"}
28308	if s.S3BucketName == nil {
28309		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
28310	}
28311	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
28312		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
28313	}
28314	if s.S3Region == nil {
28315		invalidParams.Add(request.NewErrParamRequired("S3Region"))
28316	}
28317	if s.S3Region != nil && len(*s.S3Region) < 3 {
28318		invalidParams.Add(request.NewErrParamMinLen("S3Region", 3))
28319	}
28320
28321	if invalidParams.Len() > 0 {
28322		return invalidParams
28323	}
28324	return nil
28325}
28326
28327// SetS3BucketName sets the S3BucketName field's value.
28328func (s *LoggingInfo) SetS3BucketName(v string) *LoggingInfo {
28329	s.S3BucketName = &v
28330	return s
28331}
28332
28333// SetS3KeyPrefix sets the S3KeyPrefix field's value.
28334func (s *LoggingInfo) SetS3KeyPrefix(v string) *LoggingInfo {
28335	s.S3KeyPrefix = &v
28336	return s
28337}
28338
28339// SetS3Region sets the S3Region field's value.
28340func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo {
28341	s.S3Region = &v
28342	return s
28343}
28344
28345// The parameters for an AUTOMATION task type.
28346type MaintenanceWindowAutomationParameters struct {
28347	_ struct{} `type:"structure"`
28348
28349	// The version of an Automation document to use during task execution.
28350	DocumentVersion *string `type:"string"`
28351
28352	// The parameters for the AUTOMATION task.
28353	//
28354	// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28355	// and UpdateMaintenanceWindowTask.
28356	//
28357	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28358	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28359	// structure. For information about how Systems Manager handles these options
28360	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28361	//
28362	// TaskParameters has been deprecated. To specify parameters to pass to a task
28363	// when it runs, instead use the Parameters option in the TaskInvocationParameters
28364	// structure. For information about how Systems Manager handles these options
28365	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28366	//
28367	// For AUTOMATION task types, Systems Manager ignores any values specified for
28368	// these parameters.
28369	Parameters map[string][]*string `min:"1" type:"map"`
28370}
28371
28372// String returns the string representation
28373func (s MaintenanceWindowAutomationParameters) String() string {
28374	return awsutil.Prettify(s)
28375}
28376
28377// GoString returns the string representation
28378func (s MaintenanceWindowAutomationParameters) GoString() string {
28379	return s.String()
28380}
28381
28382// Validate inspects the fields of the type to determine if they are valid.
28383func (s *MaintenanceWindowAutomationParameters) Validate() error {
28384	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"}
28385	if s.Parameters != nil && len(s.Parameters) < 1 {
28386		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
28387	}
28388
28389	if invalidParams.Len() > 0 {
28390		return invalidParams
28391	}
28392	return nil
28393}
28394
28395// SetDocumentVersion sets the DocumentVersion field's value.
28396func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters {
28397	s.DocumentVersion = &v
28398	return s
28399}
28400
28401// SetParameters sets the Parameters field's value.
28402func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters {
28403	s.Parameters = v
28404	return s
28405}
28406
28407// Describes the information about an execution of a maintenance window.
28408type MaintenanceWindowExecution struct {
28409	_ struct{} `type:"structure"`
28410
28411	// The time the execution finished.
28412	EndTime *time.Time `type:"timestamp"`
28413
28414	// The time the execution started.
28415	StartTime *time.Time `type:"timestamp"`
28416
28417	// The status of the execution.
28418	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
28419
28420	// The details explaining the Status. Only available for certain status values.
28421	StatusDetails *string `type:"string"`
28422
28423	// The ID of the maintenance window execution.
28424	WindowExecutionId *string `min:"36" type:"string"`
28425
28426	// The ID of the maintenance window.
28427	WindowId *string `min:"20" type:"string"`
28428}
28429
28430// String returns the string representation
28431func (s MaintenanceWindowExecution) String() string {
28432	return awsutil.Prettify(s)
28433}
28434
28435// GoString returns the string representation
28436func (s MaintenanceWindowExecution) GoString() string {
28437	return s.String()
28438}
28439
28440// SetEndTime sets the EndTime field's value.
28441func (s *MaintenanceWindowExecution) SetEndTime(v time.Time) *MaintenanceWindowExecution {
28442	s.EndTime = &v
28443	return s
28444}
28445
28446// SetStartTime sets the StartTime field's value.
28447func (s *MaintenanceWindowExecution) SetStartTime(v time.Time) *MaintenanceWindowExecution {
28448	s.StartTime = &v
28449	return s
28450}
28451
28452// SetStatus sets the Status field's value.
28453func (s *MaintenanceWindowExecution) SetStatus(v string) *MaintenanceWindowExecution {
28454	s.Status = &v
28455	return s
28456}
28457
28458// SetStatusDetails sets the StatusDetails field's value.
28459func (s *MaintenanceWindowExecution) SetStatusDetails(v string) *MaintenanceWindowExecution {
28460	s.StatusDetails = &v
28461	return s
28462}
28463
28464// SetWindowExecutionId sets the WindowExecutionId field's value.
28465func (s *MaintenanceWindowExecution) SetWindowExecutionId(v string) *MaintenanceWindowExecution {
28466	s.WindowExecutionId = &v
28467	return s
28468}
28469
28470// SetWindowId sets the WindowId field's value.
28471func (s *MaintenanceWindowExecution) SetWindowId(v string) *MaintenanceWindowExecution {
28472	s.WindowId = &v
28473	return s
28474}
28475
28476// Information about a task execution performed as part of a maintenance window
28477// execution.
28478type MaintenanceWindowExecutionTaskIdentity struct {
28479	_ struct{} `type:"structure"`
28480
28481	// The time the task execution finished.
28482	EndTime *time.Time `type:"timestamp"`
28483
28484	// The time the task execution started.
28485	StartTime *time.Time `type:"timestamp"`
28486
28487	// The status of the task execution.
28488	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
28489
28490	// The details explaining the status of the task execution. Only available for
28491	// certain status values.
28492	StatusDetails *string `type:"string"`
28493
28494	// The ARN of the task that ran.
28495	TaskArn *string `min:"1" type:"string"`
28496
28497	// The ID of the specific task execution in the maintenance window execution.
28498	TaskExecutionId *string `min:"36" type:"string"`
28499
28500	// The type of task that ran.
28501	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
28502
28503	// The ID of the maintenance window execution that ran the task.
28504	WindowExecutionId *string `min:"36" type:"string"`
28505}
28506
28507// String returns the string representation
28508func (s MaintenanceWindowExecutionTaskIdentity) String() string {
28509	return awsutil.Prettify(s)
28510}
28511
28512// GoString returns the string representation
28513func (s MaintenanceWindowExecutionTaskIdentity) GoString() string {
28514	return s.String()
28515}
28516
28517// SetEndTime sets the EndTime field's value.
28518func (s *MaintenanceWindowExecutionTaskIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
28519	s.EndTime = &v
28520	return s
28521}
28522
28523// SetStartTime sets the StartTime field's value.
28524func (s *MaintenanceWindowExecutionTaskIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
28525	s.StartTime = &v
28526	return s
28527}
28528
28529// SetStatus sets the Status field's value.
28530func (s *MaintenanceWindowExecutionTaskIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskIdentity {
28531	s.Status = &v
28532	return s
28533}
28534
28535// SetStatusDetails sets the StatusDetails field's value.
28536func (s *MaintenanceWindowExecutionTaskIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskIdentity {
28537	s.StatusDetails = &v
28538	return s
28539}
28540
28541// SetTaskArn sets the TaskArn field's value.
28542func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskArn(v string) *MaintenanceWindowExecutionTaskIdentity {
28543	s.TaskArn = &v
28544	return s
28545}
28546
28547// SetTaskExecutionId sets the TaskExecutionId field's value.
28548func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
28549	s.TaskExecutionId = &v
28550	return s
28551}
28552
28553// SetTaskType sets the TaskType field's value.
28554func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskIdentity {
28555	s.TaskType = &v
28556	return s
28557}
28558
28559// SetWindowExecutionId sets the WindowExecutionId field's value.
28560func (s *MaintenanceWindowExecutionTaskIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
28561	s.WindowExecutionId = &v
28562	return s
28563}
28564
28565// Describes the information about a task invocation for a particular target
28566// as part of a task execution performed as part of a maintenance window execution.
28567type MaintenanceWindowExecutionTaskInvocationIdentity struct {
28568	_ struct{} `type:"structure"`
28569
28570	// The time the invocation finished.
28571	EndTime *time.Time `type:"timestamp"`
28572
28573	// The ID of the action performed in the service that actually handled the task
28574	// invocation. If the task type is RUN_COMMAND, this value is the command ID.
28575	ExecutionId *string `type:"string"`
28576
28577	// The ID of the task invocation.
28578	InvocationId *string `min:"36" type:"string"`
28579
28580	// User-provided value that was specified when the target was registered with
28581	// the maintenance window. This was also included in any CloudWatch events raised
28582	// during the task invocation.
28583	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
28584
28585	// The parameters that were provided for the invocation when it was run.
28586	Parameters *string `type:"string" sensitive:"true"`
28587
28588	// The time the invocation started.
28589	StartTime *time.Time `type:"timestamp"`
28590
28591	// The status of the task invocation.
28592	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
28593
28594	// The details explaining the status of the task invocation. Only available
28595	// for certain Status values.
28596	StatusDetails *string `type:"string"`
28597
28598	// The ID of the specific task execution in the maintenance window execution.
28599	TaskExecutionId *string `min:"36" type:"string"`
28600
28601	// The task type.
28602	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
28603
28604	// The ID of the maintenance window execution that ran the task.
28605	WindowExecutionId *string `min:"36" type:"string"`
28606
28607	// The ID of the target definition in this maintenance window the invocation
28608	// was performed for.
28609	WindowTargetId *string `type:"string"`
28610}
28611
28612// String returns the string representation
28613func (s MaintenanceWindowExecutionTaskInvocationIdentity) String() string {
28614	return awsutil.Prettify(s)
28615}
28616
28617// GoString returns the string representation
28618func (s MaintenanceWindowExecutionTaskInvocationIdentity) GoString() string {
28619	return s.String()
28620}
28621
28622// SetEndTime sets the EndTime field's value.
28623func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
28624	s.EndTime = &v
28625	return s
28626}
28627
28628// SetExecutionId sets the ExecutionId field's value.
28629func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28630	s.ExecutionId = &v
28631	return s
28632}
28633
28634// SetInvocationId sets the InvocationId field's value.
28635func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetInvocationId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28636	s.InvocationId = &v
28637	return s
28638}
28639
28640// SetOwnerInformation sets the OwnerInformation field's value.
28641func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetOwnerInformation(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28642	s.OwnerInformation = &v
28643	return s
28644}
28645
28646// SetParameters sets the Parameters field's value.
28647func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetParameters(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28648	s.Parameters = &v
28649	return s
28650}
28651
28652// SetStartTime sets the StartTime field's value.
28653func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
28654	s.StartTime = &v
28655	return s
28656}
28657
28658// SetStatus sets the Status field's value.
28659func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28660	s.Status = &v
28661	return s
28662}
28663
28664// SetStatusDetails sets the StatusDetails field's value.
28665func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28666	s.StatusDetails = &v
28667	return s
28668}
28669
28670// SetTaskExecutionId sets the TaskExecutionId field's value.
28671func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28672	s.TaskExecutionId = &v
28673	return s
28674}
28675
28676// SetTaskType sets the TaskType field's value.
28677func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28678	s.TaskType = &v
28679	return s
28680}
28681
28682// SetWindowExecutionId sets the WindowExecutionId field's value.
28683func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28684	s.WindowExecutionId = &v
28685	return s
28686}
28687
28688// SetWindowTargetId sets the WindowTargetId field's value.
28689func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowTargetId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
28690	s.WindowTargetId = &v
28691	return s
28692}
28693
28694// Filter used in the request. Supported filter keys are Name and Enabled.
28695type MaintenanceWindowFilter struct {
28696	_ struct{} `type:"structure"`
28697
28698	// The name of the filter.
28699	Key *string `min:"1" type:"string"`
28700
28701	// The filter values.
28702	Values []*string `type:"list"`
28703}
28704
28705// String returns the string representation
28706func (s MaintenanceWindowFilter) String() string {
28707	return awsutil.Prettify(s)
28708}
28709
28710// GoString returns the string representation
28711func (s MaintenanceWindowFilter) GoString() string {
28712	return s.String()
28713}
28714
28715// Validate inspects the fields of the type to determine if they are valid.
28716func (s *MaintenanceWindowFilter) Validate() error {
28717	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowFilter"}
28718	if s.Key != nil && len(*s.Key) < 1 {
28719		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
28720	}
28721
28722	if invalidParams.Len() > 0 {
28723		return invalidParams
28724	}
28725	return nil
28726}
28727
28728// SetKey sets the Key field's value.
28729func (s *MaintenanceWindowFilter) SetKey(v string) *MaintenanceWindowFilter {
28730	s.Key = &v
28731	return s
28732}
28733
28734// SetValues sets the Values field's value.
28735func (s *MaintenanceWindowFilter) SetValues(v []*string) *MaintenanceWindowFilter {
28736	s.Values = v
28737	return s
28738}
28739
28740// Information about the maintenance window.
28741type MaintenanceWindowIdentity struct {
28742	_ struct{} `type:"structure"`
28743
28744	// The number of hours before the end of the maintenance window that Systems
28745	// Manager stops scheduling new tasks for execution.
28746	Cutoff *int64 `type:"integer"`
28747
28748	// A description of the maintenance window.
28749	Description *string `min:"1" type:"string" sensitive:"true"`
28750
28751	// The duration of the maintenance window in hours.
28752	Duration *int64 `min:"1" type:"integer"`
28753
28754	// Indicates whether the maintenance window is enabled.
28755	Enabled *bool `type:"boolean"`
28756
28757	// The date and time, in ISO-8601 Extended format, for when the maintenance
28758	// window is scheduled to become inactive.
28759	EndDate *string `type:"string"`
28760
28761	// The name of the maintenance window.
28762	Name *string `min:"3" type:"string"`
28763
28764	// The next time the maintenance window will actually run, taking into account
28765	// any specified times for the maintenance window to become active or inactive.
28766	NextExecutionTime *string `type:"string"`
28767
28768	// The schedule of the maintenance window in the form of a cron or rate expression.
28769	Schedule *string `min:"1" type:"string"`
28770
28771	// The time zone that the scheduled maintenance window executions are based
28772	// on, in Internet Assigned Numbers Authority (IANA) format.
28773	ScheduleTimezone *string `type:"string"`
28774
28775	// The date and time, in ISO-8601 Extended format, for when the maintenance
28776	// window is scheduled to become active.
28777	StartDate *string `type:"string"`
28778
28779	// The ID of the maintenance window.
28780	WindowId *string `min:"20" type:"string"`
28781}
28782
28783// String returns the string representation
28784func (s MaintenanceWindowIdentity) String() string {
28785	return awsutil.Prettify(s)
28786}
28787
28788// GoString returns the string representation
28789func (s MaintenanceWindowIdentity) GoString() string {
28790	return s.String()
28791}
28792
28793// SetCutoff sets the Cutoff field's value.
28794func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentity {
28795	s.Cutoff = &v
28796	return s
28797}
28798
28799// SetDescription sets the Description field's value.
28800func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity {
28801	s.Description = &v
28802	return s
28803}
28804
28805// SetDuration sets the Duration field's value.
28806func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity {
28807	s.Duration = &v
28808	return s
28809}
28810
28811// SetEnabled sets the Enabled field's value.
28812func (s *MaintenanceWindowIdentity) SetEnabled(v bool) *MaintenanceWindowIdentity {
28813	s.Enabled = &v
28814	return s
28815}
28816
28817// SetEndDate sets the EndDate field's value.
28818func (s *MaintenanceWindowIdentity) SetEndDate(v string) *MaintenanceWindowIdentity {
28819	s.EndDate = &v
28820	return s
28821}
28822
28823// SetName sets the Name field's value.
28824func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity {
28825	s.Name = &v
28826	return s
28827}
28828
28829// SetNextExecutionTime sets the NextExecutionTime field's value.
28830func (s *MaintenanceWindowIdentity) SetNextExecutionTime(v string) *MaintenanceWindowIdentity {
28831	s.NextExecutionTime = &v
28832	return s
28833}
28834
28835// SetSchedule sets the Schedule field's value.
28836func (s *MaintenanceWindowIdentity) SetSchedule(v string) *MaintenanceWindowIdentity {
28837	s.Schedule = &v
28838	return s
28839}
28840
28841// SetScheduleTimezone sets the ScheduleTimezone field's value.
28842func (s *MaintenanceWindowIdentity) SetScheduleTimezone(v string) *MaintenanceWindowIdentity {
28843	s.ScheduleTimezone = &v
28844	return s
28845}
28846
28847// SetStartDate sets the StartDate field's value.
28848func (s *MaintenanceWindowIdentity) SetStartDate(v string) *MaintenanceWindowIdentity {
28849	s.StartDate = &v
28850	return s
28851}
28852
28853// SetWindowId sets the WindowId field's value.
28854func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity {
28855	s.WindowId = &v
28856	return s
28857}
28858
28859// The maintenance window to which the specified target belongs.
28860type MaintenanceWindowIdentityForTarget struct {
28861	_ struct{} `type:"structure"`
28862
28863	// The name of the maintenance window.
28864	Name *string `min:"3" type:"string"`
28865
28866	// The ID of the maintenance window.
28867	WindowId *string `min:"20" type:"string"`
28868}
28869
28870// String returns the string representation
28871func (s MaintenanceWindowIdentityForTarget) String() string {
28872	return awsutil.Prettify(s)
28873}
28874
28875// GoString returns the string representation
28876func (s MaintenanceWindowIdentityForTarget) GoString() string {
28877	return s.String()
28878}
28879
28880// SetName sets the Name field's value.
28881func (s *MaintenanceWindowIdentityForTarget) SetName(v string) *MaintenanceWindowIdentityForTarget {
28882	s.Name = &v
28883	return s
28884}
28885
28886// SetWindowId sets the WindowId field's value.
28887func (s *MaintenanceWindowIdentityForTarget) SetWindowId(v string) *MaintenanceWindowIdentityForTarget {
28888	s.WindowId = &v
28889	return s
28890}
28891
28892// The parameters for a LAMBDA task type.
28893//
28894// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28895// and UpdateMaintenanceWindowTask.
28896//
28897// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28898// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28899// structure. For information about how Systems Manager handles these options
28900// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28901//
28902// TaskParameters has been deprecated. To specify parameters to pass to a task
28903// when it runs, instead use the Parameters option in the TaskInvocationParameters
28904// structure. For information about how Systems Manager handles these options
28905// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28906//
28907// For Lambda tasks, Systems Manager ignores any values specified for TaskParameters
28908// and LoggingInfo.
28909type MaintenanceWindowLambdaParameters struct {
28910	_ struct{} `type:"structure"`
28911
28912	// Pass client-specific information to the Lambda function that you are invoking.
28913	// You can then process the client information in your Lambda function as you
28914	// choose through the context variable.
28915	ClientContext *string `min:"1" type:"string"`
28916
28917	// JSON to provide to your Lambda function as input.
28918	//
28919	// Payload is automatically base64 encoded/decoded by the SDK.
28920	Payload []byte `type:"blob" sensitive:"true"`
28921
28922	// (Optional) Specify a Lambda function version or alias name. If you specify
28923	// a function version, the action uses the qualified function ARN to invoke
28924	// a specific Lambda function. If you specify an alias name, the action uses
28925	// the alias ARN to invoke the Lambda function version to which the alias points.
28926	Qualifier *string `min:"1" type:"string"`
28927}
28928
28929// String returns the string representation
28930func (s MaintenanceWindowLambdaParameters) String() string {
28931	return awsutil.Prettify(s)
28932}
28933
28934// GoString returns the string representation
28935func (s MaintenanceWindowLambdaParameters) GoString() string {
28936	return s.String()
28937}
28938
28939// Validate inspects the fields of the type to determine if they are valid.
28940func (s *MaintenanceWindowLambdaParameters) Validate() error {
28941	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"}
28942	if s.ClientContext != nil && len(*s.ClientContext) < 1 {
28943		invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1))
28944	}
28945	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
28946		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
28947	}
28948
28949	if invalidParams.Len() > 0 {
28950		return invalidParams
28951	}
28952	return nil
28953}
28954
28955// SetClientContext sets the ClientContext field's value.
28956func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters {
28957	s.ClientContext = &v
28958	return s
28959}
28960
28961// SetPayload sets the Payload field's value.
28962func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters {
28963	s.Payload = v
28964	return s
28965}
28966
28967// SetQualifier sets the Qualifier field's value.
28968func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters {
28969	s.Qualifier = &v
28970	return s
28971}
28972
28973// The parameters for a RUN_COMMAND task type.
28974//
28975// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
28976// and UpdateMaintenanceWindowTask.
28977//
28978// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
28979// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
28980// structure. For information about how Systems Manager handles these options
28981// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28982//
28983// TaskParameters has been deprecated. To specify parameters to pass to a task
28984// when it runs, instead use the Parameters option in the TaskInvocationParameters
28985// structure. For information about how Systems Manager handles these options
28986// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
28987//
28988// For Run Command tasks, Systems Manager uses specified values for TaskParameters
28989// and LoggingInfo only if no values are specified for TaskInvocationParameters.
28990type MaintenanceWindowRunCommandParameters struct {
28991	_ struct{} `type:"structure"`
28992
28993	// Information about the commands to run.
28994	Comment *string `type:"string"`
28995
28996	// The SHA-256 or SHA-1 hash created by the system when the document was created.
28997	// SHA-1 hashes have been deprecated.
28998	DocumentHash *string `type:"string"`
28999
29000	// SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
29001	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
29002
29003	// Configurations for sending notifications about command status changes on
29004	// a per-instance basis.
29005	NotificationConfig *NotificationConfig `type:"structure"`
29006
29007	// The name of the Amazon S3 bucket.
29008	OutputS3BucketName *string `min:"3" type:"string"`
29009
29010	// The Amazon S3 bucket subfolder.
29011	OutputS3KeyPrefix *string `type:"string"`
29012
29013	// The parameters for the RUN_COMMAND task execution.
29014	Parameters map[string][]*string `type:"map"`
29015
29016	// The ARN of the IAM service role to use to publish Amazon Simple Notification
29017	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
29018	ServiceRoleArn *string `type:"string"`
29019
29020	// If this time is reached and the command has not already started running,
29021	// it doesn't run.
29022	TimeoutSeconds *int64 `min:"30" type:"integer"`
29023}
29024
29025// String returns the string representation
29026func (s MaintenanceWindowRunCommandParameters) String() string {
29027	return awsutil.Prettify(s)
29028}
29029
29030// GoString returns the string representation
29031func (s MaintenanceWindowRunCommandParameters) GoString() string {
29032	return s.String()
29033}
29034
29035// Validate inspects the fields of the type to determine if they are valid.
29036func (s *MaintenanceWindowRunCommandParameters) Validate() error {
29037	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"}
29038	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
29039		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
29040	}
29041	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
29042		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
29043	}
29044
29045	if invalidParams.Len() > 0 {
29046		return invalidParams
29047	}
29048	return nil
29049}
29050
29051// SetComment sets the Comment field's value.
29052func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters {
29053	s.Comment = &v
29054	return s
29055}
29056
29057// SetDocumentHash sets the DocumentHash field's value.
29058func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters {
29059	s.DocumentHash = &v
29060	return s
29061}
29062
29063// SetDocumentHashType sets the DocumentHashType field's value.
29064func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters {
29065	s.DocumentHashType = &v
29066	return s
29067}
29068
29069// SetNotificationConfig sets the NotificationConfig field's value.
29070func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters {
29071	s.NotificationConfig = v
29072	return s
29073}
29074
29075// SetOutputS3BucketName sets the OutputS3BucketName field's value.
29076func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters {
29077	s.OutputS3BucketName = &v
29078	return s
29079}
29080
29081// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
29082func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters {
29083	s.OutputS3KeyPrefix = &v
29084	return s
29085}
29086
29087// SetParameters sets the Parameters field's value.
29088func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters {
29089	s.Parameters = v
29090	return s
29091}
29092
29093// SetServiceRoleArn sets the ServiceRoleArn field's value.
29094func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters {
29095	s.ServiceRoleArn = &v
29096	return s
29097}
29098
29099// SetTimeoutSeconds sets the TimeoutSeconds field's value.
29100func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters {
29101	s.TimeoutSeconds = &v
29102	return s
29103}
29104
29105// The parameters for a STEP_FUNCTIONS task.
29106//
29107// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
29108// and UpdateMaintenanceWindowTask.
29109//
29110// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
29111// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
29112// structure. For information about how Systems Manager handles these options
29113// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
29114//
29115// TaskParameters has been deprecated. To specify parameters to pass to a task
29116// when it runs, instead use the Parameters option in the TaskInvocationParameters
29117// structure. For information about how Systems Manager handles these options
29118// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
29119//
29120// For Step Functions tasks, Systems Manager ignores any values specified for
29121// TaskParameters and LoggingInfo.
29122type MaintenanceWindowStepFunctionsParameters struct {
29123	_ struct{} `type:"structure"`
29124
29125	// The inputs for the STEP_FUNCTIONS task.
29126	Input *string `type:"string" sensitive:"true"`
29127
29128	// The name of the STEP_FUNCTIONS task.
29129	Name *string `min:"1" type:"string"`
29130}
29131
29132// String returns the string representation
29133func (s MaintenanceWindowStepFunctionsParameters) String() string {
29134	return awsutil.Prettify(s)
29135}
29136
29137// GoString returns the string representation
29138func (s MaintenanceWindowStepFunctionsParameters) GoString() string {
29139	return s.String()
29140}
29141
29142// Validate inspects the fields of the type to determine if they are valid.
29143func (s *MaintenanceWindowStepFunctionsParameters) Validate() error {
29144	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"}
29145	if s.Name != nil && len(*s.Name) < 1 {
29146		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
29147	}
29148
29149	if invalidParams.Len() > 0 {
29150		return invalidParams
29151	}
29152	return nil
29153}
29154
29155// SetInput sets the Input field's value.
29156func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters {
29157	s.Input = &v
29158	return s
29159}
29160
29161// SetName sets the Name field's value.
29162func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters {
29163	s.Name = &v
29164	return s
29165}
29166
29167// The target registered with the maintenance window.
29168type MaintenanceWindowTarget struct {
29169	_ struct{} `type:"structure"`
29170
29171	// A description for the target.
29172	Description *string `min:"1" type:"string" sensitive:"true"`
29173
29174	// The name for the maintenance window target.
29175	Name *string `min:"3" type:"string"`
29176
29177	// A user-provided value that will be included in any CloudWatch events that
29178	// are raised while running tasks for these targets in this maintenance window.
29179	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
29180
29181	// The type of target that is being registered with the maintenance window.
29182	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
29183
29184	// The targets, either instances or tags.
29185	//
29186	// Specify instances using the following format:
29187	//
29188	// Key=instanceids,Values=<instanceid1>,<instanceid2>
29189	//
29190	// Tags are specified using the following format:
29191	//
29192	// Key=<tag name>,Values=<tag value>.
29193	Targets []*Target `type:"list"`
29194
29195	// The ID of the maintenance window to register the target with.
29196	WindowId *string `min:"20" type:"string"`
29197
29198	// The ID of the target.
29199	WindowTargetId *string `min:"36" type:"string"`
29200}
29201
29202// String returns the string representation
29203func (s MaintenanceWindowTarget) String() string {
29204	return awsutil.Prettify(s)
29205}
29206
29207// GoString returns the string representation
29208func (s MaintenanceWindowTarget) GoString() string {
29209	return s.String()
29210}
29211
29212// SetDescription sets the Description field's value.
29213func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget {
29214	s.Description = &v
29215	return s
29216}
29217
29218// SetName sets the Name field's value.
29219func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget {
29220	s.Name = &v
29221	return s
29222}
29223
29224// SetOwnerInformation sets the OwnerInformation field's value.
29225func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget {
29226	s.OwnerInformation = &v
29227	return s
29228}
29229
29230// SetResourceType sets the ResourceType field's value.
29231func (s *MaintenanceWindowTarget) SetResourceType(v string) *MaintenanceWindowTarget {
29232	s.ResourceType = &v
29233	return s
29234}
29235
29236// SetTargets sets the Targets field's value.
29237func (s *MaintenanceWindowTarget) SetTargets(v []*Target) *MaintenanceWindowTarget {
29238	s.Targets = v
29239	return s
29240}
29241
29242// SetWindowId sets the WindowId field's value.
29243func (s *MaintenanceWindowTarget) SetWindowId(v string) *MaintenanceWindowTarget {
29244	s.WindowId = &v
29245	return s
29246}
29247
29248// SetWindowTargetId sets the WindowTargetId field's value.
29249func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindowTarget {
29250	s.WindowTargetId = &v
29251	return s
29252}
29253
29254// Information about a task defined for a maintenance window.
29255type MaintenanceWindowTask struct {
29256	_ struct{} `type:"structure"`
29257
29258	// A description of the task.
29259	Description *string `min:"1" type:"string" sensitive:"true"`
29260
29261	// Information about an Amazon S3 bucket to write task-level logs to.
29262	//
29263	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
29264	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
29265	// structure. For information about how Systems Manager handles these options
29266	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
29267	LoggingInfo *LoggingInfo `type:"structure"`
29268
29269	// The maximum number of targets this task can be run for, in parallel.
29270	MaxConcurrency *string `min:"1" type:"string"`
29271
29272	// The maximum number of errors allowed before this task stops being scheduled.
29273	MaxErrors *string `min:"1" type:"string"`
29274
29275	// The task name.
29276	Name *string `min:"3" type:"string"`
29277
29278	// The priority of the task in the maintenance window. The lower the number,
29279	// the higher the priority. Tasks that have the same priority are scheduled
29280	// in parallel.
29281	Priority *int64 `type:"integer"`
29282
29283	// The ARN of the IAM service role to use to publish Amazon Simple Notification
29284	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
29285	ServiceRoleArn *string `type:"string"`
29286
29287	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
29288	// Tags are specified using Key=<tag name>,Values=<tag value>.
29289	Targets []*Target `type:"list"`
29290
29291	// The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION
29292	// task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA
29293	// tasks, it's the function name or ARN. For STEP_FUNCTIONS tasks, it's the
29294	// state machine ARN.
29295	TaskArn *string `min:"1" type:"string"`
29296
29297	// The parameters that should be passed to the task when it is run.
29298	//
29299	// TaskParameters has been deprecated. To specify parameters to pass to a task
29300	// when it runs, instead use the Parameters option in the TaskInvocationParameters
29301	// structure. For information about how Systems Manager handles these options
29302	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
29303	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
29304
29305	// The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION,
29306	// LAMBDA, or STEP_FUNCTIONS.
29307	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
29308
29309	// The ID of the maintenance window where the task is registered.
29310	WindowId *string `min:"20" type:"string"`
29311
29312	// The task ID.
29313	WindowTaskId *string `min:"36" type:"string"`
29314}
29315
29316// String returns the string representation
29317func (s MaintenanceWindowTask) String() string {
29318	return awsutil.Prettify(s)
29319}
29320
29321// GoString returns the string representation
29322func (s MaintenanceWindowTask) GoString() string {
29323	return s.String()
29324}
29325
29326// SetDescription sets the Description field's value.
29327func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask {
29328	s.Description = &v
29329	return s
29330}
29331
29332// SetLoggingInfo sets the LoggingInfo field's value.
29333func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask {
29334	s.LoggingInfo = v
29335	return s
29336}
29337
29338// SetMaxConcurrency sets the MaxConcurrency field's value.
29339func (s *MaintenanceWindowTask) SetMaxConcurrency(v string) *MaintenanceWindowTask {
29340	s.MaxConcurrency = &v
29341	return s
29342}
29343
29344// SetMaxErrors sets the MaxErrors field's value.
29345func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask {
29346	s.MaxErrors = &v
29347	return s
29348}
29349
29350// SetName sets the Name field's value.
29351func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask {
29352	s.Name = &v
29353	return s
29354}
29355
29356// SetPriority sets the Priority field's value.
29357func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask {
29358	s.Priority = &v
29359	return s
29360}
29361
29362// SetServiceRoleArn sets the ServiceRoleArn field's value.
29363func (s *MaintenanceWindowTask) SetServiceRoleArn(v string) *MaintenanceWindowTask {
29364	s.ServiceRoleArn = &v
29365	return s
29366}
29367
29368// SetTargets sets the Targets field's value.
29369func (s *MaintenanceWindowTask) SetTargets(v []*Target) *MaintenanceWindowTask {
29370	s.Targets = v
29371	return s
29372}
29373
29374// SetTaskArn sets the TaskArn field's value.
29375func (s *MaintenanceWindowTask) SetTaskArn(v string) *MaintenanceWindowTask {
29376	s.TaskArn = &v
29377	return s
29378}
29379
29380// SetTaskParameters sets the TaskParameters field's value.
29381func (s *MaintenanceWindowTask) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *MaintenanceWindowTask {
29382	s.TaskParameters = v
29383	return s
29384}
29385
29386// SetType sets the Type field's value.
29387func (s *MaintenanceWindowTask) SetType(v string) *MaintenanceWindowTask {
29388	s.Type = &v
29389	return s
29390}
29391
29392// SetWindowId sets the WindowId field's value.
29393func (s *MaintenanceWindowTask) SetWindowId(v string) *MaintenanceWindowTask {
29394	s.WindowId = &v
29395	return s
29396}
29397
29398// SetWindowTaskId sets the WindowTaskId field's value.
29399func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask {
29400	s.WindowTaskId = &v
29401	return s
29402}
29403
29404// The parameters for task execution.
29405type MaintenanceWindowTaskInvocationParameters struct {
29406	_ struct{} `type:"structure"`
29407
29408	// The parameters for an AUTOMATION task type.
29409	Automation *MaintenanceWindowAutomationParameters `type:"structure"`
29410
29411	// The parameters for a LAMBDA task type.
29412	Lambda *MaintenanceWindowLambdaParameters `type:"structure"`
29413
29414	// The parameters for a RUN_COMMAND task type.
29415	RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"`
29416
29417	// The parameters for a STEP_FUNCTIONS task type.
29418	StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"`
29419}
29420
29421// String returns the string representation
29422func (s MaintenanceWindowTaskInvocationParameters) String() string {
29423	return awsutil.Prettify(s)
29424}
29425
29426// GoString returns the string representation
29427func (s MaintenanceWindowTaskInvocationParameters) GoString() string {
29428	return s.String()
29429}
29430
29431// Validate inspects the fields of the type to determine if they are valid.
29432func (s *MaintenanceWindowTaskInvocationParameters) Validate() error {
29433	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"}
29434	if s.Automation != nil {
29435		if err := s.Automation.Validate(); err != nil {
29436			invalidParams.AddNested("Automation", err.(request.ErrInvalidParams))
29437		}
29438	}
29439	if s.Lambda != nil {
29440		if err := s.Lambda.Validate(); err != nil {
29441			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
29442		}
29443	}
29444	if s.RunCommand != nil {
29445		if err := s.RunCommand.Validate(); err != nil {
29446			invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams))
29447		}
29448	}
29449	if s.StepFunctions != nil {
29450		if err := s.StepFunctions.Validate(); err != nil {
29451			invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams))
29452		}
29453	}
29454
29455	if invalidParams.Len() > 0 {
29456		return invalidParams
29457	}
29458	return nil
29459}
29460
29461// SetAutomation sets the Automation field's value.
29462func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters {
29463	s.Automation = v
29464	return s
29465}
29466
29467// SetLambda sets the Lambda field's value.
29468func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters {
29469	s.Lambda = v
29470	return s
29471}
29472
29473// SetRunCommand sets the RunCommand field's value.
29474func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters {
29475	s.RunCommand = v
29476	return s
29477}
29478
29479// SetStepFunctions sets the StepFunctions field's value.
29480func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters {
29481	s.StepFunctions = v
29482	return s
29483}
29484
29485// Defines the values for a task parameter.
29486type MaintenanceWindowTaskParameterValueExpression struct {
29487	_ struct{} `type:"structure" sensitive:"true"`
29488
29489	// This field contains an array of 0 or more strings, each 1 to 255 characters
29490	// in length.
29491	Values []*string `type:"list" sensitive:"true"`
29492}
29493
29494// String returns the string representation
29495func (s MaintenanceWindowTaskParameterValueExpression) String() string {
29496	return awsutil.Prettify(s)
29497}
29498
29499// GoString returns the string representation
29500func (s MaintenanceWindowTaskParameterValueExpression) GoString() string {
29501	return s.String()
29502}
29503
29504// SetValues sets the Values field's value.
29505func (s *MaintenanceWindowTaskParameterValueExpression) SetValues(v []*string) *MaintenanceWindowTaskParameterValueExpression {
29506	s.Values = v
29507	return s
29508}
29509
29510type ModifyDocumentPermissionInput struct {
29511	_ struct{} `type:"structure"`
29512
29513	// The AWS user accounts that should have access to the document. The account
29514	// IDs can either be a group of account IDs or All.
29515	AccountIdsToAdd []*string `type:"list"`
29516
29517	// The AWS user accounts that should no longer have access to the document.
29518	// The AWS user account can either be a group of account IDs or All. This action
29519	// has a higher priority than AccountIdsToAdd. If you specify an account ID
29520	// to add and the same ID to remove, the system removes access to the document.
29521	AccountIdsToRemove []*string `type:"list"`
29522
29523	// The name of the document that you want to share.
29524	//
29525	// Name is a required field
29526	Name *string `type:"string" required:"true"`
29527
29528	// The permission type for the document. The permission type can be Share.
29529	//
29530	// PermissionType is a required field
29531	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
29532
29533	// (Optional) The version of the document to share. If it's not specified, the
29534	// system choose the Default version to share.
29535	SharedDocumentVersion *string `type:"string"`
29536}
29537
29538// String returns the string representation
29539func (s ModifyDocumentPermissionInput) String() string {
29540	return awsutil.Prettify(s)
29541}
29542
29543// GoString returns the string representation
29544func (s ModifyDocumentPermissionInput) GoString() string {
29545	return s.String()
29546}
29547
29548// Validate inspects the fields of the type to determine if they are valid.
29549func (s *ModifyDocumentPermissionInput) Validate() error {
29550	invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"}
29551	if s.Name == nil {
29552		invalidParams.Add(request.NewErrParamRequired("Name"))
29553	}
29554	if s.PermissionType == nil {
29555		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
29556	}
29557
29558	if invalidParams.Len() > 0 {
29559		return invalidParams
29560	}
29561	return nil
29562}
29563
29564// SetAccountIdsToAdd sets the AccountIdsToAdd field's value.
29565func (s *ModifyDocumentPermissionInput) SetAccountIdsToAdd(v []*string) *ModifyDocumentPermissionInput {
29566	s.AccountIdsToAdd = v
29567	return s
29568}
29569
29570// SetAccountIdsToRemove sets the AccountIdsToRemove field's value.
29571func (s *ModifyDocumentPermissionInput) SetAccountIdsToRemove(v []*string) *ModifyDocumentPermissionInput {
29572	s.AccountIdsToRemove = v
29573	return s
29574}
29575
29576// SetName sets the Name field's value.
29577func (s *ModifyDocumentPermissionInput) SetName(v string) *ModifyDocumentPermissionInput {
29578	s.Name = &v
29579	return s
29580}
29581
29582// SetPermissionType sets the PermissionType field's value.
29583func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocumentPermissionInput {
29584	s.PermissionType = &v
29585	return s
29586}
29587
29588// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
29589func (s *ModifyDocumentPermissionInput) SetSharedDocumentVersion(v string) *ModifyDocumentPermissionInput {
29590	s.SharedDocumentVersion = &v
29591	return s
29592}
29593
29594type ModifyDocumentPermissionOutput struct {
29595	_ struct{} `type:"structure"`
29596}
29597
29598// String returns the string representation
29599func (s ModifyDocumentPermissionOutput) String() string {
29600	return awsutil.Prettify(s)
29601}
29602
29603// GoString returns the string representation
29604func (s ModifyDocumentPermissionOutput) GoString() string {
29605	return s.String()
29606}
29607
29608// A summary of resources that are not compliant. The summary is organized according
29609// to resource type.
29610type NonCompliantSummary struct {
29611	_ struct{} `type:"structure"`
29612
29613	// The total number of compliance items that are not compliant.
29614	NonCompliantCount *int64 `type:"integer"`
29615
29616	// A summary of the non-compliance severity by compliance type
29617	SeveritySummary *SeveritySummary `type:"structure"`
29618}
29619
29620// String returns the string representation
29621func (s NonCompliantSummary) String() string {
29622	return awsutil.Prettify(s)
29623}
29624
29625// GoString returns the string representation
29626func (s NonCompliantSummary) GoString() string {
29627	return s.String()
29628}
29629
29630// SetNonCompliantCount sets the NonCompliantCount field's value.
29631func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary {
29632	s.NonCompliantCount = &v
29633	return s
29634}
29635
29636// SetSeveritySummary sets the SeveritySummary field's value.
29637func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary {
29638	s.SeveritySummary = v
29639	return s
29640}
29641
29642// Configurations for sending notifications.
29643type NotificationConfig struct {
29644	_ struct{} `type:"structure"`
29645
29646	// An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon
29647	// SNS) topic. Run Command pushes notifications about command status changes
29648	// to this topic.
29649	NotificationArn *string `type:"string"`
29650
29651	// The different events for which you can receive notifications. These events
29652	// include the following: All (events), InProgress, Success, TimedOut, Cancelled,
29653	// Failed. To learn more about these events, see Configuring Amazon SNS Notifications
29654	// for AWS Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html)
29655	// in the AWS Systems Manager User Guide.
29656	NotificationEvents []*string `type:"list"`
29657
29658	// Command: Receive notification when the status of a command changes. Invocation:
29659	// For commands sent to multiple instances, receive notification on a per-instance
29660	// basis when the status of a command changes.
29661	NotificationType *string `type:"string" enum:"NotificationType"`
29662}
29663
29664// String returns the string representation
29665func (s NotificationConfig) String() string {
29666	return awsutil.Prettify(s)
29667}
29668
29669// GoString returns the string representation
29670func (s NotificationConfig) GoString() string {
29671	return s.String()
29672}
29673
29674// SetNotificationArn sets the NotificationArn field's value.
29675func (s *NotificationConfig) SetNotificationArn(v string) *NotificationConfig {
29676	s.NotificationArn = &v
29677	return s
29678}
29679
29680// SetNotificationEvents sets the NotificationEvents field's value.
29681func (s *NotificationConfig) SetNotificationEvents(v []*string) *NotificationConfig {
29682	s.NotificationEvents = v
29683	return s
29684}
29685
29686// SetNotificationType sets the NotificationType field's value.
29687func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig {
29688	s.NotificationType = &v
29689	return s
29690}
29691
29692// One or more aggregators for viewing counts of OpsItems using different dimensions
29693// such as Source, CreatedTime, or Source and CreatedTime, to name a few.
29694type OpsAggregator struct {
29695	_ struct{} `type:"structure"`
29696
29697	// Either a Range or Count aggregator for limiting an OpsItem summary.
29698	AggregatorType *string `min:"1" type:"string"`
29699
29700	// A nested aggregator for viewing counts of OpsItems.
29701	Aggregators []*OpsAggregator `min:"1" type:"list"`
29702
29703	// The name of an OpsItem attribute on which to limit the count of OpsItems.
29704	AttributeName *string `type:"string"`
29705
29706	// The aggregator filters.
29707	Filters []*OpsFilter `min:"1" type:"list"`
29708
29709	// The data type name to use for viewing counts of OpsItems.
29710	TypeName *string `min:"1" type:"string"`
29711
29712	// The aggregator value.
29713	Values map[string]*string `type:"map"`
29714}
29715
29716// String returns the string representation
29717func (s OpsAggregator) String() string {
29718	return awsutil.Prettify(s)
29719}
29720
29721// GoString returns the string representation
29722func (s OpsAggregator) GoString() string {
29723	return s.String()
29724}
29725
29726// Validate inspects the fields of the type to determine if they are valid.
29727func (s *OpsAggregator) Validate() error {
29728	invalidParams := request.ErrInvalidParams{Context: "OpsAggregator"}
29729	if s.AggregatorType != nil && len(*s.AggregatorType) < 1 {
29730		invalidParams.Add(request.NewErrParamMinLen("AggregatorType", 1))
29731	}
29732	if s.Aggregators != nil && len(s.Aggregators) < 1 {
29733		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
29734	}
29735	if s.Filters != nil && len(s.Filters) < 1 {
29736		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
29737	}
29738	if s.TypeName != nil && len(*s.TypeName) < 1 {
29739		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
29740	}
29741	if s.Aggregators != nil {
29742		for i, v := range s.Aggregators {
29743			if v == nil {
29744				continue
29745			}
29746			if err := v.Validate(); err != nil {
29747				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
29748			}
29749		}
29750	}
29751	if s.Filters != nil {
29752		for i, v := range s.Filters {
29753			if v == nil {
29754				continue
29755			}
29756			if err := v.Validate(); err != nil {
29757				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29758			}
29759		}
29760	}
29761
29762	if invalidParams.Len() > 0 {
29763		return invalidParams
29764	}
29765	return nil
29766}
29767
29768// SetAggregatorType sets the AggregatorType field's value.
29769func (s *OpsAggregator) SetAggregatorType(v string) *OpsAggregator {
29770	s.AggregatorType = &v
29771	return s
29772}
29773
29774// SetAggregators sets the Aggregators field's value.
29775func (s *OpsAggregator) SetAggregators(v []*OpsAggregator) *OpsAggregator {
29776	s.Aggregators = v
29777	return s
29778}
29779
29780// SetAttributeName sets the AttributeName field's value.
29781func (s *OpsAggregator) SetAttributeName(v string) *OpsAggregator {
29782	s.AttributeName = &v
29783	return s
29784}
29785
29786// SetFilters sets the Filters field's value.
29787func (s *OpsAggregator) SetFilters(v []*OpsFilter) *OpsAggregator {
29788	s.Filters = v
29789	return s
29790}
29791
29792// SetTypeName sets the TypeName field's value.
29793func (s *OpsAggregator) SetTypeName(v string) *OpsAggregator {
29794	s.TypeName = &v
29795	return s
29796}
29797
29798// SetValues sets the Values field's value.
29799func (s *OpsAggregator) SetValues(v map[string]*string) *OpsAggregator {
29800	s.Values = v
29801	return s
29802}
29803
29804// The result of the query.
29805type OpsEntity struct {
29806	_ struct{} `type:"structure"`
29807
29808	// The data returned by the query.
29809	Data map[string]*OpsEntityItem `type:"map"`
29810
29811	// The query ID.
29812	Id *string `type:"string"`
29813}
29814
29815// String returns the string representation
29816func (s OpsEntity) String() string {
29817	return awsutil.Prettify(s)
29818}
29819
29820// GoString returns the string representation
29821func (s OpsEntity) GoString() string {
29822	return s.String()
29823}
29824
29825// SetData sets the Data field's value.
29826func (s *OpsEntity) SetData(v map[string]*OpsEntityItem) *OpsEntity {
29827	s.Data = v
29828	return s
29829}
29830
29831// SetId sets the Id field's value.
29832func (s *OpsEntity) SetId(v string) *OpsEntity {
29833	s.Id = &v
29834	return s
29835}
29836
29837// The OpsItem summaries result item.
29838type OpsEntityItem struct {
29839	_ struct{} `type:"structure"`
29840
29841	// The time OpsItem data was captured.
29842	CaptureTime *string `type:"string"`
29843
29844	// The detailed data content for an OpsItem summaries result item.
29845	Content []map[string]*string `type:"list"`
29846}
29847
29848// String returns the string representation
29849func (s OpsEntityItem) String() string {
29850	return awsutil.Prettify(s)
29851}
29852
29853// GoString returns the string representation
29854func (s OpsEntityItem) GoString() string {
29855	return s.String()
29856}
29857
29858// SetCaptureTime sets the CaptureTime field's value.
29859func (s *OpsEntityItem) SetCaptureTime(v string) *OpsEntityItem {
29860	s.CaptureTime = &v
29861	return s
29862}
29863
29864// SetContent sets the Content field's value.
29865func (s *OpsEntityItem) SetContent(v []map[string]*string) *OpsEntityItem {
29866	s.Content = v
29867	return s
29868}
29869
29870// A filter for viewing OpsItem summaries.
29871type OpsFilter struct {
29872	_ struct{} `type:"structure"`
29873
29874	// The name of the filter.
29875	//
29876	// Key is a required field
29877	Key *string `min:"1" type:"string" required:"true"`
29878
29879	// The type of filter.
29880	Type *string `type:"string" enum:"OpsFilterOperatorType"`
29881
29882	// The filter value.
29883	//
29884	// Values is a required field
29885	Values []*string `min:"1" type:"list" required:"true"`
29886}
29887
29888// String returns the string representation
29889func (s OpsFilter) String() string {
29890	return awsutil.Prettify(s)
29891}
29892
29893// GoString returns the string representation
29894func (s OpsFilter) GoString() string {
29895	return s.String()
29896}
29897
29898// Validate inspects the fields of the type to determine if they are valid.
29899func (s *OpsFilter) Validate() error {
29900	invalidParams := request.ErrInvalidParams{Context: "OpsFilter"}
29901	if s.Key == nil {
29902		invalidParams.Add(request.NewErrParamRequired("Key"))
29903	}
29904	if s.Key != nil && len(*s.Key) < 1 {
29905		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
29906	}
29907	if s.Values == nil {
29908		invalidParams.Add(request.NewErrParamRequired("Values"))
29909	}
29910	if s.Values != nil && len(s.Values) < 1 {
29911		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
29912	}
29913
29914	if invalidParams.Len() > 0 {
29915		return invalidParams
29916	}
29917	return nil
29918}
29919
29920// SetKey sets the Key field's value.
29921func (s *OpsFilter) SetKey(v string) *OpsFilter {
29922	s.Key = &v
29923	return s
29924}
29925
29926// SetType sets the Type field's value.
29927func (s *OpsFilter) SetType(v string) *OpsFilter {
29928	s.Type = &v
29929	return s
29930}
29931
29932// SetValues sets the Values field's value.
29933func (s *OpsFilter) SetValues(v []*string) *OpsFilter {
29934	s.Values = v
29935	return s
29936}
29937
29938// Operations engineers and IT professionals use OpsCenter to view, investigate,
29939// and remediate operational issues impacting the performance and health of
29940// their AWS resources. For more information, see AWS Systems Manager OpsCenter
29941// (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
29942// in the AWS Systems Manager User Guide.
29943type OpsItem struct {
29944	_ struct{} `type:"structure"`
29945
29946	// An OpsItem category. Category options include: Availability, Cost, Performance,
29947	// Recovery, Security.
29948	Category *string `min:"1" type:"string"`
29949
29950	// The ARN of the AWS account that created the OpsItem.
29951	CreatedBy *string `type:"string"`
29952
29953	// The date and time the OpsItem was created.
29954	CreatedTime *time.Time `type:"timestamp"`
29955
29956	// The OpsItem description.
29957	Description *string `min:"1" type:"string"`
29958
29959	// The ARN of the AWS account that last updated the OpsItem.
29960	LastModifiedBy *string `type:"string"`
29961
29962	// The date and time the OpsItem was last updated.
29963	LastModifiedTime *time.Time `type:"timestamp"`
29964
29965	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
29966	// when this OpsItem is edited or changed.
29967	Notifications []*OpsItemNotification `type:"list"`
29968
29969	// Operational data is custom data that provides useful reference details about
29970	// the OpsItem. For example, you can specify log files, error strings, license
29971	// keys, troubleshooting tips, or other relevant data. You enter operational
29972	// data as key-value pairs. The key has a maximum length of 128 characters.
29973	// The value has a maximum size of 20 KB.
29974	//
29975	// Operational data keys can't begin with the following: amazon, aws, amzn,
29976	// ssm, /amazon, /aws, /amzn, /ssm.
29977	//
29978	// You can choose to make the data searchable by other users in the account
29979	// or you can restrict search access. Searchable data means that all users with
29980	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
29981	// API action) can view and search on the specified data. Operational data that
29982	// is not searchable is only viewable by users who have access to the OpsItem
29983	// (as provided by the GetOpsItem API action).
29984	//
29985	// Use the /aws/resources key in OperationalData to specify a related resource
29986	// in the request. Use the /aws/automations key in OperationalData to associate
29987	// an Automation runbook with the OpsItem. To view AWS CLI example commands
29988	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
29989	// in the AWS Systems Manager User Guide.
29990	OperationalData map[string]*OpsItemDataValue `type:"map"`
29991
29992	// The ID of the OpsItem.
29993	OpsItemId *string `type:"string"`
29994
29995	// The importance of this OpsItem in relation to other OpsItems in the system.
29996	Priority *int64 `min:"1" type:"integer"`
29997
29998	// One or more OpsItems that share something in common with the current OpsItem.
29999	// For example, related OpsItems can include OpsItems with similar error messages,
30000	// impacted resources, or statuses for the impacted resource.
30001	RelatedOpsItems []*RelatedOpsItem `type:"list"`
30002
30003	// The severity of the OpsItem. Severity options range from 1 to 4.
30004	Severity *string `min:"1" type:"string"`
30005
30006	// The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager. The
30007	// impacted resource is a subset of source.
30008	Source *string `min:"1" type:"string"`
30009
30010	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
30011	// information, see Editing OpsItem Details (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html)
30012	// in the AWS Systems Manager User Guide.
30013	Status *string `type:"string" enum:"OpsItemStatus"`
30014
30015	// A short heading that describes the nature of the OpsItem and the impacted
30016	// resource.
30017	Title *string `min:"1" type:"string"`
30018
30019	// The version of this OpsItem. Each time the OpsItem is edited the version
30020	// number increments by one.
30021	Version *string `type:"string"`
30022}
30023
30024// String returns the string representation
30025func (s OpsItem) String() string {
30026	return awsutil.Prettify(s)
30027}
30028
30029// GoString returns the string representation
30030func (s OpsItem) GoString() string {
30031	return s.String()
30032}
30033
30034// SetCategory sets the Category field's value.
30035func (s *OpsItem) SetCategory(v string) *OpsItem {
30036	s.Category = &v
30037	return s
30038}
30039
30040// SetCreatedBy sets the CreatedBy field's value.
30041func (s *OpsItem) SetCreatedBy(v string) *OpsItem {
30042	s.CreatedBy = &v
30043	return s
30044}
30045
30046// SetCreatedTime sets the CreatedTime field's value.
30047func (s *OpsItem) SetCreatedTime(v time.Time) *OpsItem {
30048	s.CreatedTime = &v
30049	return s
30050}
30051
30052// SetDescription sets the Description field's value.
30053func (s *OpsItem) SetDescription(v string) *OpsItem {
30054	s.Description = &v
30055	return s
30056}
30057
30058// SetLastModifiedBy sets the LastModifiedBy field's value.
30059func (s *OpsItem) SetLastModifiedBy(v string) *OpsItem {
30060	s.LastModifiedBy = &v
30061	return s
30062}
30063
30064// SetLastModifiedTime sets the LastModifiedTime field's value.
30065func (s *OpsItem) SetLastModifiedTime(v time.Time) *OpsItem {
30066	s.LastModifiedTime = &v
30067	return s
30068}
30069
30070// SetNotifications sets the Notifications field's value.
30071func (s *OpsItem) SetNotifications(v []*OpsItemNotification) *OpsItem {
30072	s.Notifications = v
30073	return s
30074}
30075
30076// SetOperationalData sets the OperationalData field's value.
30077func (s *OpsItem) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItem {
30078	s.OperationalData = v
30079	return s
30080}
30081
30082// SetOpsItemId sets the OpsItemId field's value.
30083func (s *OpsItem) SetOpsItemId(v string) *OpsItem {
30084	s.OpsItemId = &v
30085	return s
30086}
30087
30088// SetPriority sets the Priority field's value.
30089func (s *OpsItem) SetPriority(v int64) *OpsItem {
30090	s.Priority = &v
30091	return s
30092}
30093
30094// SetRelatedOpsItems sets the RelatedOpsItems field's value.
30095func (s *OpsItem) SetRelatedOpsItems(v []*RelatedOpsItem) *OpsItem {
30096	s.RelatedOpsItems = v
30097	return s
30098}
30099
30100// SetSeverity sets the Severity field's value.
30101func (s *OpsItem) SetSeverity(v string) *OpsItem {
30102	s.Severity = &v
30103	return s
30104}
30105
30106// SetSource sets the Source field's value.
30107func (s *OpsItem) SetSource(v string) *OpsItem {
30108	s.Source = &v
30109	return s
30110}
30111
30112// SetStatus sets the Status field's value.
30113func (s *OpsItem) SetStatus(v string) *OpsItem {
30114	s.Status = &v
30115	return s
30116}
30117
30118// SetTitle sets the Title field's value.
30119func (s *OpsItem) SetTitle(v string) *OpsItem {
30120	s.Title = &v
30121	return s
30122}
30123
30124// SetVersion sets the Version field's value.
30125func (s *OpsItem) SetVersion(v string) *OpsItem {
30126	s.Version = &v
30127	return s
30128}
30129
30130// An object that defines the value of the key and its type in the OperationalData
30131// map.
30132type OpsItemDataValue struct {
30133	_ struct{} `type:"structure"`
30134
30135	// The type of key-value pair. Valid types include SearchableString and String.
30136	Type *string `type:"string" enum:"OpsItemDataType"`
30137
30138	// The value of the OperationalData key.
30139	Value *string `type:"string"`
30140}
30141
30142// String returns the string representation
30143func (s OpsItemDataValue) String() string {
30144	return awsutil.Prettify(s)
30145}
30146
30147// GoString returns the string representation
30148func (s OpsItemDataValue) GoString() string {
30149	return s.String()
30150}
30151
30152// SetType sets the Type field's value.
30153func (s *OpsItemDataValue) SetType(v string) *OpsItemDataValue {
30154	s.Type = &v
30155	return s
30156}
30157
30158// SetValue sets the Value field's value.
30159func (s *OpsItemDataValue) SetValue(v string) *OpsItemDataValue {
30160	s.Value = &v
30161	return s
30162}
30163
30164// Describes an OpsItem filter.
30165type OpsItemFilter struct {
30166	_ struct{} `type:"structure"`
30167
30168	// The name of the filter.
30169	//
30170	// Key is a required field
30171	Key *string `type:"string" required:"true" enum:"OpsItemFilterKey"`
30172
30173	// The operator used by the filter call.
30174	//
30175	// Operator is a required field
30176	Operator *string `type:"string" required:"true" enum:"OpsItemFilterOperator"`
30177
30178	// The filter value.
30179	//
30180	// Values is a required field
30181	Values []*string `type:"list" required:"true"`
30182}
30183
30184// String returns the string representation
30185func (s OpsItemFilter) String() string {
30186	return awsutil.Prettify(s)
30187}
30188
30189// GoString returns the string representation
30190func (s OpsItemFilter) GoString() string {
30191	return s.String()
30192}
30193
30194// Validate inspects the fields of the type to determine if they are valid.
30195func (s *OpsItemFilter) Validate() error {
30196	invalidParams := request.ErrInvalidParams{Context: "OpsItemFilter"}
30197	if s.Key == nil {
30198		invalidParams.Add(request.NewErrParamRequired("Key"))
30199	}
30200	if s.Operator == nil {
30201		invalidParams.Add(request.NewErrParamRequired("Operator"))
30202	}
30203	if s.Values == nil {
30204		invalidParams.Add(request.NewErrParamRequired("Values"))
30205	}
30206
30207	if invalidParams.Len() > 0 {
30208		return invalidParams
30209	}
30210	return nil
30211}
30212
30213// SetKey sets the Key field's value.
30214func (s *OpsItemFilter) SetKey(v string) *OpsItemFilter {
30215	s.Key = &v
30216	return s
30217}
30218
30219// SetOperator sets the Operator field's value.
30220func (s *OpsItemFilter) SetOperator(v string) *OpsItemFilter {
30221	s.Operator = &v
30222	return s
30223}
30224
30225// SetValues sets the Values field's value.
30226func (s *OpsItemFilter) SetValues(v []*string) *OpsItemFilter {
30227	s.Values = v
30228	return s
30229}
30230
30231// A notification about the OpsItem.
30232type OpsItemNotification struct {
30233	_ struct{} `type:"structure"`
30234
30235	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
30236	// when this OpsItem is edited or changed.
30237	Arn *string `type:"string"`
30238}
30239
30240// String returns the string representation
30241func (s OpsItemNotification) String() string {
30242	return awsutil.Prettify(s)
30243}
30244
30245// GoString returns the string representation
30246func (s OpsItemNotification) GoString() string {
30247	return s.String()
30248}
30249
30250// SetArn sets the Arn field's value.
30251func (s *OpsItemNotification) SetArn(v string) *OpsItemNotification {
30252	s.Arn = &v
30253	return s
30254}
30255
30256// A count of OpsItems.
30257type OpsItemSummary struct {
30258	_ struct{} `type:"structure"`
30259
30260	// A list of OpsItems by category.
30261	Category *string `min:"1" type:"string"`
30262
30263	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
30264	CreatedBy *string `type:"string"`
30265
30266	// The date and time the OpsItem was created.
30267	CreatedTime *time.Time `type:"timestamp"`
30268
30269	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
30270	LastModifiedBy *string `type:"string"`
30271
30272	// The date and time the OpsItem was last updated.
30273	LastModifiedTime *time.Time `type:"timestamp"`
30274
30275	// Operational data is custom data that provides useful reference details about
30276	// the OpsItem.
30277	OperationalData map[string]*OpsItemDataValue `type:"map"`
30278
30279	// The ID of the OpsItem.
30280	OpsItemId *string `type:"string"`
30281
30282	// The importance of this OpsItem in relation to other OpsItems in the system.
30283	Priority *int64 `min:"1" type:"integer"`
30284
30285	// A list of OpsItems by severity.
30286	Severity *string `min:"1" type:"string"`
30287
30288	// The impacted AWS resource.
30289	Source *string `min:"1" type:"string"`
30290
30291	// The OpsItem status. Status can be Open, In Progress, or Resolved.
30292	Status *string `type:"string" enum:"OpsItemStatus"`
30293
30294	// A short heading that describes the nature of the OpsItem and the impacted
30295	// resource.
30296	Title *string `min:"1" type:"string"`
30297}
30298
30299// String returns the string representation
30300func (s OpsItemSummary) String() string {
30301	return awsutil.Prettify(s)
30302}
30303
30304// GoString returns the string representation
30305func (s OpsItemSummary) GoString() string {
30306	return s.String()
30307}
30308
30309// SetCategory sets the Category field's value.
30310func (s *OpsItemSummary) SetCategory(v string) *OpsItemSummary {
30311	s.Category = &v
30312	return s
30313}
30314
30315// SetCreatedBy sets the CreatedBy field's value.
30316func (s *OpsItemSummary) SetCreatedBy(v string) *OpsItemSummary {
30317	s.CreatedBy = &v
30318	return s
30319}
30320
30321// SetCreatedTime sets the CreatedTime field's value.
30322func (s *OpsItemSummary) SetCreatedTime(v time.Time) *OpsItemSummary {
30323	s.CreatedTime = &v
30324	return s
30325}
30326
30327// SetLastModifiedBy sets the LastModifiedBy field's value.
30328func (s *OpsItemSummary) SetLastModifiedBy(v string) *OpsItemSummary {
30329	s.LastModifiedBy = &v
30330	return s
30331}
30332
30333// SetLastModifiedTime sets the LastModifiedTime field's value.
30334func (s *OpsItemSummary) SetLastModifiedTime(v time.Time) *OpsItemSummary {
30335	s.LastModifiedTime = &v
30336	return s
30337}
30338
30339// SetOperationalData sets the OperationalData field's value.
30340func (s *OpsItemSummary) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItemSummary {
30341	s.OperationalData = v
30342	return s
30343}
30344
30345// SetOpsItemId sets the OpsItemId field's value.
30346func (s *OpsItemSummary) SetOpsItemId(v string) *OpsItemSummary {
30347	s.OpsItemId = &v
30348	return s
30349}
30350
30351// SetPriority sets the Priority field's value.
30352func (s *OpsItemSummary) SetPriority(v int64) *OpsItemSummary {
30353	s.Priority = &v
30354	return s
30355}
30356
30357// SetSeverity sets the Severity field's value.
30358func (s *OpsItemSummary) SetSeverity(v string) *OpsItemSummary {
30359	s.Severity = &v
30360	return s
30361}
30362
30363// SetSource sets the Source field's value.
30364func (s *OpsItemSummary) SetSource(v string) *OpsItemSummary {
30365	s.Source = &v
30366	return s
30367}
30368
30369// SetStatus sets the Status field's value.
30370func (s *OpsItemSummary) SetStatus(v string) *OpsItemSummary {
30371	s.Status = &v
30372	return s
30373}
30374
30375// SetTitle sets the Title field's value.
30376func (s *OpsItemSummary) SetTitle(v string) *OpsItemSummary {
30377	s.Title = &v
30378	return s
30379}
30380
30381// The OpsItem data type to return.
30382type OpsResultAttribute struct {
30383	_ struct{} `type:"structure"`
30384
30385	// Name of the data type. Valid value: AWS:OpsItem, AWS:EC2InstanceInformation,
30386	// AWS:OpsItemTrendline, or AWS:ComplianceSummary.
30387	//
30388	// TypeName is a required field
30389	TypeName *string `min:"1" type:"string" required:"true"`
30390}
30391
30392// String returns the string representation
30393func (s OpsResultAttribute) String() string {
30394	return awsutil.Prettify(s)
30395}
30396
30397// GoString returns the string representation
30398func (s OpsResultAttribute) GoString() string {
30399	return s.String()
30400}
30401
30402// Validate inspects the fields of the type to determine if they are valid.
30403func (s *OpsResultAttribute) Validate() error {
30404	invalidParams := request.ErrInvalidParams{Context: "OpsResultAttribute"}
30405	if s.TypeName == nil {
30406		invalidParams.Add(request.NewErrParamRequired("TypeName"))
30407	}
30408	if s.TypeName != nil && len(*s.TypeName) < 1 {
30409		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
30410	}
30411
30412	if invalidParams.Len() > 0 {
30413		return invalidParams
30414	}
30415	return nil
30416}
30417
30418// SetTypeName sets the TypeName field's value.
30419func (s *OpsResultAttribute) SetTypeName(v string) *OpsResultAttribute {
30420	s.TypeName = &v
30421	return s
30422}
30423
30424// Information about the source where the association execution details are
30425// stored.
30426type OutputSource struct {
30427	_ struct{} `type:"structure"`
30428
30429	// The ID of the output source, for example the URL of an Amazon S3 bucket.
30430	OutputSourceId *string `min:"36" type:"string"`
30431
30432	// The type of source where the association execution details are stored, for
30433	// example, Amazon S3.
30434	OutputSourceType *string `type:"string"`
30435}
30436
30437// String returns the string representation
30438func (s OutputSource) String() string {
30439	return awsutil.Prettify(s)
30440}
30441
30442// GoString returns the string representation
30443func (s OutputSource) GoString() string {
30444	return s.String()
30445}
30446
30447// SetOutputSourceId sets the OutputSourceId field's value.
30448func (s *OutputSource) SetOutputSourceId(v string) *OutputSource {
30449	s.OutputSourceId = &v
30450	return s
30451}
30452
30453// SetOutputSourceType sets the OutputSourceType field's value.
30454func (s *OutputSource) SetOutputSourceType(v string) *OutputSource {
30455	s.OutputSourceType = &v
30456	return s
30457}
30458
30459// An Amazon EC2 Systems Manager parameter in Parameter Store.
30460type Parameter struct {
30461	_ struct{} `type:"structure"`
30462
30463	// The Amazon Resource Name (ARN) of the parameter.
30464	ARN *string `type:"string"`
30465
30466	// Date the parameter was last changed or updated and the parameter version
30467	// was created.
30468	LastModifiedDate *time.Time `type:"timestamp"`
30469
30470	// The name of the parameter.
30471	Name *string `min:"1" type:"string"`
30472
30473	// Either the version number or the label used to retrieve the parameter value.
30474	// Specify selectors by using one of the following formats:
30475	//
30476	// parameter_name:version
30477	//
30478	// parameter_name:label
30479	Selector *string `type:"string"`
30480
30481	// Applies to parameters that reference information in other AWS services. SourceResult
30482	// is the raw result or response from the source.
30483	SourceResult *string `type:"string"`
30484
30485	// The type of parameter. Valid values include the following: String, String
30486	// list, Secure string.
30487	Type *string `type:"string" enum:"ParameterType"`
30488
30489	// The parameter value.
30490	Value *string `type:"string"`
30491
30492	// The parameter version.
30493	Version *int64 `type:"long"`
30494}
30495
30496// String returns the string representation
30497func (s Parameter) String() string {
30498	return awsutil.Prettify(s)
30499}
30500
30501// GoString returns the string representation
30502func (s Parameter) GoString() string {
30503	return s.String()
30504}
30505
30506// SetARN sets the ARN field's value.
30507func (s *Parameter) SetARN(v string) *Parameter {
30508	s.ARN = &v
30509	return s
30510}
30511
30512// SetLastModifiedDate sets the LastModifiedDate field's value.
30513func (s *Parameter) SetLastModifiedDate(v time.Time) *Parameter {
30514	s.LastModifiedDate = &v
30515	return s
30516}
30517
30518// SetName sets the Name field's value.
30519func (s *Parameter) SetName(v string) *Parameter {
30520	s.Name = &v
30521	return s
30522}
30523
30524// SetSelector sets the Selector field's value.
30525func (s *Parameter) SetSelector(v string) *Parameter {
30526	s.Selector = &v
30527	return s
30528}
30529
30530// SetSourceResult sets the SourceResult field's value.
30531func (s *Parameter) SetSourceResult(v string) *Parameter {
30532	s.SourceResult = &v
30533	return s
30534}
30535
30536// SetType sets the Type field's value.
30537func (s *Parameter) SetType(v string) *Parameter {
30538	s.Type = &v
30539	return s
30540}
30541
30542// SetValue sets the Value field's value.
30543func (s *Parameter) SetValue(v string) *Parameter {
30544	s.Value = &v
30545	return s
30546}
30547
30548// SetVersion sets the Version field's value.
30549func (s *Parameter) SetVersion(v int64) *Parameter {
30550	s.Version = &v
30551	return s
30552}
30553
30554// Information about parameter usage.
30555type ParameterHistory struct {
30556	_ struct{} `type:"structure"`
30557
30558	// Parameter names can include the following letters and symbols.
30559	//
30560	// a-zA-Z0-9_.-
30561	AllowedPattern *string `type:"string"`
30562
30563	// Information about the parameter.
30564	Description *string `type:"string"`
30565
30566	// The ID of the query key used for this parameter.
30567	KeyId *string `min:"1" type:"string"`
30568
30569	// Labels assigned to the parameter version.
30570	Labels []*string `min:"1" type:"list"`
30571
30572	// Date the parameter was last changed or updated.
30573	LastModifiedDate *time.Time `type:"timestamp"`
30574
30575	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
30576	LastModifiedUser *string `type:"string"`
30577
30578	// The name of the parameter.
30579	Name *string `min:"1" type:"string"`
30580
30581	// Information about the policies assigned to a parameter.
30582	//
30583	// Working with Parameter Policies (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html)
30584	// in the AWS Systems Manager User Guide.
30585	Policies []*ParameterInlinePolicy `type:"list"`
30586
30587	// The parameter tier.
30588	Tier *string `type:"string" enum:"ParameterTier"`
30589
30590	// The type of parameter used.
30591	Type *string `type:"string" enum:"ParameterType"`
30592
30593	// The parameter value.
30594	Value *string `type:"string"`
30595
30596	// The parameter version.
30597	Version *int64 `type:"long"`
30598}
30599
30600// String returns the string representation
30601func (s ParameterHistory) String() string {
30602	return awsutil.Prettify(s)
30603}
30604
30605// GoString returns the string representation
30606func (s ParameterHistory) GoString() string {
30607	return s.String()
30608}
30609
30610// SetAllowedPattern sets the AllowedPattern field's value.
30611func (s *ParameterHistory) SetAllowedPattern(v string) *ParameterHistory {
30612	s.AllowedPattern = &v
30613	return s
30614}
30615
30616// SetDescription sets the Description field's value.
30617func (s *ParameterHistory) SetDescription(v string) *ParameterHistory {
30618	s.Description = &v
30619	return s
30620}
30621
30622// SetKeyId sets the KeyId field's value.
30623func (s *ParameterHistory) SetKeyId(v string) *ParameterHistory {
30624	s.KeyId = &v
30625	return s
30626}
30627
30628// SetLabels sets the Labels field's value.
30629func (s *ParameterHistory) SetLabels(v []*string) *ParameterHistory {
30630	s.Labels = v
30631	return s
30632}
30633
30634// SetLastModifiedDate sets the LastModifiedDate field's value.
30635func (s *ParameterHistory) SetLastModifiedDate(v time.Time) *ParameterHistory {
30636	s.LastModifiedDate = &v
30637	return s
30638}
30639
30640// SetLastModifiedUser sets the LastModifiedUser field's value.
30641func (s *ParameterHistory) SetLastModifiedUser(v string) *ParameterHistory {
30642	s.LastModifiedUser = &v
30643	return s
30644}
30645
30646// SetName sets the Name field's value.
30647func (s *ParameterHistory) SetName(v string) *ParameterHistory {
30648	s.Name = &v
30649	return s
30650}
30651
30652// SetPolicies sets the Policies field's value.
30653func (s *ParameterHistory) SetPolicies(v []*ParameterInlinePolicy) *ParameterHistory {
30654	s.Policies = v
30655	return s
30656}
30657
30658// SetTier sets the Tier field's value.
30659func (s *ParameterHistory) SetTier(v string) *ParameterHistory {
30660	s.Tier = &v
30661	return s
30662}
30663
30664// SetType sets the Type field's value.
30665func (s *ParameterHistory) SetType(v string) *ParameterHistory {
30666	s.Type = &v
30667	return s
30668}
30669
30670// SetValue sets the Value field's value.
30671func (s *ParameterHistory) SetValue(v string) *ParameterHistory {
30672	s.Value = &v
30673	return s
30674}
30675
30676// SetVersion sets the Version field's value.
30677func (s *ParameterHistory) SetVersion(v int64) *ParameterHistory {
30678	s.Version = &v
30679	return s
30680}
30681
30682// One or more policies assigned to a parameter.
30683type ParameterInlinePolicy struct {
30684	_ struct{} `type:"structure"`
30685
30686	// The status of the policy. Policies report the following statuses: Pending
30687	// (the policy has not been enforced or applied yet), Finished (the policy was
30688	// applied), Failed (the policy was not applied), or InProgress (the policy
30689	// is being applied now).
30690	PolicyStatus *string `type:"string"`
30691
30692	// The JSON text of the policy.
30693	PolicyText *string `type:"string"`
30694
30695	// The type of policy. Parameter Store supports the following policy types:
30696	// Expiration, ExpirationNotification, and NoChangeNotification.
30697	PolicyType *string `type:"string"`
30698}
30699
30700// String returns the string representation
30701func (s ParameterInlinePolicy) String() string {
30702	return awsutil.Prettify(s)
30703}
30704
30705// GoString returns the string representation
30706func (s ParameterInlinePolicy) GoString() string {
30707	return s.String()
30708}
30709
30710// SetPolicyStatus sets the PolicyStatus field's value.
30711func (s *ParameterInlinePolicy) SetPolicyStatus(v string) *ParameterInlinePolicy {
30712	s.PolicyStatus = &v
30713	return s
30714}
30715
30716// SetPolicyText sets the PolicyText field's value.
30717func (s *ParameterInlinePolicy) SetPolicyText(v string) *ParameterInlinePolicy {
30718	s.PolicyText = &v
30719	return s
30720}
30721
30722// SetPolicyType sets the PolicyType field's value.
30723func (s *ParameterInlinePolicy) SetPolicyType(v string) *ParameterInlinePolicy {
30724	s.PolicyType = &v
30725	return s
30726}
30727
30728// Metadata includes information like the ARN of the last user and the date/time
30729// the parameter was last used.
30730type ParameterMetadata struct {
30731	_ struct{} `type:"structure"`
30732
30733	// A parameter name can include only the following letters and symbols.
30734	//
30735	// a-zA-Z0-9_.-
30736	AllowedPattern *string `type:"string"`
30737
30738	// Description of the parameter actions.
30739	Description *string `type:"string"`
30740
30741	// The ID of the query key used for this parameter.
30742	KeyId *string `min:"1" type:"string"`
30743
30744	// Date the parameter was last changed or updated.
30745	LastModifiedDate *time.Time `type:"timestamp"`
30746
30747	// Amazon Resource Name (ARN) of the AWS user who last changed the parameter.
30748	LastModifiedUser *string `type:"string"`
30749
30750	// The parameter name.
30751	Name *string `min:"1" type:"string"`
30752
30753	// A list of policies associated with a parameter.
30754	Policies []*ParameterInlinePolicy `type:"list"`
30755
30756	// The parameter tier.
30757	Tier *string `type:"string" enum:"ParameterTier"`
30758
30759	// The type of parameter. Valid parameter types include the following: String,
30760	// String list, Secure string.
30761	Type *string `type:"string" enum:"ParameterType"`
30762
30763	// The parameter version.
30764	Version *int64 `type:"long"`
30765}
30766
30767// String returns the string representation
30768func (s ParameterMetadata) String() string {
30769	return awsutil.Prettify(s)
30770}
30771
30772// GoString returns the string representation
30773func (s ParameterMetadata) GoString() string {
30774	return s.String()
30775}
30776
30777// SetAllowedPattern sets the AllowedPattern field's value.
30778func (s *ParameterMetadata) SetAllowedPattern(v string) *ParameterMetadata {
30779	s.AllowedPattern = &v
30780	return s
30781}
30782
30783// SetDescription sets the Description field's value.
30784func (s *ParameterMetadata) SetDescription(v string) *ParameterMetadata {
30785	s.Description = &v
30786	return s
30787}
30788
30789// SetKeyId sets the KeyId field's value.
30790func (s *ParameterMetadata) SetKeyId(v string) *ParameterMetadata {
30791	s.KeyId = &v
30792	return s
30793}
30794
30795// SetLastModifiedDate sets the LastModifiedDate field's value.
30796func (s *ParameterMetadata) SetLastModifiedDate(v time.Time) *ParameterMetadata {
30797	s.LastModifiedDate = &v
30798	return s
30799}
30800
30801// SetLastModifiedUser sets the LastModifiedUser field's value.
30802func (s *ParameterMetadata) SetLastModifiedUser(v string) *ParameterMetadata {
30803	s.LastModifiedUser = &v
30804	return s
30805}
30806
30807// SetName sets the Name field's value.
30808func (s *ParameterMetadata) SetName(v string) *ParameterMetadata {
30809	s.Name = &v
30810	return s
30811}
30812
30813// SetPolicies sets the Policies field's value.
30814func (s *ParameterMetadata) SetPolicies(v []*ParameterInlinePolicy) *ParameterMetadata {
30815	s.Policies = v
30816	return s
30817}
30818
30819// SetTier sets the Tier field's value.
30820func (s *ParameterMetadata) SetTier(v string) *ParameterMetadata {
30821	s.Tier = &v
30822	return s
30823}
30824
30825// SetType sets the Type field's value.
30826func (s *ParameterMetadata) SetType(v string) *ParameterMetadata {
30827	s.Type = &v
30828	return s
30829}
30830
30831// SetVersion sets the Version field's value.
30832func (s *ParameterMetadata) SetVersion(v int64) *ParameterMetadata {
30833	s.Version = &v
30834	return s
30835}
30836
30837// One or more filters. Use a filter to return a more specific list of results.
30838//
30839// The ParameterStringFilter object is used by the DescribeParameters and GetParametersByPath
30840// API actions. However, not all of the pattern values listed for Key can be
30841// used with both actions.
30842//
30843// For DescribeActions, all of the listed patterns are valid, with the exception
30844// of Label.
30845//
30846// For GetParametersByPath, the following patterns listed for Key are not valid:
30847// Name, Path, and Tier.
30848//
30849// For examples of CLI commands demonstrating valid parameter filter constructions,
30850// see Searching for Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-search.html)
30851// in the AWS Systems Manager User Guide.
30852type ParameterStringFilter struct {
30853	_ struct{} `type:"structure"`
30854
30855	// The name of the filter.
30856	//
30857	// Key is a required field
30858	Key *string `min:"1" type:"string" required:"true"`
30859
30860	// For all filters used with DescribeParameters, valid options include Equals
30861	// and BeginsWith. The Name filter additionally supports the Contains option.
30862	// (Exception: For filters using the key Path, valid options include Recursive
30863	// and OneLevel.)
30864	//
30865	// For filters used with GetParametersByPath, valid options include Equals and
30866	// BeginsWith. (Exception: For filters using the key Label, the only valid option
30867	// is Equals.)
30868	Option *string `min:"1" type:"string"`
30869
30870	// The value you want to search for.
30871	Values []*string `min:"1" type:"list"`
30872}
30873
30874// String returns the string representation
30875func (s ParameterStringFilter) String() string {
30876	return awsutil.Prettify(s)
30877}
30878
30879// GoString returns the string representation
30880func (s ParameterStringFilter) GoString() string {
30881	return s.String()
30882}
30883
30884// Validate inspects the fields of the type to determine if they are valid.
30885func (s *ParameterStringFilter) Validate() error {
30886	invalidParams := request.ErrInvalidParams{Context: "ParameterStringFilter"}
30887	if s.Key == nil {
30888		invalidParams.Add(request.NewErrParamRequired("Key"))
30889	}
30890	if s.Key != nil && len(*s.Key) < 1 {
30891		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
30892	}
30893	if s.Option != nil && len(*s.Option) < 1 {
30894		invalidParams.Add(request.NewErrParamMinLen("Option", 1))
30895	}
30896	if s.Values != nil && len(s.Values) < 1 {
30897		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
30898	}
30899
30900	if invalidParams.Len() > 0 {
30901		return invalidParams
30902	}
30903	return nil
30904}
30905
30906// SetKey sets the Key field's value.
30907func (s *ParameterStringFilter) SetKey(v string) *ParameterStringFilter {
30908	s.Key = &v
30909	return s
30910}
30911
30912// SetOption sets the Option field's value.
30913func (s *ParameterStringFilter) SetOption(v string) *ParameterStringFilter {
30914	s.Option = &v
30915	return s
30916}
30917
30918// SetValues sets the Values field's value.
30919func (s *ParameterStringFilter) SetValues(v []*string) *ParameterStringFilter {
30920	s.Values = v
30921	return s
30922}
30923
30924// This data type is deprecated. Instead, use ParameterStringFilter.
30925type ParametersFilter struct {
30926	_ struct{} `type:"structure"`
30927
30928	// The name of the filter.
30929	//
30930	// Key is a required field
30931	Key *string `type:"string" required:"true" enum:"ParametersFilterKey"`
30932
30933	// The filter values.
30934	//
30935	// Values is a required field
30936	Values []*string `min:"1" type:"list" required:"true"`
30937}
30938
30939// String returns the string representation
30940func (s ParametersFilter) String() string {
30941	return awsutil.Prettify(s)
30942}
30943
30944// GoString returns the string representation
30945func (s ParametersFilter) GoString() string {
30946	return s.String()
30947}
30948
30949// Validate inspects the fields of the type to determine if they are valid.
30950func (s *ParametersFilter) Validate() error {
30951	invalidParams := request.ErrInvalidParams{Context: "ParametersFilter"}
30952	if s.Key == nil {
30953		invalidParams.Add(request.NewErrParamRequired("Key"))
30954	}
30955	if s.Values == nil {
30956		invalidParams.Add(request.NewErrParamRequired("Values"))
30957	}
30958	if s.Values != nil && len(s.Values) < 1 {
30959		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
30960	}
30961
30962	if invalidParams.Len() > 0 {
30963		return invalidParams
30964	}
30965	return nil
30966}
30967
30968// SetKey sets the Key field's value.
30969func (s *ParametersFilter) SetKey(v string) *ParametersFilter {
30970	s.Key = &v
30971	return s
30972}
30973
30974// SetValues sets the Values field's value.
30975func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter {
30976	s.Values = v
30977	return s
30978}
30979
30980// Represents metadata about a patch.
30981type Patch struct {
30982	_ struct{} `type:"structure"`
30983
30984	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
30985	Classification *string `type:"string"`
30986
30987	// The URL where more information can be obtained about the patch.
30988	ContentUrl *string `type:"string"`
30989
30990	// The description of the patch.
30991	Description *string `type:"string"`
30992
30993	// The ID of the patch (this is different than the Microsoft Knowledge Base
30994	// ID).
30995	Id *string `min:"1" type:"string"`
30996
30997	// The Microsoft Knowledge Base ID of the patch.
30998	KbNumber *string `type:"string"`
30999
31000	// The language of the patch if it's language-specific.
31001	Language *string `type:"string"`
31002
31003	// The ID of the MSRC bulletin the patch is related to.
31004	MsrcNumber *string `type:"string"`
31005
31006	// The severity of the patch (for example Critical, Important, Moderate).
31007	MsrcSeverity *string `type:"string"`
31008
31009	// The specific product the patch is applicable for (for example, WindowsServer2016).
31010	Product *string `type:"string"`
31011
31012	// The product family the patch is applicable for (for example, Windows).
31013	ProductFamily *string `type:"string"`
31014
31015	// The date the patch was released.
31016	ReleaseDate *time.Time `type:"timestamp"`
31017
31018	// The title of the patch.
31019	Title *string `type:"string"`
31020
31021	// The name of the vendor providing the patch.
31022	Vendor *string `type:"string"`
31023}
31024
31025// String returns the string representation
31026func (s Patch) String() string {
31027	return awsutil.Prettify(s)
31028}
31029
31030// GoString returns the string representation
31031func (s Patch) GoString() string {
31032	return s.String()
31033}
31034
31035// SetClassification sets the Classification field's value.
31036func (s *Patch) SetClassification(v string) *Patch {
31037	s.Classification = &v
31038	return s
31039}
31040
31041// SetContentUrl sets the ContentUrl field's value.
31042func (s *Patch) SetContentUrl(v string) *Patch {
31043	s.ContentUrl = &v
31044	return s
31045}
31046
31047// SetDescription sets the Description field's value.
31048func (s *Patch) SetDescription(v string) *Patch {
31049	s.Description = &v
31050	return s
31051}
31052
31053// SetId sets the Id field's value.
31054func (s *Patch) SetId(v string) *Patch {
31055	s.Id = &v
31056	return s
31057}
31058
31059// SetKbNumber sets the KbNumber field's value.
31060func (s *Patch) SetKbNumber(v string) *Patch {
31061	s.KbNumber = &v
31062	return s
31063}
31064
31065// SetLanguage sets the Language field's value.
31066func (s *Patch) SetLanguage(v string) *Patch {
31067	s.Language = &v
31068	return s
31069}
31070
31071// SetMsrcNumber sets the MsrcNumber field's value.
31072func (s *Patch) SetMsrcNumber(v string) *Patch {
31073	s.MsrcNumber = &v
31074	return s
31075}
31076
31077// SetMsrcSeverity sets the MsrcSeverity field's value.
31078func (s *Patch) SetMsrcSeverity(v string) *Patch {
31079	s.MsrcSeverity = &v
31080	return s
31081}
31082
31083// SetProduct sets the Product field's value.
31084func (s *Patch) SetProduct(v string) *Patch {
31085	s.Product = &v
31086	return s
31087}
31088
31089// SetProductFamily sets the ProductFamily field's value.
31090func (s *Patch) SetProductFamily(v string) *Patch {
31091	s.ProductFamily = &v
31092	return s
31093}
31094
31095// SetReleaseDate sets the ReleaseDate field's value.
31096func (s *Patch) SetReleaseDate(v time.Time) *Patch {
31097	s.ReleaseDate = &v
31098	return s
31099}
31100
31101// SetTitle sets the Title field's value.
31102func (s *Patch) SetTitle(v string) *Patch {
31103	s.Title = &v
31104	return s
31105}
31106
31107// SetVendor sets the Vendor field's value.
31108func (s *Patch) SetVendor(v string) *Patch {
31109	s.Vendor = &v
31110	return s
31111}
31112
31113// Defines the basic information about a patch baseline.
31114type PatchBaselineIdentity struct {
31115	_ struct{} `type:"structure"`
31116
31117	// The description of the patch baseline.
31118	BaselineDescription *string `min:"1" type:"string"`
31119
31120	// The ID of the patch baseline.
31121	BaselineId *string `min:"20" type:"string"`
31122
31123	// The name of the patch baseline.
31124	BaselineName *string `min:"3" type:"string"`
31125
31126	// Whether this is the default baseline. Note that Systems Manager supports
31127	// creating multiple default patch baselines. For example, you can create a
31128	// default patch baseline for each operating system.
31129	DefaultBaseline *bool `type:"boolean"`
31130
31131	// Defines the operating system the patch baseline applies to. The Default value
31132	// is WINDOWS.
31133	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
31134}
31135
31136// String returns the string representation
31137func (s PatchBaselineIdentity) String() string {
31138	return awsutil.Prettify(s)
31139}
31140
31141// GoString returns the string representation
31142func (s PatchBaselineIdentity) GoString() string {
31143	return s.String()
31144}
31145
31146// SetBaselineDescription sets the BaselineDescription field's value.
31147func (s *PatchBaselineIdentity) SetBaselineDescription(v string) *PatchBaselineIdentity {
31148	s.BaselineDescription = &v
31149	return s
31150}
31151
31152// SetBaselineId sets the BaselineId field's value.
31153func (s *PatchBaselineIdentity) SetBaselineId(v string) *PatchBaselineIdentity {
31154	s.BaselineId = &v
31155	return s
31156}
31157
31158// SetBaselineName sets the BaselineName field's value.
31159func (s *PatchBaselineIdentity) SetBaselineName(v string) *PatchBaselineIdentity {
31160	s.BaselineName = &v
31161	return s
31162}
31163
31164// SetDefaultBaseline sets the DefaultBaseline field's value.
31165func (s *PatchBaselineIdentity) SetDefaultBaseline(v bool) *PatchBaselineIdentity {
31166	s.DefaultBaseline = &v
31167	return s
31168}
31169
31170// SetOperatingSystem sets the OperatingSystem field's value.
31171func (s *PatchBaselineIdentity) SetOperatingSystem(v string) *PatchBaselineIdentity {
31172	s.OperatingSystem = &v
31173	return s
31174}
31175
31176// Information about the state of a patch on a particular instance as it relates
31177// to the patch baseline used to patch the instance.
31178type PatchComplianceData struct {
31179	_ struct{} `type:"structure"`
31180
31181	// The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).
31182	//
31183	// Classification is a required field
31184	Classification *string `type:"string" required:"true"`
31185
31186	// The date/time the patch was installed on the instance. Note that not all
31187	// operating systems provide this level of information.
31188	//
31189	// InstalledTime is a required field
31190	InstalledTime *time.Time `type:"timestamp" required:"true"`
31191
31192	// The operating system-specific ID of the patch.
31193	//
31194	// KBId is a required field
31195	KBId *string `type:"string" required:"true"`
31196
31197	// The severity of the patch (for example, Critical, Important, Moderate).
31198	//
31199	// Severity is a required field
31200	Severity *string `type:"string" required:"true"`
31201
31202	// The state of the patch on the instance, such as INSTALLED or FAILED.
31203	//
31204	// For descriptions of each patch state, see About Patch Compliance (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-compliance-about.html#sysman-compliance-monitor-patch)
31205	// in the AWS Systems Manager User Guide.
31206	//
31207	// State is a required field
31208	State *string `type:"string" required:"true" enum:"PatchComplianceDataState"`
31209
31210	// The title of the patch.
31211	//
31212	// Title is a required field
31213	Title *string `type:"string" required:"true"`
31214}
31215
31216// String returns the string representation
31217func (s PatchComplianceData) String() string {
31218	return awsutil.Prettify(s)
31219}
31220
31221// GoString returns the string representation
31222func (s PatchComplianceData) GoString() string {
31223	return s.String()
31224}
31225
31226// SetClassification sets the Classification field's value.
31227func (s *PatchComplianceData) SetClassification(v string) *PatchComplianceData {
31228	s.Classification = &v
31229	return s
31230}
31231
31232// SetInstalledTime sets the InstalledTime field's value.
31233func (s *PatchComplianceData) SetInstalledTime(v time.Time) *PatchComplianceData {
31234	s.InstalledTime = &v
31235	return s
31236}
31237
31238// SetKBId sets the KBId field's value.
31239func (s *PatchComplianceData) SetKBId(v string) *PatchComplianceData {
31240	s.KBId = &v
31241	return s
31242}
31243
31244// SetSeverity sets the Severity field's value.
31245func (s *PatchComplianceData) SetSeverity(v string) *PatchComplianceData {
31246	s.Severity = &v
31247	return s
31248}
31249
31250// SetState sets the State field's value.
31251func (s *PatchComplianceData) SetState(v string) *PatchComplianceData {
31252	s.State = &v
31253	return s
31254}
31255
31256// SetTitle sets the Title field's value.
31257func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData {
31258	s.Title = &v
31259	return s
31260}
31261
31262// Defines which patches should be included in a patch baseline.
31263//
31264// A patch filter consists of a key and a set of values. The filter key is a
31265// patch property. For example, the available filter keys for WINDOWS are PATCH_SET,
31266// PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, and MSRC_SEVERITY. The filter values
31267// define a matching criterion for the patch property indicated by the key.
31268// For example, if the filter key is PRODUCT and the filter values are ["Office
31269// 2013", "Office 2016"], then the filter accepts all patches where product
31270// name is either "Office 2013" or "Office 2016". The filter values can be exact
31271// values for the patch property given as a key, or a wildcard (*), which matches
31272// all values.
31273//
31274// You can view lists of valid values for the patch properties by running the
31275// DescribePatchProperties command. For information about which patch properties
31276// can be used with each major operating system, see DescribePatchProperties.
31277type PatchFilter struct {
31278	_ struct{} `type:"structure"`
31279
31280	// The key for the filter.
31281	//
31282	// Run the DescribePatchProperties command to view lists of valid keys for each
31283	// operating system type.
31284	//
31285	// Key is a required field
31286	Key *string `type:"string" required:"true" enum:"PatchFilterKey"`
31287
31288	// The value for the filter key.
31289	//
31290	// Run the DescribePatchProperties command to view lists of valid values for
31291	// each key based on operating system type.
31292	//
31293	// Values is a required field
31294	Values []*string `min:"1" type:"list" required:"true"`
31295}
31296
31297// String returns the string representation
31298func (s PatchFilter) String() string {
31299	return awsutil.Prettify(s)
31300}
31301
31302// GoString returns the string representation
31303func (s PatchFilter) GoString() string {
31304	return s.String()
31305}
31306
31307// Validate inspects the fields of the type to determine if they are valid.
31308func (s *PatchFilter) Validate() error {
31309	invalidParams := request.ErrInvalidParams{Context: "PatchFilter"}
31310	if s.Key == nil {
31311		invalidParams.Add(request.NewErrParamRequired("Key"))
31312	}
31313	if s.Values == nil {
31314		invalidParams.Add(request.NewErrParamRequired("Values"))
31315	}
31316	if s.Values != nil && len(s.Values) < 1 {
31317		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
31318	}
31319
31320	if invalidParams.Len() > 0 {
31321		return invalidParams
31322	}
31323	return nil
31324}
31325
31326// SetKey sets the Key field's value.
31327func (s *PatchFilter) SetKey(v string) *PatchFilter {
31328	s.Key = &v
31329	return s
31330}
31331
31332// SetValues sets the Values field's value.
31333func (s *PatchFilter) SetValues(v []*string) *PatchFilter {
31334	s.Values = v
31335	return s
31336}
31337
31338// A set of patch filters, typically used for approval rules.
31339type PatchFilterGroup struct {
31340	_ struct{} `type:"structure"`
31341
31342	// The set of patch filters that make up the group.
31343	//
31344	// PatchFilters is a required field
31345	PatchFilters []*PatchFilter `type:"list" required:"true"`
31346}
31347
31348// String returns the string representation
31349func (s PatchFilterGroup) String() string {
31350	return awsutil.Prettify(s)
31351}
31352
31353// GoString returns the string representation
31354func (s PatchFilterGroup) GoString() string {
31355	return s.String()
31356}
31357
31358// Validate inspects the fields of the type to determine if they are valid.
31359func (s *PatchFilterGroup) Validate() error {
31360	invalidParams := request.ErrInvalidParams{Context: "PatchFilterGroup"}
31361	if s.PatchFilters == nil {
31362		invalidParams.Add(request.NewErrParamRequired("PatchFilters"))
31363	}
31364	if s.PatchFilters != nil {
31365		for i, v := range s.PatchFilters {
31366			if v == nil {
31367				continue
31368			}
31369			if err := v.Validate(); err != nil {
31370				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchFilters", i), err.(request.ErrInvalidParams))
31371			}
31372		}
31373	}
31374
31375	if invalidParams.Len() > 0 {
31376		return invalidParams
31377	}
31378	return nil
31379}
31380
31381// SetPatchFilters sets the PatchFilters field's value.
31382func (s *PatchFilterGroup) SetPatchFilters(v []*PatchFilter) *PatchFilterGroup {
31383	s.PatchFilters = v
31384	return s
31385}
31386
31387// The mapping between a patch group and the patch baseline the patch group
31388// is registered with.
31389type PatchGroupPatchBaselineMapping struct {
31390	_ struct{} `type:"structure"`
31391
31392	// The patch baseline the patch group is registered with.
31393	BaselineIdentity *PatchBaselineIdentity `type:"structure"`
31394
31395	// The name of the patch group registered with the patch baseline.
31396	PatchGroup *string `min:"1" type:"string"`
31397}
31398
31399// String returns the string representation
31400func (s PatchGroupPatchBaselineMapping) String() string {
31401	return awsutil.Prettify(s)
31402}
31403
31404// GoString returns the string representation
31405func (s PatchGroupPatchBaselineMapping) GoString() string {
31406	return s.String()
31407}
31408
31409// SetBaselineIdentity sets the BaselineIdentity field's value.
31410func (s *PatchGroupPatchBaselineMapping) SetBaselineIdentity(v *PatchBaselineIdentity) *PatchGroupPatchBaselineMapping {
31411	s.BaselineIdentity = v
31412	return s
31413}
31414
31415// SetPatchGroup sets the PatchGroup field's value.
31416func (s *PatchGroupPatchBaselineMapping) SetPatchGroup(v string) *PatchGroupPatchBaselineMapping {
31417	s.PatchGroup = &v
31418	return s
31419}
31420
31421// Defines a filter used in Patch Manager APIs.
31422type PatchOrchestratorFilter struct {
31423	_ struct{} `type:"structure"`
31424
31425	// The key for the filter.
31426	Key *string `min:"1" type:"string"`
31427
31428	// The value for the filter.
31429	Values []*string `type:"list"`
31430}
31431
31432// String returns the string representation
31433func (s PatchOrchestratorFilter) String() string {
31434	return awsutil.Prettify(s)
31435}
31436
31437// GoString returns the string representation
31438func (s PatchOrchestratorFilter) GoString() string {
31439	return s.String()
31440}
31441
31442// Validate inspects the fields of the type to determine if they are valid.
31443func (s *PatchOrchestratorFilter) Validate() error {
31444	invalidParams := request.ErrInvalidParams{Context: "PatchOrchestratorFilter"}
31445	if s.Key != nil && len(*s.Key) < 1 {
31446		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
31447	}
31448
31449	if invalidParams.Len() > 0 {
31450		return invalidParams
31451	}
31452	return nil
31453}
31454
31455// SetKey sets the Key field's value.
31456func (s *PatchOrchestratorFilter) SetKey(v string) *PatchOrchestratorFilter {
31457	s.Key = &v
31458	return s
31459}
31460
31461// SetValues sets the Values field's value.
31462func (s *PatchOrchestratorFilter) SetValues(v []*string) *PatchOrchestratorFilter {
31463	s.Values = v
31464	return s
31465}
31466
31467// Defines an approval rule for a patch baseline.
31468type PatchRule struct {
31469	_ struct{} `type:"structure"`
31470
31471	// The number of days after the release date of each patch matched by the rule
31472	// that the patch is marked as approved in the patch baseline. For example,
31473	// a value of 7 means that patches are approved seven days after they are released.
31474	//
31475	// ApproveAfterDays is a required field
31476	ApproveAfterDays *int64 `type:"integer" required:"true"`
31477
31478	// A compliance severity level for all approved patches in a patch baseline.
31479	// Valid compliance severity levels include the following: Unspecified, Critical,
31480	// High, Medium, Low, and Informational.
31481	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
31482
31483	// For instances identified by the approval rule filters, enables a patch baseline
31484	// to apply non-security updates available in the specified repository. The
31485	// default value is 'false'. Applies to Linux instances only.
31486	EnableNonSecurity *bool `type:"boolean"`
31487
31488	// The patch filter group that defines the criteria for the rule.
31489	//
31490	// PatchFilterGroup is a required field
31491	PatchFilterGroup *PatchFilterGroup `type:"structure" required:"true"`
31492}
31493
31494// String returns the string representation
31495func (s PatchRule) String() string {
31496	return awsutil.Prettify(s)
31497}
31498
31499// GoString returns the string representation
31500func (s PatchRule) GoString() string {
31501	return s.String()
31502}
31503
31504// Validate inspects the fields of the type to determine if they are valid.
31505func (s *PatchRule) Validate() error {
31506	invalidParams := request.ErrInvalidParams{Context: "PatchRule"}
31507	if s.ApproveAfterDays == nil {
31508		invalidParams.Add(request.NewErrParamRequired("ApproveAfterDays"))
31509	}
31510	if s.PatchFilterGroup == nil {
31511		invalidParams.Add(request.NewErrParamRequired("PatchFilterGroup"))
31512	}
31513	if s.PatchFilterGroup != nil {
31514		if err := s.PatchFilterGroup.Validate(); err != nil {
31515			invalidParams.AddNested("PatchFilterGroup", err.(request.ErrInvalidParams))
31516		}
31517	}
31518
31519	if invalidParams.Len() > 0 {
31520		return invalidParams
31521	}
31522	return nil
31523}
31524
31525// SetApproveAfterDays sets the ApproveAfterDays field's value.
31526func (s *PatchRule) SetApproveAfterDays(v int64) *PatchRule {
31527	s.ApproveAfterDays = &v
31528	return s
31529}
31530
31531// SetComplianceLevel sets the ComplianceLevel field's value.
31532func (s *PatchRule) SetComplianceLevel(v string) *PatchRule {
31533	s.ComplianceLevel = &v
31534	return s
31535}
31536
31537// SetEnableNonSecurity sets the EnableNonSecurity field's value.
31538func (s *PatchRule) SetEnableNonSecurity(v bool) *PatchRule {
31539	s.EnableNonSecurity = &v
31540	return s
31541}
31542
31543// SetPatchFilterGroup sets the PatchFilterGroup field's value.
31544func (s *PatchRule) SetPatchFilterGroup(v *PatchFilterGroup) *PatchRule {
31545	s.PatchFilterGroup = v
31546	return s
31547}
31548
31549// A set of rules defining the approval rules for a patch baseline.
31550type PatchRuleGroup struct {
31551	_ struct{} `type:"structure"`
31552
31553	// The rules that make up the rule group.
31554	//
31555	// PatchRules is a required field
31556	PatchRules []*PatchRule `type:"list" required:"true"`
31557}
31558
31559// String returns the string representation
31560func (s PatchRuleGroup) String() string {
31561	return awsutil.Prettify(s)
31562}
31563
31564// GoString returns the string representation
31565func (s PatchRuleGroup) GoString() string {
31566	return s.String()
31567}
31568
31569// Validate inspects the fields of the type to determine if they are valid.
31570func (s *PatchRuleGroup) Validate() error {
31571	invalidParams := request.ErrInvalidParams{Context: "PatchRuleGroup"}
31572	if s.PatchRules == nil {
31573		invalidParams.Add(request.NewErrParamRequired("PatchRules"))
31574	}
31575	if s.PatchRules != nil {
31576		for i, v := range s.PatchRules {
31577			if v == nil {
31578				continue
31579			}
31580			if err := v.Validate(); err != nil {
31581				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchRules", i), err.(request.ErrInvalidParams))
31582			}
31583		}
31584	}
31585
31586	if invalidParams.Len() > 0 {
31587		return invalidParams
31588	}
31589	return nil
31590}
31591
31592// SetPatchRules sets the PatchRules field's value.
31593func (s *PatchRuleGroup) SetPatchRules(v []*PatchRule) *PatchRuleGroup {
31594	s.PatchRules = v
31595	return s
31596}
31597
31598// Information about the patches to use to update the instances, including target
31599// operating systems and source repository. Applies to Linux instances only.
31600type PatchSource struct {
31601	_ struct{} `type:"structure"`
31602
31603	// The value of the yum repo configuration. For example:
31604	//
31605	// [main]
31606	//
31607	// cachedir=/var/cache/yum/$basesearch$releasever
31608	//
31609	// keepcache=0
31610	//
31611	// debuglevel=2
31612	//
31613	// Configuration is a required field
31614	Configuration *string `min:"1" type:"string" required:"true" sensitive:"true"`
31615
31616	// The name specified to identify the patch source.
31617	//
31618	// Name is a required field
31619	Name *string `type:"string" required:"true"`
31620
31621	// The specific operating system versions a patch repository applies to, such
31622	// as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7".
31623	// For lists of supported product values, see PatchFilter.
31624	//
31625	// Products is a required field
31626	Products []*string `min:"1" type:"list" required:"true"`
31627}
31628
31629// String returns the string representation
31630func (s PatchSource) String() string {
31631	return awsutil.Prettify(s)
31632}
31633
31634// GoString returns the string representation
31635func (s PatchSource) GoString() string {
31636	return s.String()
31637}
31638
31639// Validate inspects the fields of the type to determine if they are valid.
31640func (s *PatchSource) Validate() error {
31641	invalidParams := request.ErrInvalidParams{Context: "PatchSource"}
31642	if s.Configuration == nil {
31643		invalidParams.Add(request.NewErrParamRequired("Configuration"))
31644	}
31645	if s.Configuration != nil && len(*s.Configuration) < 1 {
31646		invalidParams.Add(request.NewErrParamMinLen("Configuration", 1))
31647	}
31648	if s.Name == nil {
31649		invalidParams.Add(request.NewErrParamRequired("Name"))
31650	}
31651	if s.Products == nil {
31652		invalidParams.Add(request.NewErrParamRequired("Products"))
31653	}
31654	if s.Products != nil && len(s.Products) < 1 {
31655		invalidParams.Add(request.NewErrParamMinLen("Products", 1))
31656	}
31657
31658	if invalidParams.Len() > 0 {
31659		return invalidParams
31660	}
31661	return nil
31662}
31663
31664// SetConfiguration sets the Configuration field's value.
31665func (s *PatchSource) SetConfiguration(v string) *PatchSource {
31666	s.Configuration = &v
31667	return s
31668}
31669
31670// SetName sets the Name field's value.
31671func (s *PatchSource) SetName(v string) *PatchSource {
31672	s.Name = &v
31673	return s
31674}
31675
31676// SetProducts sets the Products field's value.
31677func (s *PatchSource) SetProducts(v []*string) *PatchSource {
31678	s.Products = v
31679	return s
31680}
31681
31682// Information about the approval status of a patch.
31683type PatchStatus struct {
31684	_ struct{} `type:"structure"`
31685
31686	// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).
31687	ApprovalDate *time.Time `type:"timestamp"`
31688
31689	// The compliance severity level for a patch.
31690	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
31691
31692	// The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED,
31693	// EXPLICIT_REJECTED).
31694	DeploymentStatus *string `type:"string" enum:"PatchDeploymentStatus"`
31695}
31696
31697// String returns the string representation
31698func (s PatchStatus) String() string {
31699	return awsutil.Prettify(s)
31700}
31701
31702// GoString returns the string representation
31703func (s PatchStatus) GoString() string {
31704	return s.String()
31705}
31706
31707// SetApprovalDate sets the ApprovalDate field's value.
31708func (s *PatchStatus) SetApprovalDate(v time.Time) *PatchStatus {
31709	s.ApprovalDate = &v
31710	return s
31711}
31712
31713// SetComplianceLevel sets the ComplianceLevel field's value.
31714func (s *PatchStatus) SetComplianceLevel(v string) *PatchStatus {
31715	s.ComplianceLevel = &v
31716	return s
31717}
31718
31719// SetDeploymentStatus sets the DeploymentStatus field's value.
31720func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus {
31721	s.DeploymentStatus = &v
31722	return s
31723}
31724
31725// An aggregate of step execution statuses displayed in the AWS Console for
31726// a multi-Region and multi-account Automation execution.
31727type ProgressCounters struct {
31728	_ struct{} `type:"structure"`
31729
31730	// The total number of steps that the system cancelled in all specified AWS
31731	// Regions and accounts for the current Automation execution.
31732	CancelledSteps *int64 `type:"integer"`
31733
31734	// The total number of steps that failed to run in all specified AWS Regions
31735	// and accounts for the current Automation execution.
31736	FailedSteps *int64 `type:"integer"`
31737
31738	// The total number of steps that successfully completed in all specified AWS
31739	// Regions and accounts for the current Automation execution.
31740	SuccessSteps *int64 `type:"integer"`
31741
31742	// The total number of steps that timed out in all specified AWS Regions and
31743	// accounts for the current Automation execution.
31744	TimedOutSteps *int64 `type:"integer"`
31745
31746	// The total number of steps run in all specified AWS Regions and accounts for
31747	// the current Automation execution.
31748	TotalSteps *int64 `type:"integer"`
31749}
31750
31751// String returns the string representation
31752func (s ProgressCounters) String() string {
31753	return awsutil.Prettify(s)
31754}
31755
31756// GoString returns the string representation
31757func (s ProgressCounters) GoString() string {
31758	return s.String()
31759}
31760
31761// SetCancelledSteps sets the CancelledSteps field's value.
31762func (s *ProgressCounters) SetCancelledSteps(v int64) *ProgressCounters {
31763	s.CancelledSteps = &v
31764	return s
31765}
31766
31767// SetFailedSteps sets the FailedSteps field's value.
31768func (s *ProgressCounters) SetFailedSteps(v int64) *ProgressCounters {
31769	s.FailedSteps = &v
31770	return s
31771}
31772
31773// SetSuccessSteps sets the SuccessSteps field's value.
31774func (s *ProgressCounters) SetSuccessSteps(v int64) *ProgressCounters {
31775	s.SuccessSteps = &v
31776	return s
31777}
31778
31779// SetTimedOutSteps sets the TimedOutSteps field's value.
31780func (s *ProgressCounters) SetTimedOutSteps(v int64) *ProgressCounters {
31781	s.TimedOutSteps = &v
31782	return s
31783}
31784
31785// SetTotalSteps sets the TotalSteps field's value.
31786func (s *ProgressCounters) SetTotalSteps(v int64) *ProgressCounters {
31787	s.TotalSteps = &v
31788	return s
31789}
31790
31791type PutComplianceItemsInput struct {
31792	_ struct{} `type:"structure"`
31793
31794	// Specify the compliance type. For example, specify Association (for a State
31795	// Manager association), Patch, or Custom:string.
31796	//
31797	// ComplianceType is a required field
31798	ComplianceType *string `min:"1" type:"string" required:"true"`
31799
31800	// A summary of the call execution that includes an execution ID, the type of
31801	// execution (for example, Command), and the date/time of the execution using
31802	// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
31803	//
31804	// ExecutionSummary is a required field
31805	ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"`
31806
31807	// MD5 or SHA-256 content hash. The content hash is used to determine if existing
31808	// information should be overwritten or ignored. If the content hashes match,
31809	// the request to put compliance information is ignored.
31810	ItemContentHash *string `type:"string"`
31811
31812	// Information about the compliance as defined by the resource type. For example,
31813	// for a patch compliance type, Items includes information about the PatchSeverity,
31814	// Classification, etc.
31815	//
31816	// Items is a required field
31817	Items []*ComplianceItemEntry `type:"list" required:"true"`
31818
31819	// Specify an ID for this resource. For a managed instance, this is the instance
31820	// ID.
31821	//
31822	// ResourceId is a required field
31823	ResourceId *string `min:"1" type:"string" required:"true"`
31824
31825	// Specify the type of resource. ManagedInstance is currently the only supported
31826	// resource type.
31827	//
31828	// ResourceType is a required field
31829	ResourceType *string `min:"1" type:"string" required:"true"`
31830}
31831
31832// String returns the string representation
31833func (s PutComplianceItemsInput) String() string {
31834	return awsutil.Prettify(s)
31835}
31836
31837// GoString returns the string representation
31838func (s PutComplianceItemsInput) GoString() string {
31839	return s.String()
31840}
31841
31842// Validate inspects the fields of the type to determine if they are valid.
31843func (s *PutComplianceItemsInput) Validate() error {
31844	invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"}
31845	if s.ComplianceType == nil {
31846		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
31847	}
31848	if s.ComplianceType != nil && len(*s.ComplianceType) < 1 {
31849		invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1))
31850	}
31851	if s.ExecutionSummary == nil {
31852		invalidParams.Add(request.NewErrParamRequired("ExecutionSummary"))
31853	}
31854	if s.Items == nil {
31855		invalidParams.Add(request.NewErrParamRequired("Items"))
31856	}
31857	if s.ResourceId == nil {
31858		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
31859	}
31860	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
31861		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
31862	}
31863	if s.ResourceType == nil {
31864		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
31865	}
31866	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
31867		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
31868	}
31869	if s.ExecutionSummary != nil {
31870		if err := s.ExecutionSummary.Validate(); err != nil {
31871			invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams))
31872		}
31873	}
31874	if s.Items != nil {
31875		for i, v := range s.Items {
31876			if v == nil {
31877				continue
31878			}
31879			if err := v.Validate(); err != nil {
31880				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
31881			}
31882		}
31883	}
31884
31885	if invalidParams.Len() > 0 {
31886		return invalidParams
31887	}
31888	return nil
31889}
31890
31891// SetComplianceType sets the ComplianceType field's value.
31892func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput {
31893	s.ComplianceType = &v
31894	return s
31895}
31896
31897// SetExecutionSummary sets the ExecutionSummary field's value.
31898func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput {
31899	s.ExecutionSummary = v
31900	return s
31901}
31902
31903// SetItemContentHash sets the ItemContentHash field's value.
31904func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput {
31905	s.ItemContentHash = &v
31906	return s
31907}
31908
31909// SetItems sets the Items field's value.
31910func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput {
31911	s.Items = v
31912	return s
31913}
31914
31915// SetResourceId sets the ResourceId field's value.
31916func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput {
31917	s.ResourceId = &v
31918	return s
31919}
31920
31921// SetResourceType sets the ResourceType field's value.
31922func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput {
31923	s.ResourceType = &v
31924	return s
31925}
31926
31927type PutComplianceItemsOutput struct {
31928	_ struct{} `type:"structure"`
31929}
31930
31931// String returns the string representation
31932func (s PutComplianceItemsOutput) String() string {
31933	return awsutil.Prettify(s)
31934}
31935
31936// GoString returns the string representation
31937func (s PutComplianceItemsOutput) GoString() string {
31938	return s.String()
31939}
31940
31941type PutInventoryInput struct {
31942	_ struct{} `type:"structure"`
31943
31944	// An instance ID where you want to add or update inventory items.
31945	//
31946	// InstanceId is a required field
31947	InstanceId *string `type:"string" required:"true"`
31948
31949	// The inventory items that you want to add or update on instances.
31950	//
31951	// Items is a required field
31952	Items []*InventoryItem `min:"1" type:"list" required:"true"`
31953}
31954
31955// String returns the string representation
31956func (s PutInventoryInput) String() string {
31957	return awsutil.Prettify(s)
31958}
31959
31960// GoString returns the string representation
31961func (s PutInventoryInput) GoString() string {
31962	return s.String()
31963}
31964
31965// Validate inspects the fields of the type to determine if they are valid.
31966func (s *PutInventoryInput) Validate() error {
31967	invalidParams := request.ErrInvalidParams{Context: "PutInventoryInput"}
31968	if s.InstanceId == nil {
31969		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
31970	}
31971	if s.Items == nil {
31972		invalidParams.Add(request.NewErrParamRequired("Items"))
31973	}
31974	if s.Items != nil && len(s.Items) < 1 {
31975		invalidParams.Add(request.NewErrParamMinLen("Items", 1))
31976	}
31977	if s.Items != nil {
31978		for i, v := range s.Items {
31979			if v == nil {
31980				continue
31981			}
31982			if err := v.Validate(); err != nil {
31983				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
31984			}
31985		}
31986	}
31987
31988	if invalidParams.Len() > 0 {
31989		return invalidParams
31990	}
31991	return nil
31992}
31993
31994// SetInstanceId sets the InstanceId field's value.
31995func (s *PutInventoryInput) SetInstanceId(v string) *PutInventoryInput {
31996	s.InstanceId = &v
31997	return s
31998}
31999
32000// SetItems sets the Items field's value.
32001func (s *PutInventoryInput) SetItems(v []*InventoryItem) *PutInventoryInput {
32002	s.Items = v
32003	return s
32004}
32005
32006type PutInventoryOutput struct {
32007	_ struct{} `type:"structure"`
32008
32009	// Information about the request.
32010	Message *string `type:"string"`
32011}
32012
32013// String returns the string representation
32014func (s PutInventoryOutput) String() string {
32015	return awsutil.Prettify(s)
32016}
32017
32018// GoString returns the string representation
32019func (s PutInventoryOutput) GoString() string {
32020	return s.String()
32021}
32022
32023// SetMessage sets the Message field's value.
32024func (s *PutInventoryOutput) SetMessage(v string) *PutInventoryOutput {
32025	s.Message = &v
32026	return s
32027}
32028
32029type PutParameterInput struct {
32030	_ struct{} `type:"structure"`
32031
32032	// A regular expression used to validate the parameter value. For example, for
32033	// String types with values restricted to numbers, you can specify the following:
32034	// AllowedPattern=^\d+$
32035	AllowedPattern *string `type:"string"`
32036
32037	// Information about the parameter that you want to add to the system. Optional
32038	// but recommended.
32039	//
32040	// Do not enter personally identifiable information in this field.
32041	Description *string `type:"string"`
32042
32043	// The KMS Key ID that you want to use to encrypt a parameter. Either the default
32044	// AWS Key Management Service (AWS KMS) key automatically assigned to your AWS
32045	// account or a custom key. Required for parameters that use the SecureString
32046	// data type.
32047	//
32048	// If you don't specify a key ID, the system uses the default key associated
32049	// with your AWS account.
32050	//
32051	//    * To use your default AWS KMS key, choose the SecureString data type,
32052	//    and do not specify the Key ID when you create the parameter. The system
32053	//    automatically populates Key ID with your default KMS key.
32054	//
32055	//    * To use a custom KMS key, choose the SecureString data type with the
32056	//    Key ID parameter.
32057	KeyId *string `min:"1" type:"string"`
32058
32059	// The fully qualified name of the parameter that you want to add to the system.
32060	// The fully qualified name includes the complete hierarchy of the parameter
32061	// path and name. For example: /Dev/DBServer/MySQL/db-string13
32062	//
32063	// Naming Constraints:
32064	//
32065	//    * Parameter names are case sensitive.
32066	//
32067	//    * A parameter name must be unique within an AWS Region
32068	//
32069	//    * A parameter name can't be prefixed with "aws" or "ssm" (case-insensitive).
32070	//
32071	//    * Parameter names can include only the following symbols and letters:
32072	//    a-zA-Z0-9_.-/
32073	//
32074	//    * A parameter name can't include spaces.
32075	//
32076	//    * Parameter hierarchies are limited to a maximum depth of fifteen levels.
32077	//
32078	// For additional information about valid values for parameter names, see Requirements
32079	// and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
32080	// in the AWS Systems Manager User Guide.
32081	//
32082	// The maximum length constraint listed below includes capacity for additional
32083	// system attributes that are not part of the name. The maximum length for the
32084	// fully qualified parameter name is 1011 characters, including the full length
32085	// of the parameter ARN. For example, the following fully qualified parameter
32086	// name is 65 characters, not 20 characters:
32087	//
32088	// arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName
32089	//
32090	// Name is a required field
32091	Name *string `min:"1" type:"string" required:"true"`
32092
32093	// Overwrite an existing parameter. If not specified, will default to "false".
32094	Overwrite *bool `type:"boolean"`
32095
32096	// One or more policies to apply to a parameter. This action takes a JSON array.
32097	// Parameter Store supports the following policy types:
32098	//
32099	// Expiration: This policy deletes the parameter after it expires. When you
32100	// create the policy, you specify the expiration date. You can update the expiration
32101	// date and time by updating the policy. Updating the parameter does not affect
32102	// the expiration date and time. When the expiration time is reached, Parameter
32103	// Store deletes the parameter.
32104	//
32105	// ExpirationNotification: This policy triggers an event in Amazon CloudWatch
32106	// Events that notifies you about the expiration. By using this policy, you
32107	// can receive notification before or after the expiration time is reached,
32108	// in units of days or hours.
32109	//
32110	// NoChangeNotification: This policy triggers a CloudWatch event if a parameter
32111	// has not been modified for a specified period of time. This policy type is
32112	// useful when, for example, a secret needs to be changed within a period of
32113	// time, but it has not been changed.
32114	//
32115	// All existing policies are preserved until you send new policies or an empty
32116	// policy. For more information about parameter policies, see Working with Parameter
32117	// Policies (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-policies.html).
32118	Policies *string `min:"1" type:"string"`
32119
32120	// Optional metadata that you assign to a resource. Tags enable you to categorize
32121	// a resource in different ways, such as by purpose, owner, or environment.
32122	// For example, you might want to tag a Systems Manager parameter to identify
32123	// the type of resource to which it applies, the environment, or the type of
32124	// configuration data referenced by the parameter. In this case, you could specify
32125	// the following key name/value pairs:
32126	//
32127	//    * Key=Resource,Value=S3bucket
32128	//
32129	//    * Key=OS,Value=Windows
32130	//
32131	//    * Key=ParameterType,Value=LicenseKey
32132	//
32133	// To add tags to an existing Systems Manager parameter, use the AddTagsToResource
32134	// action.
32135	Tags []*Tag `type:"list"`
32136
32137	// The parameter tier to assign to a parameter.
32138	//
32139	// Parameter Store offers a standard tier and an advanced tier for parameters.
32140	// Standard parameters have a content size limit of 4 KB and can't be configured
32141	// to use parameter policies. You can create a maximum of 10,000 standard parameters
32142	// for each Region in an AWS account. Standard parameters are offered at no
32143	// additional cost.
32144	//
32145	// Advanced parameters have a content size limit of 8 KB and can be configured
32146	// to use parameter policies. You can create a maximum of 100,000 advanced parameters
32147	// for each Region in an AWS account. Advanced parameters incur a charge. For
32148	// more information, see About Advanced Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html)
32149	// in the AWS Systems Manager User Guide.
32150	//
32151	// You can change a standard parameter to an advanced parameter any time. But
32152	// you can't revert an advanced parameter to a standard parameter. Reverting
32153	// an advanced parameter to a standard parameter would result in data loss because
32154	// the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting
32155	// would also remove any policies attached to the parameter. Lastly, advanced
32156	// parameters use a different form of encryption than standard parameters.
32157	//
32158	// If you no longer need an advanced parameter, or if you no longer want to
32159	// incur charges for an advanced parameter, you must delete it and recreate
32160	// it as a new standard parameter.
32161	//
32162	// Using the Default Tier Configuration
32163	//
32164	// In PutParameter requests, you can specify the tier to create the parameter
32165	// in. Whenever you specify a tier in the request, Parameter Store creates or
32166	// updates the parameter according to that request. However, if you do not specify
32167	// a tier in a request, Parameter Store assigns the tier based on the current
32168	// Parameter Store default tier configuration.
32169	//
32170	// The default tier when you begin using Parameter Store is the standard-parameter
32171	// tier. If you use the advanced-parameter tier, you can specify one of the
32172	// following as the default:
32173	//
32174	//    * Advanced: With this option, Parameter Store evaluates all requests as
32175	//    advanced parameters.
32176	//
32177	//    * Intelligent-Tiering: With this option, Parameter Store evaluates each
32178	//    request to determine if the parameter is standard or advanced. If the
32179	//    request doesn't include any options that require an advanced parameter,
32180	//    the parameter is created in the standard-parameter tier. If one or more
32181	//    options requiring an advanced parameter are included in the request, Parameter
32182	//    Store create a parameter in the advanced-parameter tier. This approach
32183	//    helps control your parameter-related costs by always creating standard
32184	//    parameters unless an advanced parameter is necessary.
32185	//
32186	// Options that require an advanced parameter include the following:
32187	//
32188	//    * The content size of the parameter is more than 4 KB.
32189	//
32190	//    * The parameter uses a parameter policy.
32191	//
32192	//    * More than 10,000 parameters already exist in your AWS account in the
32193	//    current Region.
32194	//
32195	// For more information about configuring the default tier option, see Specifying
32196	// a Default Parameter Tier (http://docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html)
32197	// in the AWS Systems Manager User Guide.
32198	Tier *string `type:"string" enum:"ParameterTier"`
32199
32200	// The type of parameter that you want to add to the system.
32201	//
32202	// Items in a StringList must be separated by a comma (,). You can't use other
32203	// punctuation or special character to escape items in the list. If you have
32204	// a parameter value that requires a comma, then use the String data type.
32205	//
32206	// SecureString is not currently supported for AWS CloudFormation templates
32207	// or in the China Regions.
32208	//
32209	// Type is a required field
32210	Type *string `type:"string" required:"true" enum:"ParameterType"`
32211
32212	// The parameter value that you want to add to the system. Standard parameters
32213	// have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.
32214	//
32215	// Value is a required field
32216	Value *string `type:"string" required:"true"`
32217}
32218
32219// String returns the string representation
32220func (s PutParameterInput) String() string {
32221	return awsutil.Prettify(s)
32222}
32223
32224// GoString returns the string representation
32225func (s PutParameterInput) GoString() string {
32226	return s.String()
32227}
32228
32229// Validate inspects the fields of the type to determine if they are valid.
32230func (s *PutParameterInput) Validate() error {
32231	invalidParams := request.ErrInvalidParams{Context: "PutParameterInput"}
32232	if s.KeyId != nil && len(*s.KeyId) < 1 {
32233		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
32234	}
32235	if s.Name == nil {
32236		invalidParams.Add(request.NewErrParamRequired("Name"))
32237	}
32238	if s.Name != nil && len(*s.Name) < 1 {
32239		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
32240	}
32241	if s.Policies != nil && len(*s.Policies) < 1 {
32242		invalidParams.Add(request.NewErrParamMinLen("Policies", 1))
32243	}
32244	if s.Type == nil {
32245		invalidParams.Add(request.NewErrParamRequired("Type"))
32246	}
32247	if s.Value == nil {
32248		invalidParams.Add(request.NewErrParamRequired("Value"))
32249	}
32250	if s.Tags != nil {
32251		for i, v := range s.Tags {
32252			if v == nil {
32253				continue
32254			}
32255			if err := v.Validate(); err != nil {
32256				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
32257			}
32258		}
32259	}
32260
32261	if invalidParams.Len() > 0 {
32262		return invalidParams
32263	}
32264	return nil
32265}
32266
32267// SetAllowedPattern sets the AllowedPattern field's value.
32268func (s *PutParameterInput) SetAllowedPattern(v string) *PutParameterInput {
32269	s.AllowedPattern = &v
32270	return s
32271}
32272
32273// SetDescription sets the Description field's value.
32274func (s *PutParameterInput) SetDescription(v string) *PutParameterInput {
32275	s.Description = &v
32276	return s
32277}
32278
32279// SetKeyId sets the KeyId field's value.
32280func (s *PutParameterInput) SetKeyId(v string) *PutParameterInput {
32281	s.KeyId = &v
32282	return s
32283}
32284
32285// SetName sets the Name field's value.
32286func (s *PutParameterInput) SetName(v string) *PutParameterInput {
32287	s.Name = &v
32288	return s
32289}
32290
32291// SetOverwrite sets the Overwrite field's value.
32292func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput {
32293	s.Overwrite = &v
32294	return s
32295}
32296
32297// SetPolicies sets the Policies field's value.
32298func (s *PutParameterInput) SetPolicies(v string) *PutParameterInput {
32299	s.Policies = &v
32300	return s
32301}
32302
32303// SetTags sets the Tags field's value.
32304func (s *PutParameterInput) SetTags(v []*Tag) *PutParameterInput {
32305	s.Tags = v
32306	return s
32307}
32308
32309// SetTier sets the Tier field's value.
32310func (s *PutParameterInput) SetTier(v string) *PutParameterInput {
32311	s.Tier = &v
32312	return s
32313}
32314
32315// SetType sets the Type field's value.
32316func (s *PutParameterInput) SetType(v string) *PutParameterInput {
32317	s.Type = &v
32318	return s
32319}
32320
32321// SetValue sets the Value field's value.
32322func (s *PutParameterInput) SetValue(v string) *PutParameterInput {
32323	s.Value = &v
32324	return s
32325}
32326
32327type PutParameterOutput struct {
32328	_ struct{} `type:"structure"`
32329
32330	// The tier assigned to the parameter.
32331	Tier *string `type:"string" enum:"ParameterTier"`
32332
32333	// The new version number of a parameter. If you edit a parameter value, Parameter
32334	// Store automatically creates a new version and assigns this new version a
32335	// unique ID. You can reference a parameter version ID in API actions or in
32336	// Systems Manager documents (SSM documents). By default, if you don't specify
32337	// a specific version, the system returns the latest parameter value when a
32338	// parameter is called.
32339	Version *int64 `type:"long"`
32340}
32341
32342// String returns the string representation
32343func (s PutParameterOutput) String() string {
32344	return awsutil.Prettify(s)
32345}
32346
32347// GoString returns the string representation
32348func (s PutParameterOutput) GoString() string {
32349	return s.String()
32350}
32351
32352// SetTier sets the Tier field's value.
32353func (s *PutParameterOutput) SetTier(v string) *PutParameterOutput {
32354	s.Tier = &v
32355	return s
32356}
32357
32358// SetVersion sets the Version field's value.
32359func (s *PutParameterOutput) SetVersion(v int64) *PutParameterOutput {
32360	s.Version = &v
32361	return s
32362}
32363
32364type RegisterDefaultPatchBaselineInput struct {
32365	_ struct{} `type:"structure"`
32366
32367	// The ID of the patch baseline that should be the default patch baseline.
32368	//
32369	// BaselineId is a required field
32370	BaselineId *string `min:"20" type:"string" required:"true"`
32371}
32372
32373// String returns the string representation
32374func (s RegisterDefaultPatchBaselineInput) String() string {
32375	return awsutil.Prettify(s)
32376}
32377
32378// GoString returns the string representation
32379func (s RegisterDefaultPatchBaselineInput) GoString() string {
32380	return s.String()
32381}
32382
32383// Validate inspects the fields of the type to determine if they are valid.
32384func (s *RegisterDefaultPatchBaselineInput) Validate() error {
32385	invalidParams := request.ErrInvalidParams{Context: "RegisterDefaultPatchBaselineInput"}
32386	if s.BaselineId == nil {
32387		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
32388	}
32389	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
32390		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
32391	}
32392
32393	if invalidParams.Len() > 0 {
32394		return invalidParams
32395	}
32396	return nil
32397}
32398
32399// SetBaselineId sets the BaselineId field's value.
32400func (s *RegisterDefaultPatchBaselineInput) SetBaselineId(v string) *RegisterDefaultPatchBaselineInput {
32401	s.BaselineId = &v
32402	return s
32403}
32404
32405type RegisterDefaultPatchBaselineOutput struct {
32406	_ struct{} `type:"structure"`
32407
32408	// The ID of the default patch baseline.
32409	BaselineId *string `min:"20" type:"string"`
32410}
32411
32412// String returns the string representation
32413func (s RegisterDefaultPatchBaselineOutput) String() string {
32414	return awsutil.Prettify(s)
32415}
32416
32417// GoString returns the string representation
32418func (s RegisterDefaultPatchBaselineOutput) GoString() string {
32419	return s.String()
32420}
32421
32422// SetBaselineId sets the BaselineId field's value.
32423func (s *RegisterDefaultPatchBaselineOutput) SetBaselineId(v string) *RegisterDefaultPatchBaselineOutput {
32424	s.BaselineId = &v
32425	return s
32426}
32427
32428type RegisterPatchBaselineForPatchGroupInput struct {
32429	_ struct{} `type:"structure"`
32430
32431	// The ID of the patch baseline to register the patch group with.
32432	//
32433	// BaselineId is a required field
32434	BaselineId *string `min:"20" type:"string" required:"true"`
32435
32436	// The name of the patch group that should be registered with the patch baseline.
32437	//
32438	// PatchGroup is a required field
32439	PatchGroup *string `min:"1" type:"string" required:"true"`
32440}
32441
32442// String returns the string representation
32443func (s RegisterPatchBaselineForPatchGroupInput) String() string {
32444	return awsutil.Prettify(s)
32445}
32446
32447// GoString returns the string representation
32448func (s RegisterPatchBaselineForPatchGroupInput) GoString() string {
32449	return s.String()
32450}
32451
32452// Validate inspects the fields of the type to determine if they are valid.
32453func (s *RegisterPatchBaselineForPatchGroupInput) Validate() error {
32454	invalidParams := request.ErrInvalidParams{Context: "RegisterPatchBaselineForPatchGroupInput"}
32455	if s.BaselineId == nil {
32456		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
32457	}
32458	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
32459		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
32460	}
32461	if s.PatchGroup == nil {
32462		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
32463	}
32464	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
32465		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
32466	}
32467
32468	if invalidParams.Len() > 0 {
32469		return invalidParams
32470	}
32471	return nil
32472}
32473
32474// SetBaselineId sets the BaselineId field's value.
32475func (s *RegisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupInput {
32476	s.BaselineId = &v
32477	return s
32478}
32479
32480// SetPatchGroup sets the PatchGroup field's value.
32481func (s *RegisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupInput {
32482	s.PatchGroup = &v
32483	return s
32484}
32485
32486type RegisterPatchBaselineForPatchGroupOutput struct {
32487	_ struct{} `type:"structure"`
32488
32489	// The ID of the patch baseline the patch group was registered with.
32490	BaselineId *string `min:"20" type:"string"`
32491
32492	// The name of the patch group registered with the patch baseline.
32493	PatchGroup *string `min:"1" type:"string"`
32494}
32495
32496// String returns the string representation
32497func (s RegisterPatchBaselineForPatchGroupOutput) String() string {
32498	return awsutil.Prettify(s)
32499}
32500
32501// GoString returns the string representation
32502func (s RegisterPatchBaselineForPatchGroupOutput) GoString() string {
32503	return s.String()
32504}
32505
32506// SetBaselineId sets the BaselineId field's value.
32507func (s *RegisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupOutput {
32508	s.BaselineId = &v
32509	return s
32510}
32511
32512// SetPatchGroup sets the PatchGroup field's value.
32513func (s *RegisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupOutput {
32514	s.PatchGroup = &v
32515	return s
32516}
32517
32518type RegisterTargetWithMaintenanceWindowInput struct {
32519	_ struct{} `type:"structure"`
32520
32521	// User-provided idempotency token.
32522	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
32523
32524	// An optional description for the target.
32525	Description *string `min:"1" type:"string" sensitive:"true"`
32526
32527	// An optional name for the target.
32528	Name *string `min:"3" type:"string"`
32529
32530	// User-provided value that will be included in any CloudWatch events raised
32531	// while running tasks for these targets in this maintenance window.
32532	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
32533
32534	// The type of target being registered with the maintenance window.
32535	//
32536	// ResourceType is a required field
32537	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
32538
32539	// The targets to register with the maintenance window. In other words, the
32540	// instances to run commands on when the maintenance window runs.
32541	//
32542	// You can specify targets using instance IDs, resource group names, or tags
32543	// that have been applied to instances.
32544	//
32545	// Example 1: Specify instance IDs
32546	//
32547	// Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
32548	//
32549	// Example 2: Use tag key-pairs applied to instances
32550	//
32551	// Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
32552	//
32553	// Example 3: Use tag-keys applied to instances
32554	//
32555	// Key=tag-key,Values=my-tag-key-1,my-tag-key-2
32556	//
32557	// Example 4: Use resource group names
32558	//
32559	// Key=resource-groups:Name,Values=resource-group-name
32560	//
32561	// Example 5: Use filters for resource group types
32562	//
32563	// Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
32564	//
32565	// For Key=resource-groups:ResourceTypeFilters, specify resource types in the
32566	// following format
32567	//
32568	// Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
32569	//
32570	// For more information about these examples formats, including the best use
32571	// case for each one, see Examples: Register Targets with a Maintenance Window
32572	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html)
32573	// in the AWS Systems Manager User Guide.
32574	//
32575	// Targets is a required field
32576	Targets []*Target `type:"list" required:"true"`
32577
32578	// The ID of the maintenance window the target should be registered with.
32579	//
32580	// WindowId is a required field
32581	WindowId *string `min:"20" type:"string" required:"true"`
32582}
32583
32584// String returns the string representation
32585func (s RegisterTargetWithMaintenanceWindowInput) String() string {
32586	return awsutil.Prettify(s)
32587}
32588
32589// GoString returns the string representation
32590func (s RegisterTargetWithMaintenanceWindowInput) GoString() string {
32591	return s.String()
32592}
32593
32594// Validate inspects the fields of the type to determine if they are valid.
32595func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error {
32596	invalidParams := request.ErrInvalidParams{Context: "RegisterTargetWithMaintenanceWindowInput"}
32597	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
32598		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
32599	}
32600	if s.Description != nil && len(*s.Description) < 1 {
32601		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
32602	}
32603	if s.Name != nil && len(*s.Name) < 3 {
32604		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
32605	}
32606	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
32607		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
32608	}
32609	if s.ResourceType == nil {
32610		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
32611	}
32612	if s.Targets == nil {
32613		invalidParams.Add(request.NewErrParamRequired("Targets"))
32614	}
32615	if s.WindowId == nil {
32616		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32617	}
32618	if s.WindowId != nil && len(*s.WindowId) < 20 {
32619		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32620	}
32621	if s.Targets != nil {
32622		for i, v := range s.Targets {
32623			if v == nil {
32624				continue
32625			}
32626			if err := v.Validate(); err != nil {
32627				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
32628			}
32629		}
32630	}
32631
32632	if invalidParams.Len() > 0 {
32633		return invalidParams
32634	}
32635	return nil
32636}
32637
32638// SetClientToken sets the ClientToken field's value.
32639func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTargetWithMaintenanceWindowInput {
32640	s.ClientToken = &v
32641	return s
32642}
32643
32644// SetDescription sets the Description field's value.
32645func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput {
32646	s.Description = &v
32647	return s
32648}
32649
32650// SetName sets the Name field's value.
32651func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput {
32652	s.Name = &v
32653	return s
32654}
32655
32656// SetOwnerInformation sets the OwnerInformation field's value.
32657func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput {
32658	s.OwnerInformation = &v
32659	return s
32660}
32661
32662// SetResourceType sets the ResourceType field's value.
32663func (s *RegisterTargetWithMaintenanceWindowInput) SetResourceType(v string) *RegisterTargetWithMaintenanceWindowInput {
32664	s.ResourceType = &v
32665	return s
32666}
32667
32668// SetTargets sets the Targets field's value.
32669func (s *RegisterTargetWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTargetWithMaintenanceWindowInput {
32670	s.Targets = v
32671	return s
32672}
32673
32674// SetWindowId sets the WindowId field's value.
32675func (s *RegisterTargetWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTargetWithMaintenanceWindowInput {
32676	s.WindowId = &v
32677	return s
32678}
32679
32680type RegisterTargetWithMaintenanceWindowOutput struct {
32681	_ struct{} `type:"structure"`
32682
32683	// The ID of the target definition in this maintenance window.
32684	WindowTargetId *string `min:"36" type:"string"`
32685}
32686
32687// String returns the string representation
32688func (s RegisterTargetWithMaintenanceWindowOutput) String() string {
32689	return awsutil.Prettify(s)
32690}
32691
32692// GoString returns the string representation
32693func (s RegisterTargetWithMaintenanceWindowOutput) GoString() string {
32694	return s.String()
32695}
32696
32697// SetWindowTargetId sets the WindowTargetId field's value.
32698func (s *RegisterTargetWithMaintenanceWindowOutput) SetWindowTargetId(v string) *RegisterTargetWithMaintenanceWindowOutput {
32699	s.WindowTargetId = &v
32700	return s
32701}
32702
32703type RegisterTaskWithMaintenanceWindowInput struct {
32704	_ struct{} `type:"structure"`
32705
32706	// User-provided idempotency token.
32707	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
32708
32709	// An optional description for the task.
32710	Description *string `min:"1" type:"string" sensitive:"true"`
32711
32712	// A structure containing information about an Amazon S3 bucket to write instance-level
32713	// logs to.
32714	//
32715	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
32716	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
32717	// structure. For information about how Systems Manager handles these options
32718	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32719	LoggingInfo *LoggingInfo `type:"structure"`
32720
32721	// The maximum number of targets this task can be run for in parallel.
32722	//
32723	// MaxConcurrency is a required field
32724	MaxConcurrency *string `min:"1" type:"string" required:"true"`
32725
32726	// The maximum number of errors allowed before this task stops being scheduled.
32727	//
32728	// MaxErrors is a required field
32729	MaxErrors *string `min:"1" type:"string" required:"true"`
32730
32731	// An optional name for the task.
32732	Name *string `min:"3" type:"string"`
32733
32734	// The priority of the task in the maintenance window, the lower the number
32735	// the higher the priority. Tasks in a maintenance window are scheduled in priority
32736	// order with tasks that have the same priority scheduled in parallel.
32737	Priority *int64 `type:"integer"`
32738
32739	// The ARN of the IAM service role for Systems Manager to assume when running
32740	// a maintenance window task. If you do not specify a service role ARN, Systems
32741	// Manager uses your account's service-linked role. If no service-linked role
32742	// for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.
32743	//
32744	// For more information, see the following topics in the in the AWS Systems
32745	// Manager User Guide:
32746	//
32747	//    * Service-Linked Role Permissions for Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
32748	//
32749	//    * Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance
32750	//    Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
32751	ServiceRoleArn *string `type:"string"`
32752
32753	// The targets (either instances or maintenance window targets).
32754	//
32755	// Specify instances using the following format:
32756	//
32757	// Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>
32758	//
32759	// Specify maintenance window targets using the following format:
32760	//
32761	// Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2>
32762	//
32763	// Targets is a required field
32764	Targets []*Target `type:"list" required:"true"`
32765
32766	// The ARN of the task to run.
32767	//
32768	// TaskArn is a required field
32769	TaskArn *string `min:"1" type:"string" required:"true"`
32770
32771	// The parameters that the task should use during execution. Populate only the
32772	// fields that match the task type. All other fields should be empty.
32773	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
32774
32775	// The parameters that should be passed to the task when it is run.
32776	//
32777	// TaskParameters has been deprecated. To specify parameters to pass to a task
32778	// when it runs, instead use the Parameters option in the TaskInvocationParameters
32779	// structure. For information about how Systems Manager handles these options
32780	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32781	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
32782
32783	// The type of task being registered.
32784	//
32785	// TaskType is a required field
32786	TaskType *string `type:"string" required:"true" enum:"MaintenanceWindowTaskType"`
32787
32788	// The ID of the maintenance window the task should be added to.
32789	//
32790	// WindowId is a required field
32791	WindowId *string `min:"20" type:"string" required:"true"`
32792}
32793
32794// String returns the string representation
32795func (s RegisterTaskWithMaintenanceWindowInput) String() string {
32796	return awsutil.Prettify(s)
32797}
32798
32799// GoString returns the string representation
32800func (s RegisterTaskWithMaintenanceWindowInput) GoString() string {
32801	return s.String()
32802}
32803
32804// Validate inspects the fields of the type to determine if they are valid.
32805func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error {
32806	invalidParams := request.ErrInvalidParams{Context: "RegisterTaskWithMaintenanceWindowInput"}
32807	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
32808		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
32809	}
32810	if s.Description != nil && len(*s.Description) < 1 {
32811		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
32812	}
32813	if s.MaxConcurrency == nil {
32814		invalidParams.Add(request.NewErrParamRequired("MaxConcurrency"))
32815	}
32816	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
32817		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
32818	}
32819	if s.MaxErrors == nil {
32820		invalidParams.Add(request.NewErrParamRequired("MaxErrors"))
32821	}
32822	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
32823		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
32824	}
32825	if s.Name != nil && len(*s.Name) < 3 {
32826		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
32827	}
32828	if s.Targets == nil {
32829		invalidParams.Add(request.NewErrParamRequired("Targets"))
32830	}
32831	if s.TaskArn == nil {
32832		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
32833	}
32834	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
32835		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
32836	}
32837	if s.TaskType == nil {
32838		invalidParams.Add(request.NewErrParamRequired("TaskType"))
32839	}
32840	if s.WindowId == nil {
32841		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32842	}
32843	if s.WindowId != nil && len(*s.WindowId) < 20 {
32844		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32845	}
32846	if s.LoggingInfo != nil {
32847		if err := s.LoggingInfo.Validate(); err != nil {
32848			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
32849		}
32850	}
32851	if s.Targets != nil {
32852		for i, v := range s.Targets {
32853			if v == nil {
32854				continue
32855			}
32856			if err := v.Validate(); err != nil {
32857				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
32858			}
32859		}
32860	}
32861	if s.TaskInvocationParameters != nil {
32862		if err := s.TaskInvocationParameters.Validate(); err != nil {
32863			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
32864		}
32865	}
32866
32867	if invalidParams.Len() > 0 {
32868		return invalidParams
32869	}
32870	return nil
32871}
32872
32873// SetClientToken sets the ClientToken field's value.
32874func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTaskWithMaintenanceWindowInput {
32875	s.ClientToken = &v
32876	return s
32877}
32878
32879// SetDescription sets the Description field's value.
32880func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput {
32881	s.Description = &v
32882	return s
32883}
32884
32885// SetLoggingInfo sets the LoggingInfo field's value.
32886func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput {
32887	s.LoggingInfo = v
32888	return s
32889}
32890
32891// SetMaxConcurrency sets the MaxConcurrency field's value.
32892func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxConcurrency(v string) *RegisterTaskWithMaintenanceWindowInput {
32893	s.MaxConcurrency = &v
32894	return s
32895}
32896
32897// SetMaxErrors sets the MaxErrors field's value.
32898func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *RegisterTaskWithMaintenanceWindowInput {
32899	s.MaxErrors = &v
32900	return s
32901}
32902
32903// SetName sets the Name field's value.
32904func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput {
32905	s.Name = &v
32906	return s
32907}
32908
32909// SetPriority sets the Priority field's value.
32910func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput {
32911	s.Priority = &v
32912	return s
32913}
32914
32915// SetServiceRoleArn sets the ServiceRoleArn field's value.
32916func (s *RegisterTaskWithMaintenanceWindowInput) SetServiceRoleArn(v string) *RegisterTaskWithMaintenanceWindowInput {
32917	s.ServiceRoleArn = &v
32918	return s
32919}
32920
32921// SetTargets sets the Targets field's value.
32922func (s *RegisterTaskWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTaskWithMaintenanceWindowInput {
32923	s.Targets = v
32924	return s
32925}
32926
32927// SetTaskArn sets the TaskArn field's value.
32928func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterTaskWithMaintenanceWindowInput {
32929	s.TaskArn = &v
32930	return s
32931}
32932
32933// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
32934func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput {
32935	s.TaskInvocationParameters = v
32936	return s
32937}
32938
32939// SetTaskParameters sets the TaskParameters field's value.
32940func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput {
32941	s.TaskParameters = v
32942	return s
32943}
32944
32945// SetTaskType sets the TaskType field's value.
32946func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskType(v string) *RegisterTaskWithMaintenanceWindowInput {
32947	s.TaskType = &v
32948	return s
32949}
32950
32951// SetWindowId sets the WindowId field's value.
32952func (s *RegisterTaskWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTaskWithMaintenanceWindowInput {
32953	s.WindowId = &v
32954	return s
32955}
32956
32957type RegisterTaskWithMaintenanceWindowOutput struct {
32958	_ struct{} `type:"structure"`
32959
32960	// The ID of the task in the maintenance window.
32961	WindowTaskId *string `min:"36" type:"string"`
32962}
32963
32964// String returns the string representation
32965func (s RegisterTaskWithMaintenanceWindowOutput) String() string {
32966	return awsutil.Prettify(s)
32967}
32968
32969// GoString returns the string representation
32970func (s RegisterTaskWithMaintenanceWindowOutput) GoString() string {
32971	return s.String()
32972}
32973
32974// SetWindowTaskId sets the WindowTaskId field's value.
32975func (s *RegisterTaskWithMaintenanceWindowOutput) SetWindowTaskId(v string) *RegisterTaskWithMaintenanceWindowOutput {
32976	s.WindowTaskId = &v
32977	return s
32978}
32979
32980// An OpsItems that shares something in common with the current OpsItem. For
32981// example, related OpsItems can include OpsItems with similar error messages,
32982// impacted resources, or statuses for the impacted resource.
32983type RelatedOpsItem struct {
32984	_ struct{} `type:"structure"`
32985
32986	// The ID of an OpsItem related to the current OpsItem.
32987	//
32988	// OpsItemId is a required field
32989	OpsItemId *string `type:"string" required:"true"`
32990}
32991
32992// String returns the string representation
32993func (s RelatedOpsItem) String() string {
32994	return awsutil.Prettify(s)
32995}
32996
32997// GoString returns the string representation
32998func (s RelatedOpsItem) GoString() string {
32999	return s.String()
33000}
33001
33002// Validate inspects the fields of the type to determine if they are valid.
33003func (s *RelatedOpsItem) Validate() error {
33004	invalidParams := request.ErrInvalidParams{Context: "RelatedOpsItem"}
33005	if s.OpsItemId == nil {
33006		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
33007	}
33008
33009	if invalidParams.Len() > 0 {
33010		return invalidParams
33011	}
33012	return nil
33013}
33014
33015// SetOpsItemId sets the OpsItemId field's value.
33016func (s *RelatedOpsItem) SetOpsItemId(v string) *RelatedOpsItem {
33017	s.OpsItemId = &v
33018	return s
33019}
33020
33021type RemoveTagsFromResourceInput struct {
33022	_ struct{} `type:"structure"`
33023
33024	// The ID of the resource from which you want to remove tags. For example:
33025	//
33026	// ManagedInstance: mi-012345abcde
33027	//
33028	// MaintenanceWindow: mw-012345abcde
33029	//
33030	// PatchBaseline: pb-012345abcde
33031	//
33032	// For the Document and Parameter values, use the name of the resource.
33033	//
33034	// The ManagedInstance type for this API action is only for on-premises managed
33035	// instances. Specify the name of the managed instance in the following format:
33036	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
33037	//
33038	// ResourceId is a required field
33039	ResourceId *string `type:"string" required:"true"`
33040
33041	// The type of resource from which you want to remove a tag.
33042	//
33043	// The ManagedInstance type for this API action is only for on-premises managed
33044	// instances. Specify the name of the managed instance in the following format:
33045	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
33046	//
33047	// ResourceType is a required field
33048	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
33049
33050	// Tag keys that you want to remove from the specified resource.
33051	//
33052	// TagKeys is a required field
33053	TagKeys []*string `type:"list" required:"true"`
33054}
33055
33056// String returns the string representation
33057func (s RemoveTagsFromResourceInput) String() string {
33058	return awsutil.Prettify(s)
33059}
33060
33061// GoString returns the string representation
33062func (s RemoveTagsFromResourceInput) GoString() string {
33063	return s.String()
33064}
33065
33066// Validate inspects the fields of the type to determine if they are valid.
33067func (s *RemoveTagsFromResourceInput) Validate() error {
33068	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
33069	if s.ResourceId == nil {
33070		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
33071	}
33072	if s.ResourceType == nil {
33073		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
33074	}
33075	if s.TagKeys == nil {
33076		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
33077	}
33078
33079	if invalidParams.Len() > 0 {
33080		return invalidParams
33081	}
33082	return nil
33083}
33084
33085// SetResourceId sets the ResourceId field's value.
33086func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
33087	s.ResourceId = &v
33088	return s
33089}
33090
33091// SetResourceType sets the ResourceType field's value.
33092func (s *RemoveTagsFromResourceInput) SetResourceType(v string) *RemoveTagsFromResourceInput {
33093	s.ResourceType = &v
33094	return s
33095}
33096
33097// SetTagKeys sets the TagKeys field's value.
33098func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
33099	s.TagKeys = v
33100	return s
33101}
33102
33103type RemoveTagsFromResourceOutput struct {
33104	_ struct{} `type:"structure"`
33105}
33106
33107// String returns the string representation
33108func (s RemoveTagsFromResourceOutput) String() string {
33109	return awsutil.Prettify(s)
33110}
33111
33112// GoString returns the string representation
33113func (s RemoveTagsFromResourceOutput) GoString() string {
33114	return s.String()
33115}
33116
33117// The request body of the ResetServiceSetting API action.
33118type ResetServiceSettingInput struct {
33119	_ struct{} `type:"structure"`
33120
33121	// The ID of the service setting to reset.
33122	//
33123	// SettingId is a required field
33124	SettingId *string `min:"1" type:"string" required:"true"`
33125}
33126
33127// String returns the string representation
33128func (s ResetServiceSettingInput) String() string {
33129	return awsutil.Prettify(s)
33130}
33131
33132// GoString returns the string representation
33133func (s ResetServiceSettingInput) GoString() string {
33134	return s.String()
33135}
33136
33137// Validate inspects the fields of the type to determine if they are valid.
33138func (s *ResetServiceSettingInput) Validate() error {
33139	invalidParams := request.ErrInvalidParams{Context: "ResetServiceSettingInput"}
33140	if s.SettingId == nil {
33141		invalidParams.Add(request.NewErrParamRequired("SettingId"))
33142	}
33143	if s.SettingId != nil && len(*s.SettingId) < 1 {
33144		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
33145	}
33146
33147	if invalidParams.Len() > 0 {
33148		return invalidParams
33149	}
33150	return nil
33151}
33152
33153// SetSettingId sets the SettingId field's value.
33154func (s *ResetServiceSettingInput) SetSettingId(v string) *ResetServiceSettingInput {
33155	s.SettingId = &v
33156	return s
33157}
33158
33159// The result body of the ResetServiceSetting API action.
33160type ResetServiceSettingOutput struct {
33161	_ struct{} `type:"structure"`
33162
33163	// The current, effective service setting after calling the ResetServiceSetting
33164	// API action.
33165	ServiceSetting *ServiceSetting `type:"structure"`
33166}
33167
33168// String returns the string representation
33169func (s ResetServiceSettingOutput) String() string {
33170	return awsutil.Prettify(s)
33171}
33172
33173// GoString returns the string representation
33174func (s ResetServiceSettingOutput) GoString() string {
33175	return s.String()
33176}
33177
33178// SetServiceSetting sets the ServiceSetting field's value.
33179func (s *ResetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *ResetServiceSettingOutput {
33180	s.ServiceSetting = v
33181	return s
33182}
33183
33184// Information about targets that resolved during the Automation execution.
33185type ResolvedTargets struct {
33186	_ struct{} `type:"structure"`
33187
33188	// A list of parameter values sent to targets that resolved during the Automation
33189	// execution.
33190	ParameterValues []*string `type:"list"`
33191
33192	// A boolean value indicating whether the resolved target list is truncated.
33193	Truncated *bool `type:"boolean"`
33194}
33195
33196// String returns the string representation
33197func (s ResolvedTargets) String() string {
33198	return awsutil.Prettify(s)
33199}
33200
33201// GoString returns the string representation
33202func (s ResolvedTargets) GoString() string {
33203	return s.String()
33204}
33205
33206// SetParameterValues sets the ParameterValues field's value.
33207func (s *ResolvedTargets) SetParameterValues(v []*string) *ResolvedTargets {
33208	s.ParameterValues = v
33209	return s
33210}
33211
33212// SetTruncated sets the Truncated field's value.
33213func (s *ResolvedTargets) SetTruncated(v bool) *ResolvedTargets {
33214	s.Truncated = &v
33215	return s
33216}
33217
33218// Compliance summary information for a specific resource.
33219type ResourceComplianceSummaryItem struct {
33220	_ struct{} `type:"structure"`
33221
33222	// The compliance type.
33223	ComplianceType *string `min:"1" type:"string"`
33224
33225	// A list of items that are compliant for the resource.
33226	CompliantSummary *CompliantSummary `type:"structure"`
33227
33228	// Information about the execution.
33229	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
33230
33231	// A list of items that aren't compliant for the resource.
33232	NonCompliantSummary *NonCompliantSummary `type:"structure"`
33233
33234	// The highest severity item found for the resource. The resource is compliant
33235	// for this item.
33236	OverallSeverity *string `type:"string" enum:"ComplianceSeverity"`
33237
33238	// The resource ID.
33239	ResourceId *string `min:"1" type:"string"`
33240
33241	// The resource type.
33242	ResourceType *string `min:"1" type:"string"`
33243
33244	// The compliance status for the resource.
33245	Status *string `type:"string" enum:"ComplianceStatus"`
33246}
33247
33248// String returns the string representation
33249func (s ResourceComplianceSummaryItem) String() string {
33250	return awsutil.Prettify(s)
33251}
33252
33253// GoString returns the string representation
33254func (s ResourceComplianceSummaryItem) GoString() string {
33255	return s.String()
33256}
33257
33258// SetComplianceType sets the ComplianceType field's value.
33259func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem {
33260	s.ComplianceType = &v
33261	return s
33262}
33263
33264// SetCompliantSummary sets the CompliantSummary field's value.
33265func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem {
33266	s.CompliantSummary = v
33267	return s
33268}
33269
33270// SetExecutionSummary sets the ExecutionSummary field's value.
33271func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem {
33272	s.ExecutionSummary = v
33273	return s
33274}
33275
33276// SetNonCompliantSummary sets the NonCompliantSummary field's value.
33277func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem {
33278	s.NonCompliantSummary = v
33279	return s
33280}
33281
33282// SetOverallSeverity sets the OverallSeverity field's value.
33283func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem {
33284	s.OverallSeverity = &v
33285	return s
33286}
33287
33288// SetResourceId sets the ResourceId field's value.
33289func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem {
33290	s.ResourceId = &v
33291	return s
33292}
33293
33294// SetResourceType sets the ResourceType field's value.
33295func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem {
33296	s.ResourceType = &v
33297	return s
33298}
33299
33300// SetStatus sets the Status field's value.
33301func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem {
33302	s.Status = &v
33303	return s
33304}
33305
33306// Information about the AwsOrganizationsSource resource data sync source. A
33307// sync source of this type can synchronize data from AWS Organizations or,
33308// if an AWS Organization is not present, from multiple AWS Regions.
33309type ResourceDataSyncAwsOrganizationsSource struct {
33310	_ struct{} `type:"structure"`
33311
33312	// If an AWS Organization is present, this is either OrganizationalUnits or
33313	// EntireOrganization. For OrganizationalUnits, the data is aggregated from
33314	// a set of organization units. For EntireOrganization, the data is aggregated
33315	// from the entire AWS Organization.
33316	//
33317	// OrganizationSourceType is a required field
33318	OrganizationSourceType *string `min:"1" type:"string" required:"true"`
33319
33320	// The AWS Organizations organization units included in the sync.
33321	OrganizationalUnits []*ResourceDataSyncOrganizationalUnit `min:"1" type:"list"`
33322}
33323
33324// String returns the string representation
33325func (s ResourceDataSyncAwsOrganizationsSource) String() string {
33326	return awsutil.Prettify(s)
33327}
33328
33329// GoString returns the string representation
33330func (s ResourceDataSyncAwsOrganizationsSource) GoString() string {
33331	return s.String()
33332}
33333
33334// Validate inspects the fields of the type to determine if they are valid.
33335func (s *ResourceDataSyncAwsOrganizationsSource) Validate() error {
33336	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncAwsOrganizationsSource"}
33337	if s.OrganizationSourceType == nil {
33338		invalidParams.Add(request.NewErrParamRequired("OrganizationSourceType"))
33339	}
33340	if s.OrganizationSourceType != nil && len(*s.OrganizationSourceType) < 1 {
33341		invalidParams.Add(request.NewErrParamMinLen("OrganizationSourceType", 1))
33342	}
33343	if s.OrganizationalUnits != nil && len(s.OrganizationalUnits) < 1 {
33344		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnits", 1))
33345	}
33346	if s.OrganizationalUnits != nil {
33347		for i, v := range s.OrganizationalUnits {
33348			if v == nil {
33349				continue
33350			}
33351			if err := v.Validate(); err != nil {
33352				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrganizationalUnits", i), err.(request.ErrInvalidParams))
33353			}
33354		}
33355	}
33356
33357	if invalidParams.Len() > 0 {
33358		return invalidParams
33359	}
33360	return nil
33361}
33362
33363// SetOrganizationSourceType sets the OrganizationSourceType field's value.
33364func (s *ResourceDataSyncAwsOrganizationsSource) SetOrganizationSourceType(v string) *ResourceDataSyncAwsOrganizationsSource {
33365	s.OrganizationSourceType = &v
33366	return s
33367}
33368
33369// SetOrganizationalUnits sets the OrganizationalUnits field's value.
33370func (s *ResourceDataSyncAwsOrganizationsSource) SetOrganizationalUnits(v []*ResourceDataSyncOrganizationalUnit) *ResourceDataSyncAwsOrganizationsSource {
33371	s.OrganizationalUnits = v
33372	return s
33373}
33374
33375// Information about a Resource Data Sync configuration, including its current
33376// status and last successful sync.
33377type ResourceDataSyncItem struct {
33378	_ struct{} `type:"structure"`
33379
33380	// The status reported by the last sync.
33381	LastStatus *string `type:"string" enum:"LastResourceDataSyncStatus"`
33382
33383	// The last time the sync operations returned a status of SUCCESSFUL (UTC).
33384	LastSuccessfulSyncTime *time.Time `type:"timestamp"`
33385
33386	// The status message details reported by the last sync.
33387	LastSyncStatusMessage *string `type:"string"`
33388
33389	// The last time the configuration attempted to sync (UTC).
33390	LastSyncTime *time.Time `type:"timestamp"`
33391
33392	// Configuration information for the target Amazon S3 bucket.
33393	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
33394
33395	// The date and time the configuration was created (UTC).
33396	SyncCreatedTime *time.Time `type:"timestamp"`
33397
33398	// The date and time the resource data sync was changed.
33399	SyncLastModifiedTime *time.Time `type:"timestamp"`
33400
33401	// The name of the Resource Data Sync.
33402	SyncName *string `min:"1" type:"string"`
33403
33404	// Information about the source where the data was synchronized.
33405	SyncSource *ResourceDataSyncSourceWithState `type:"structure"`
33406
33407	// The type of resource data sync. If SyncType is SyncToDestination, then the
33408	// resource data sync synchronizes data to an Amazon S3 bucket. If the SyncType
33409	// is SyncFromSource then the resource data sync synchronizes data from AWS
33410	// Organizations or from multiple AWS Regions.
33411	SyncType *string `min:"1" type:"string"`
33412}
33413
33414// String returns the string representation
33415func (s ResourceDataSyncItem) String() string {
33416	return awsutil.Prettify(s)
33417}
33418
33419// GoString returns the string representation
33420func (s ResourceDataSyncItem) GoString() string {
33421	return s.String()
33422}
33423
33424// SetLastStatus sets the LastStatus field's value.
33425func (s *ResourceDataSyncItem) SetLastStatus(v string) *ResourceDataSyncItem {
33426	s.LastStatus = &v
33427	return s
33428}
33429
33430// SetLastSuccessfulSyncTime sets the LastSuccessfulSyncTime field's value.
33431func (s *ResourceDataSyncItem) SetLastSuccessfulSyncTime(v time.Time) *ResourceDataSyncItem {
33432	s.LastSuccessfulSyncTime = &v
33433	return s
33434}
33435
33436// SetLastSyncStatusMessage sets the LastSyncStatusMessage field's value.
33437func (s *ResourceDataSyncItem) SetLastSyncStatusMessage(v string) *ResourceDataSyncItem {
33438	s.LastSyncStatusMessage = &v
33439	return s
33440}
33441
33442// SetLastSyncTime sets the LastSyncTime field's value.
33443func (s *ResourceDataSyncItem) SetLastSyncTime(v time.Time) *ResourceDataSyncItem {
33444	s.LastSyncTime = &v
33445	return s
33446}
33447
33448// SetS3Destination sets the S3Destination field's value.
33449func (s *ResourceDataSyncItem) SetS3Destination(v *ResourceDataSyncS3Destination) *ResourceDataSyncItem {
33450	s.S3Destination = v
33451	return s
33452}
33453
33454// SetSyncCreatedTime sets the SyncCreatedTime field's value.
33455func (s *ResourceDataSyncItem) SetSyncCreatedTime(v time.Time) *ResourceDataSyncItem {
33456	s.SyncCreatedTime = &v
33457	return s
33458}
33459
33460// SetSyncLastModifiedTime sets the SyncLastModifiedTime field's value.
33461func (s *ResourceDataSyncItem) SetSyncLastModifiedTime(v time.Time) *ResourceDataSyncItem {
33462	s.SyncLastModifiedTime = &v
33463	return s
33464}
33465
33466// SetSyncName sets the SyncName field's value.
33467func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem {
33468	s.SyncName = &v
33469	return s
33470}
33471
33472// SetSyncSource sets the SyncSource field's value.
33473func (s *ResourceDataSyncItem) SetSyncSource(v *ResourceDataSyncSourceWithState) *ResourceDataSyncItem {
33474	s.SyncSource = v
33475	return s
33476}
33477
33478// SetSyncType sets the SyncType field's value.
33479func (s *ResourceDataSyncItem) SetSyncType(v string) *ResourceDataSyncItem {
33480	s.SyncType = &v
33481	return s
33482}
33483
33484// The AWS Organizations organizational unit data source for the sync.
33485type ResourceDataSyncOrganizationalUnit struct {
33486	_ struct{} `type:"structure"`
33487
33488	// The AWS Organization unit ID data source for the sync.
33489	OrganizationalUnitId *string `min:"1" type:"string"`
33490}
33491
33492// String returns the string representation
33493func (s ResourceDataSyncOrganizationalUnit) String() string {
33494	return awsutil.Prettify(s)
33495}
33496
33497// GoString returns the string representation
33498func (s ResourceDataSyncOrganizationalUnit) GoString() string {
33499	return s.String()
33500}
33501
33502// Validate inspects the fields of the type to determine if they are valid.
33503func (s *ResourceDataSyncOrganizationalUnit) Validate() error {
33504	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncOrganizationalUnit"}
33505	if s.OrganizationalUnitId != nil && len(*s.OrganizationalUnitId) < 1 {
33506		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitId", 1))
33507	}
33508
33509	if invalidParams.Len() > 0 {
33510		return invalidParams
33511	}
33512	return nil
33513}
33514
33515// SetOrganizationalUnitId sets the OrganizationalUnitId field's value.
33516func (s *ResourceDataSyncOrganizationalUnit) SetOrganizationalUnitId(v string) *ResourceDataSyncOrganizationalUnit {
33517	s.OrganizationalUnitId = &v
33518	return s
33519}
33520
33521// Information about the target Amazon S3 bucket for the Resource Data Sync.
33522type ResourceDataSyncS3Destination struct {
33523	_ struct{} `type:"structure"`
33524
33525	// The ARN of an encryption key for a destination in Amazon S3. Must belong
33526	// to the same Region as the destination Amazon S3 bucket.
33527	AWSKMSKeyARN *string `min:"1" type:"string"`
33528
33529	// The name of the Amazon S3 bucket where the aggregated data is stored.
33530	//
33531	// BucketName is a required field
33532	BucketName *string `min:"1" type:"string" required:"true"`
33533
33534	// An Amazon S3 prefix for the bucket.
33535	Prefix *string `min:"1" type:"string"`
33536
33537	// The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.
33538	//
33539	// Region is a required field
33540	Region *string `min:"1" type:"string" required:"true"`
33541
33542	// A supported sync format. The following format is currently supported: JsonSerDe
33543	//
33544	// SyncFormat is a required field
33545	SyncFormat *string `type:"string" required:"true" enum:"ResourceDataSyncS3Format"`
33546}
33547
33548// String returns the string representation
33549func (s ResourceDataSyncS3Destination) String() string {
33550	return awsutil.Prettify(s)
33551}
33552
33553// GoString returns the string representation
33554func (s ResourceDataSyncS3Destination) GoString() string {
33555	return s.String()
33556}
33557
33558// Validate inspects the fields of the type to determine if they are valid.
33559func (s *ResourceDataSyncS3Destination) Validate() error {
33560	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"}
33561	if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 {
33562		invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1))
33563	}
33564	if s.BucketName == nil {
33565		invalidParams.Add(request.NewErrParamRequired("BucketName"))
33566	}
33567	if s.BucketName != nil && len(*s.BucketName) < 1 {
33568		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
33569	}
33570	if s.Prefix != nil && len(*s.Prefix) < 1 {
33571		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
33572	}
33573	if s.Region == nil {
33574		invalidParams.Add(request.NewErrParamRequired("Region"))
33575	}
33576	if s.Region != nil && len(*s.Region) < 1 {
33577		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
33578	}
33579	if s.SyncFormat == nil {
33580		invalidParams.Add(request.NewErrParamRequired("SyncFormat"))
33581	}
33582
33583	if invalidParams.Len() > 0 {
33584		return invalidParams
33585	}
33586	return nil
33587}
33588
33589// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value.
33590func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination {
33591	s.AWSKMSKeyARN = &v
33592	return s
33593}
33594
33595// SetBucketName sets the BucketName field's value.
33596func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination {
33597	s.BucketName = &v
33598	return s
33599}
33600
33601// SetPrefix sets the Prefix field's value.
33602func (s *ResourceDataSyncS3Destination) SetPrefix(v string) *ResourceDataSyncS3Destination {
33603	s.Prefix = &v
33604	return s
33605}
33606
33607// SetRegion sets the Region field's value.
33608func (s *ResourceDataSyncS3Destination) SetRegion(v string) *ResourceDataSyncS3Destination {
33609	s.Region = &v
33610	return s
33611}
33612
33613// SetSyncFormat sets the SyncFormat field's value.
33614func (s *ResourceDataSyncS3Destination) SetSyncFormat(v string) *ResourceDataSyncS3Destination {
33615	s.SyncFormat = &v
33616	return s
33617}
33618
33619// Information about the source of the data included in the resource data sync.
33620type ResourceDataSyncSource struct {
33621	_ struct{} `type:"structure"`
33622
33623	// The field name in SyncSource for the ResourceDataSyncAwsOrganizationsSource
33624	// type.
33625	AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
33626
33627	// Whether to automatically synchronize and aggregate data from new AWS Regions
33628	// when those Regions come online.
33629	IncludeFutureRegions *bool `type:"boolean"`
33630
33631	// The SyncSource AWS Regions included in the resource data sync.
33632	//
33633	// SourceRegions is a required field
33634	SourceRegions []*string `type:"list" required:"true"`
33635
33636	// The type of data source for the resource data sync. SourceType is either
33637	// AwsOrganizations (if an organization is present in AWS Organizations) or
33638	// singleAccountMultiRegions.
33639	//
33640	// SourceType is a required field
33641	SourceType *string `min:"1" type:"string" required:"true"`
33642}
33643
33644// String returns the string representation
33645func (s ResourceDataSyncSource) String() string {
33646	return awsutil.Prettify(s)
33647}
33648
33649// GoString returns the string representation
33650func (s ResourceDataSyncSource) GoString() string {
33651	return s.String()
33652}
33653
33654// Validate inspects the fields of the type to determine if they are valid.
33655func (s *ResourceDataSyncSource) Validate() error {
33656	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncSource"}
33657	if s.SourceRegions == nil {
33658		invalidParams.Add(request.NewErrParamRequired("SourceRegions"))
33659	}
33660	if s.SourceType == nil {
33661		invalidParams.Add(request.NewErrParamRequired("SourceType"))
33662	}
33663	if s.SourceType != nil && len(*s.SourceType) < 1 {
33664		invalidParams.Add(request.NewErrParamMinLen("SourceType", 1))
33665	}
33666	if s.AwsOrganizationsSource != nil {
33667		if err := s.AwsOrganizationsSource.Validate(); err != nil {
33668			invalidParams.AddNested("AwsOrganizationsSource", err.(request.ErrInvalidParams))
33669		}
33670	}
33671
33672	if invalidParams.Len() > 0 {
33673		return invalidParams
33674	}
33675	return nil
33676}
33677
33678// SetAwsOrganizationsSource sets the AwsOrganizationsSource field's value.
33679func (s *ResourceDataSyncSource) SetAwsOrganizationsSource(v *ResourceDataSyncAwsOrganizationsSource) *ResourceDataSyncSource {
33680	s.AwsOrganizationsSource = v
33681	return s
33682}
33683
33684// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
33685func (s *ResourceDataSyncSource) SetIncludeFutureRegions(v bool) *ResourceDataSyncSource {
33686	s.IncludeFutureRegions = &v
33687	return s
33688}
33689
33690// SetSourceRegions sets the SourceRegions field's value.
33691func (s *ResourceDataSyncSource) SetSourceRegions(v []*string) *ResourceDataSyncSource {
33692	s.SourceRegions = v
33693	return s
33694}
33695
33696// SetSourceType sets the SourceType field's value.
33697func (s *ResourceDataSyncSource) SetSourceType(v string) *ResourceDataSyncSource {
33698	s.SourceType = &v
33699	return s
33700}
33701
33702// The data type name for including resource data sync state. There are four
33703// sync states:
33704//
33705// OrganizationNotExists (Your organization doesn't exist)
33706//
33707// NoPermissions (The system can't locate the service-linked role. This role
33708// is automatically created when a user creates a resource data sync in Explorer.)
33709//
33710// InvalidOrganizationalUnit (You specified or selected an invalid unit in the
33711// resource data sync configuration.)
33712//
33713// TrustedAccessDisabled (You disabled Systems Manager access in the organization
33714// in AWS Organizations.)
33715type ResourceDataSyncSourceWithState struct {
33716	_ struct{} `type:"structure"`
33717
33718	// The field name in SyncSource for the ResourceDataSyncAwsOrganizationsSource
33719	// type.
33720	AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
33721
33722	// Whether to automatically synchronize and aggregate data from new AWS Regions
33723	// when those Regions come online.
33724	IncludeFutureRegions *bool `type:"boolean"`
33725
33726	// The SyncSource AWS Regions included in the resource data sync.
33727	SourceRegions []*string `type:"list"`
33728
33729	// The type of data source for the resource data sync. SourceType is either
33730	// AwsOrganizations (if an organization is present in AWS Organizations) or
33731	// singleAccountMultiRegions.
33732	SourceType *string `min:"1" type:"string"`
33733
33734	// The data type name for including resource data sync state. There are four
33735	// sync states:
33736	//
33737	// OrganizationNotExists: Your organization doesn't exist.
33738	//
33739	// NoPermissions: The system can't locate the service-linked role. This role
33740	// is automatically created when a user creates a resource data sync in Explorer.
33741	//
33742	// InvalidOrganizationalUnit: You specified or selected an invalid unit in the
33743	// resource data sync configuration.
33744	//
33745	// TrustedAccessDisabled: You disabled Systems Manager access in the organization
33746	// in AWS Organizations.
33747	State *string `min:"1" type:"string"`
33748}
33749
33750// String returns the string representation
33751func (s ResourceDataSyncSourceWithState) String() string {
33752	return awsutil.Prettify(s)
33753}
33754
33755// GoString returns the string representation
33756func (s ResourceDataSyncSourceWithState) GoString() string {
33757	return s.String()
33758}
33759
33760// SetAwsOrganizationsSource sets the AwsOrganizationsSource field's value.
33761func (s *ResourceDataSyncSourceWithState) SetAwsOrganizationsSource(v *ResourceDataSyncAwsOrganizationsSource) *ResourceDataSyncSourceWithState {
33762	s.AwsOrganizationsSource = v
33763	return s
33764}
33765
33766// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
33767func (s *ResourceDataSyncSourceWithState) SetIncludeFutureRegions(v bool) *ResourceDataSyncSourceWithState {
33768	s.IncludeFutureRegions = &v
33769	return s
33770}
33771
33772// SetSourceRegions sets the SourceRegions field's value.
33773func (s *ResourceDataSyncSourceWithState) SetSourceRegions(v []*string) *ResourceDataSyncSourceWithState {
33774	s.SourceRegions = v
33775	return s
33776}
33777
33778// SetSourceType sets the SourceType field's value.
33779func (s *ResourceDataSyncSourceWithState) SetSourceType(v string) *ResourceDataSyncSourceWithState {
33780	s.SourceType = &v
33781	return s
33782}
33783
33784// SetState sets the State field's value.
33785func (s *ResourceDataSyncSourceWithState) SetState(v string) *ResourceDataSyncSourceWithState {
33786	s.State = &v
33787	return s
33788}
33789
33790// The inventory item result attribute.
33791type ResultAttribute struct {
33792	_ struct{} `type:"structure"`
33793
33794	// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default
33795	// Value: AWS:InstanceInformation.
33796	//
33797	// TypeName is a required field
33798	TypeName *string `min:"1" type:"string" required:"true"`
33799}
33800
33801// String returns the string representation
33802func (s ResultAttribute) String() string {
33803	return awsutil.Prettify(s)
33804}
33805
33806// GoString returns the string representation
33807func (s ResultAttribute) GoString() string {
33808	return s.String()
33809}
33810
33811// Validate inspects the fields of the type to determine if they are valid.
33812func (s *ResultAttribute) Validate() error {
33813	invalidParams := request.ErrInvalidParams{Context: "ResultAttribute"}
33814	if s.TypeName == nil {
33815		invalidParams.Add(request.NewErrParamRequired("TypeName"))
33816	}
33817	if s.TypeName != nil && len(*s.TypeName) < 1 {
33818		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
33819	}
33820
33821	if invalidParams.Len() > 0 {
33822		return invalidParams
33823	}
33824	return nil
33825}
33826
33827// SetTypeName sets the TypeName field's value.
33828func (s *ResultAttribute) SetTypeName(v string) *ResultAttribute {
33829	s.TypeName = &v
33830	return s
33831}
33832
33833type ResumeSessionInput struct {
33834	_ struct{} `type:"structure"`
33835
33836	// The ID of the disconnected session to resume.
33837	//
33838	// SessionId is a required field
33839	SessionId *string `min:"1" type:"string" required:"true"`
33840}
33841
33842// String returns the string representation
33843func (s ResumeSessionInput) String() string {
33844	return awsutil.Prettify(s)
33845}
33846
33847// GoString returns the string representation
33848func (s ResumeSessionInput) GoString() string {
33849	return s.String()
33850}
33851
33852// Validate inspects the fields of the type to determine if they are valid.
33853func (s *ResumeSessionInput) Validate() error {
33854	invalidParams := request.ErrInvalidParams{Context: "ResumeSessionInput"}
33855	if s.SessionId == nil {
33856		invalidParams.Add(request.NewErrParamRequired("SessionId"))
33857	}
33858	if s.SessionId != nil && len(*s.SessionId) < 1 {
33859		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
33860	}
33861
33862	if invalidParams.Len() > 0 {
33863		return invalidParams
33864	}
33865	return nil
33866}
33867
33868// SetSessionId sets the SessionId field's value.
33869func (s *ResumeSessionInput) SetSessionId(v string) *ResumeSessionInput {
33870	s.SessionId = &v
33871	return s
33872}
33873
33874type ResumeSessionOutput struct {
33875	_ struct{} `type:"structure"`
33876
33877	// The ID of the session.
33878	SessionId *string `min:"1" type:"string"`
33879
33880	// A URL back to SSM Agent on the instance that the Session Manager client uses
33881	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).
33882	//
33883	// region represents the Region identifier for an AWS Region supported by AWS
33884	// Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list
33885	// of supported region values, see the Region column in the AWS Systems Manager
33886	// table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)
33887	// in the AWS General Reference.
33888	//
33889	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
33890	StreamUrl *string `type:"string"`
33891
33892	// An encrypted token value containing session and caller information. Used
33893	// to authenticate the connection to the instance.
33894	TokenValue *string `type:"string"`
33895}
33896
33897// String returns the string representation
33898func (s ResumeSessionOutput) String() string {
33899	return awsutil.Prettify(s)
33900}
33901
33902// GoString returns the string representation
33903func (s ResumeSessionOutput) GoString() string {
33904	return s.String()
33905}
33906
33907// SetSessionId sets the SessionId field's value.
33908func (s *ResumeSessionOutput) SetSessionId(v string) *ResumeSessionOutput {
33909	s.SessionId = &v
33910	return s
33911}
33912
33913// SetStreamUrl sets the StreamUrl field's value.
33914func (s *ResumeSessionOutput) SetStreamUrl(v string) *ResumeSessionOutput {
33915	s.StreamUrl = &v
33916	return s
33917}
33918
33919// SetTokenValue sets the TokenValue field's value.
33920func (s *ResumeSessionOutput) SetTokenValue(v string) *ResumeSessionOutput {
33921	s.TokenValue = &v
33922	return s
33923}
33924
33925// An Amazon S3 bucket where you want to store the results of this request.
33926type S3OutputLocation struct {
33927	_ struct{} `type:"structure"`
33928
33929	// The name of the Amazon S3 bucket.
33930	OutputS3BucketName *string `min:"3" type:"string"`
33931
33932	// The Amazon S3 bucket subfolder.
33933	OutputS3KeyPrefix *string `type:"string"`
33934
33935	// (Deprecated) You can no longer specify this parameter. The system ignores
33936	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
33937	// region.
33938	OutputS3Region *string `min:"3" type:"string"`
33939}
33940
33941// String returns the string representation
33942func (s S3OutputLocation) String() string {
33943	return awsutil.Prettify(s)
33944}
33945
33946// GoString returns the string representation
33947func (s S3OutputLocation) GoString() string {
33948	return s.String()
33949}
33950
33951// Validate inspects the fields of the type to determine if they are valid.
33952func (s *S3OutputLocation) Validate() error {
33953	invalidParams := request.ErrInvalidParams{Context: "S3OutputLocation"}
33954	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
33955		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
33956	}
33957	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
33958		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
33959	}
33960
33961	if invalidParams.Len() > 0 {
33962		return invalidParams
33963	}
33964	return nil
33965}
33966
33967// SetOutputS3BucketName sets the OutputS3BucketName field's value.
33968func (s *S3OutputLocation) SetOutputS3BucketName(v string) *S3OutputLocation {
33969	s.OutputS3BucketName = &v
33970	return s
33971}
33972
33973// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
33974func (s *S3OutputLocation) SetOutputS3KeyPrefix(v string) *S3OutputLocation {
33975	s.OutputS3KeyPrefix = &v
33976	return s
33977}
33978
33979// SetOutputS3Region sets the OutputS3Region field's value.
33980func (s *S3OutputLocation) SetOutputS3Region(v string) *S3OutputLocation {
33981	s.OutputS3Region = &v
33982	return s
33983}
33984
33985// A URL for the Amazon S3 bucket where you want to store the results of this
33986// request.
33987type S3OutputUrl struct {
33988	_ struct{} `type:"structure"`
33989
33990	// A URL for an Amazon S3 bucket where you want to store the results of this
33991	// request.
33992	OutputUrl *string `type:"string"`
33993}
33994
33995// String returns the string representation
33996func (s S3OutputUrl) String() string {
33997	return awsutil.Prettify(s)
33998}
33999
34000// GoString returns the string representation
34001func (s S3OutputUrl) GoString() string {
34002	return s.String()
34003}
34004
34005// SetOutputUrl sets the OutputUrl field's value.
34006func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl {
34007	s.OutputUrl = &v
34008	return s
34009}
34010
34011// Information about a scheduled execution for a maintenance window.
34012type ScheduledWindowExecution struct {
34013	_ struct{} `type:"structure"`
34014
34015	// The time, in ISO-8601 Extended format, that the maintenance window is scheduled
34016	// to be run.
34017	ExecutionTime *string `type:"string"`
34018
34019	// The name of the maintenance window to be run.
34020	Name *string `min:"3" type:"string"`
34021
34022	// The ID of the maintenance window to be run.
34023	WindowId *string `min:"20" type:"string"`
34024}
34025
34026// String returns the string representation
34027func (s ScheduledWindowExecution) String() string {
34028	return awsutil.Prettify(s)
34029}
34030
34031// GoString returns the string representation
34032func (s ScheduledWindowExecution) GoString() string {
34033	return s.String()
34034}
34035
34036// SetExecutionTime sets the ExecutionTime field's value.
34037func (s *ScheduledWindowExecution) SetExecutionTime(v string) *ScheduledWindowExecution {
34038	s.ExecutionTime = &v
34039	return s
34040}
34041
34042// SetName sets the Name field's value.
34043func (s *ScheduledWindowExecution) SetName(v string) *ScheduledWindowExecution {
34044	s.Name = &v
34045	return s
34046}
34047
34048// SetWindowId sets the WindowId field's value.
34049func (s *ScheduledWindowExecution) SetWindowId(v string) *ScheduledWindowExecution {
34050	s.WindowId = &v
34051	return s
34052}
34053
34054type SendAutomationSignalInput struct {
34055	_ struct{} `type:"structure"`
34056
34057	// The unique identifier for an existing Automation execution that you want
34058	// to send the signal to.
34059	//
34060	// AutomationExecutionId is a required field
34061	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
34062
34063	// The data sent with the signal. The data schema depends on the type of signal
34064	// used in the request.
34065	//
34066	// For Approve and Reject signal types, the payload is an optional comment that
34067	// you can send with the signal type. For example:
34068	//
34069	// Comment="Looks good"
34070	//
34071	// For StartStep and Resume signal types, you must send the name of the Automation
34072	// step to start or resume as the payload. For example:
34073	//
34074	// StepName="step1"
34075	//
34076	// For the StopStep signal type, you must send the step execution ID as the
34077	// payload. For example:
34078	//
34079	// StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"
34080	Payload map[string][]*string `min:"1" type:"map"`
34081
34082	// The type of signal to send to an Automation execution.
34083	//
34084	// SignalType is a required field
34085	SignalType *string `type:"string" required:"true" enum:"SignalType"`
34086}
34087
34088// String returns the string representation
34089func (s SendAutomationSignalInput) String() string {
34090	return awsutil.Prettify(s)
34091}
34092
34093// GoString returns the string representation
34094func (s SendAutomationSignalInput) GoString() string {
34095	return s.String()
34096}
34097
34098// Validate inspects the fields of the type to determine if they are valid.
34099func (s *SendAutomationSignalInput) Validate() error {
34100	invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"}
34101	if s.AutomationExecutionId == nil {
34102		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
34103	}
34104	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
34105		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
34106	}
34107	if s.Payload != nil && len(s.Payload) < 1 {
34108		invalidParams.Add(request.NewErrParamMinLen("Payload", 1))
34109	}
34110	if s.SignalType == nil {
34111		invalidParams.Add(request.NewErrParamRequired("SignalType"))
34112	}
34113
34114	if invalidParams.Len() > 0 {
34115		return invalidParams
34116	}
34117	return nil
34118}
34119
34120// SetAutomationExecutionId sets the AutomationExecutionId field's value.
34121func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput {
34122	s.AutomationExecutionId = &v
34123	return s
34124}
34125
34126// SetPayload sets the Payload field's value.
34127func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput {
34128	s.Payload = v
34129	return s
34130}
34131
34132// SetSignalType sets the SignalType field's value.
34133func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput {
34134	s.SignalType = &v
34135	return s
34136}
34137
34138type SendAutomationSignalOutput struct {
34139	_ struct{} `type:"structure"`
34140}
34141
34142// String returns the string representation
34143func (s SendAutomationSignalOutput) String() string {
34144	return awsutil.Prettify(s)
34145}
34146
34147// GoString returns the string representation
34148func (s SendAutomationSignalOutput) GoString() string {
34149	return s.String()
34150}
34151
34152type SendCommandInput struct {
34153	_ struct{} `type:"structure"`
34154
34155	// Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.
34156	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
34157
34158	// User-specified information about the command, such as a brief description
34159	// of what the command should do.
34160	Comment *string `type:"string"`
34161
34162	// The Sha256 or Sha1 hash created by the system when the document was created.
34163	//
34164	// Sha1 hashes have been deprecated.
34165	DocumentHash *string `type:"string"`
34166
34167	// Sha256 or Sha1.
34168	//
34169	// Sha1 hashes have been deprecated.
34170	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
34171
34172	// Required. The name of the Systems Manager document to run. This can be a
34173	// public document or a custom document.
34174	//
34175	// DocumentName is a required field
34176	DocumentName *string `type:"string" required:"true"`
34177
34178	// The SSM document version to use in the request. You can specify $DEFAULT,
34179	// $LATEST, or a specific version number. If you run commands by using the AWS
34180	// CLI, then you must escape the first two options by using a backslash. If
34181	// you specify a version number, then you don't need to use the backslash. For
34182	// example:
34183	//
34184	// --document-version "\$DEFAULT"
34185	//
34186	// --document-version "\$LATEST"
34187	//
34188	// --document-version "3"
34189	DocumentVersion *string `type:"string"`
34190
34191	// The instance IDs where the command should run. You can specify a maximum
34192	// of 50 IDs. If you prefer not to list individual instance IDs, you can instead
34193	// send commands to a fleet of instances using the Targets parameter, which
34194	// accepts EC2 tags. For more information about how to use targets, see Sending
34195	// Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
34196	// in the AWS Systems Manager User Guide.
34197	InstanceIds []*string `type:"list"`
34198
34199	// (Optional) The maximum number of instances that are allowed to run the command
34200	// at the same time. You can specify a number such as 10 or a percentage such
34201	// as 10%. The default value is 50. For more information about how to use MaxConcurrency,
34202	// see Using Concurrency Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity)
34203	// in the AWS Systems Manager User Guide.
34204	MaxConcurrency *string `min:"1" type:"string"`
34205
34206	// The maximum number of errors allowed without the command failing. When the
34207	// command fails one more time beyond the value of MaxErrors, the systems stops
34208	// sending the command to additional targets. You can specify a number like
34209	// 10 or a percentage like 10%. The default value is 0. For more information
34210	// about how to use MaxErrors, see Using Error Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors)
34211	// in the AWS Systems Manager User Guide.
34212	MaxErrors *string `min:"1" type:"string"`
34213
34214	// Configurations for sending notifications.
34215	NotificationConfig *NotificationConfig `type:"structure"`
34216
34217	// The name of the S3 bucket where command execution responses should be stored.
34218	OutputS3BucketName *string `min:"3" type:"string"`
34219
34220	// The directory structure within the S3 bucket where the responses should be
34221	// stored.
34222	OutputS3KeyPrefix *string `type:"string"`
34223
34224	// (Deprecated) You can no longer specify this parameter. The system ignores
34225	// it. Instead, Systems Manager automatically determines the Amazon S3 bucket
34226	// region.
34227	OutputS3Region *string `min:"3" type:"string"`
34228
34229	// The required and optional parameters specified in the document being run.
34230	Parameters map[string][]*string `type:"map"`
34231
34232	// The ARN of the IAM service role to use to publish Amazon Simple Notification
34233	// Service (Amazon SNS) notifications for Run Command commands.
34234	ServiceRoleArn *string `type:"string"`
34235
34236	// (Optional) An array of search criteria that targets instances using a Key,Value
34237	// combination that you specify. Targets is required if you don't provide one
34238	// or more instance IDs in the call. For more information about how to use targets,
34239	// see Sending Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
34240	// in the AWS Systems Manager User Guide.
34241	Targets []*Target `type:"list"`
34242
34243	// If this time is reached and the command has not already started running,
34244	// it will not run.
34245	TimeoutSeconds *int64 `min:"30" type:"integer"`
34246}
34247
34248// String returns the string representation
34249func (s SendCommandInput) String() string {
34250	return awsutil.Prettify(s)
34251}
34252
34253// GoString returns the string representation
34254func (s SendCommandInput) GoString() string {
34255	return s.String()
34256}
34257
34258// Validate inspects the fields of the type to determine if they are valid.
34259func (s *SendCommandInput) Validate() error {
34260	invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"}
34261	if s.DocumentName == nil {
34262		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
34263	}
34264	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
34265		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
34266	}
34267	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
34268		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
34269	}
34270	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
34271		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
34272	}
34273	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
34274		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
34275	}
34276	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
34277		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
34278	}
34279	if s.CloudWatchOutputConfig != nil {
34280		if err := s.CloudWatchOutputConfig.Validate(); err != nil {
34281			invalidParams.AddNested("CloudWatchOutputConfig", err.(request.ErrInvalidParams))
34282		}
34283	}
34284	if s.Targets != nil {
34285		for i, v := range s.Targets {
34286			if v == nil {
34287				continue
34288			}
34289			if err := v.Validate(); err != nil {
34290				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
34291			}
34292		}
34293	}
34294
34295	if invalidParams.Len() > 0 {
34296		return invalidParams
34297	}
34298	return nil
34299}
34300
34301// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
34302func (s *SendCommandInput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *SendCommandInput {
34303	s.CloudWatchOutputConfig = v
34304	return s
34305}
34306
34307// SetComment sets the Comment field's value.
34308func (s *SendCommandInput) SetComment(v string) *SendCommandInput {
34309	s.Comment = &v
34310	return s
34311}
34312
34313// SetDocumentHash sets the DocumentHash field's value.
34314func (s *SendCommandInput) SetDocumentHash(v string) *SendCommandInput {
34315	s.DocumentHash = &v
34316	return s
34317}
34318
34319// SetDocumentHashType sets the DocumentHashType field's value.
34320func (s *SendCommandInput) SetDocumentHashType(v string) *SendCommandInput {
34321	s.DocumentHashType = &v
34322	return s
34323}
34324
34325// SetDocumentName sets the DocumentName field's value.
34326func (s *SendCommandInput) SetDocumentName(v string) *SendCommandInput {
34327	s.DocumentName = &v
34328	return s
34329}
34330
34331// SetDocumentVersion sets the DocumentVersion field's value.
34332func (s *SendCommandInput) SetDocumentVersion(v string) *SendCommandInput {
34333	s.DocumentVersion = &v
34334	return s
34335}
34336
34337// SetInstanceIds sets the InstanceIds field's value.
34338func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput {
34339	s.InstanceIds = v
34340	return s
34341}
34342
34343// SetMaxConcurrency sets the MaxConcurrency field's value.
34344func (s *SendCommandInput) SetMaxConcurrency(v string) *SendCommandInput {
34345	s.MaxConcurrency = &v
34346	return s
34347}
34348
34349// SetMaxErrors sets the MaxErrors field's value.
34350func (s *SendCommandInput) SetMaxErrors(v string) *SendCommandInput {
34351	s.MaxErrors = &v
34352	return s
34353}
34354
34355// SetNotificationConfig sets the NotificationConfig field's value.
34356func (s *SendCommandInput) SetNotificationConfig(v *NotificationConfig) *SendCommandInput {
34357	s.NotificationConfig = v
34358	return s
34359}
34360
34361// SetOutputS3BucketName sets the OutputS3BucketName field's value.
34362func (s *SendCommandInput) SetOutputS3BucketName(v string) *SendCommandInput {
34363	s.OutputS3BucketName = &v
34364	return s
34365}
34366
34367// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
34368func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput {
34369	s.OutputS3KeyPrefix = &v
34370	return s
34371}
34372
34373// SetOutputS3Region sets the OutputS3Region field's value.
34374func (s *SendCommandInput) SetOutputS3Region(v string) *SendCommandInput {
34375	s.OutputS3Region = &v
34376	return s
34377}
34378
34379// SetParameters sets the Parameters field's value.
34380func (s *SendCommandInput) SetParameters(v map[string][]*string) *SendCommandInput {
34381	s.Parameters = v
34382	return s
34383}
34384
34385// SetServiceRoleArn sets the ServiceRoleArn field's value.
34386func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput {
34387	s.ServiceRoleArn = &v
34388	return s
34389}
34390
34391// SetTargets sets the Targets field's value.
34392func (s *SendCommandInput) SetTargets(v []*Target) *SendCommandInput {
34393	s.Targets = v
34394	return s
34395}
34396
34397// SetTimeoutSeconds sets the TimeoutSeconds field's value.
34398func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput {
34399	s.TimeoutSeconds = &v
34400	return s
34401}
34402
34403type SendCommandOutput struct {
34404	_ struct{} `type:"structure"`
34405
34406	// The request as it was received by Systems Manager. Also provides the command
34407	// ID which can be used future references to this request.
34408	Command *Command `type:"structure"`
34409}
34410
34411// String returns the string representation
34412func (s SendCommandOutput) String() string {
34413	return awsutil.Prettify(s)
34414}
34415
34416// GoString returns the string representation
34417func (s SendCommandOutput) GoString() string {
34418	return s.String()
34419}
34420
34421// SetCommand sets the Command field's value.
34422func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput {
34423	s.Command = v
34424	return s
34425}
34426
34427// The service setting data structure.
34428//
34429// ServiceSetting is an account-level setting for an AWS service. This setting
34430// defines how a user interacts with or uses a service or a feature of a service.
34431// For example, if an AWS service charges money to the account based on feature
34432// or service usage, then the AWS service team might create a default setting
34433// of "false". This means the user can't use this feature unless they change
34434// the setting to "true" and intentionally opt in for a paid feature.
34435//
34436// Services map a SettingId object to a setting value. AWS services teams define
34437// the default value for a SettingId. You can't create a new SettingId, but
34438// you can overwrite the default value if you have the ssm:UpdateServiceSetting
34439// permission for the setting. Use the UpdateServiceSetting API action to change
34440// the default setting. Or, use the ResetServiceSetting to change the value
34441// back to the original value defined by the AWS service team.
34442type ServiceSetting struct {
34443	_ struct{} `type:"structure"`
34444
34445	// The ARN of the service setting.
34446	ARN *string `type:"string"`
34447
34448	// The last time the service setting was modified.
34449	LastModifiedDate *time.Time `type:"timestamp"`
34450
34451	// The ARN of the last modified user. This field is populated only if the setting
34452	// value was overwritten.
34453	LastModifiedUser *string `type:"string"`
34454
34455	// The ID of the service setting.
34456	SettingId *string `min:"1" type:"string"`
34457
34458	// The value of the service setting.
34459	SettingValue *string `min:"1" type:"string"`
34460
34461	// The status of the service setting. The value can be Default, Customized or
34462	// PendingUpdate.
34463	//
34464	//    * Default: The current setting uses a default value provisioned by the
34465	//    AWS service team.
34466	//
34467	//    * Customized: The current setting use a custom value specified by the
34468	//    customer.
34469	//
34470	//    * PendingUpdate: The current setting uses a default or custom value, but
34471	//    a setting change request is pending approval.
34472	Status *string `type:"string"`
34473}
34474
34475// String returns the string representation
34476func (s ServiceSetting) String() string {
34477	return awsutil.Prettify(s)
34478}
34479
34480// GoString returns the string representation
34481func (s ServiceSetting) GoString() string {
34482	return s.String()
34483}
34484
34485// SetARN sets the ARN field's value.
34486func (s *ServiceSetting) SetARN(v string) *ServiceSetting {
34487	s.ARN = &v
34488	return s
34489}
34490
34491// SetLastModifiedDate sets the LastModifiedDate field's value.
34492func (s *ServiceSetting) SetLastModifiedDate(v time.Time) *ServiceSetting {
34493	s.LastModifiedDate = &v
34494	return s
34495}
34496
34497// SetLastModifiedUser sets the LastModifiedUser field's value.
34498func (s *ServiceSetting) SetLastModifiedUser(v string) *ServiceSetting {
34499	s.LastModifiedUser = &v
34500	return s
34501}
34502
34503// SetSettingId sets the SettingId field's value.
34504func (s *ServiceSetting) SetSettingId(v string) *ServiceSetting {
34505	s.SettingId = &v
34506	return s
34507}
34508
34509// SetSettingValue sets the SettingValue field's value.
34510func (s *ServiceSetting) SetSettingValue(v string) *ServiceSetting {
34511	s.SettingValue = &v
34512	return s
34513}
34514
34515// SetStatus sets the Status field's value.
34516func (s *ServiceSetting) SetStatus(v string) *ServiceSetting {
34517	s.Status = &v
34518	return s
34519}
34520
34521// Information about a Session Manager connection to an instance.
34522type Session struct {
34523	_ struct{} `type:"structure"`
34524
34525	// Reserved for future use.
34526	Details *string `min:"1" type:"string"`
34527
34528	// The name of the Session Manager SSM document used to define the parameters
34529	// and plugin settings for the session. For example, SSM-SessionManagerRunShell.
34530	DocumentName *string `type:"string"`
34531
34532	// The date and time, in ISO-8601 Extended format, when the session was terminated.
34533	EndDate *time.Time `type:"timestamp"`
34534
34535	// Reserved for future use.
34536	OutputUrl *SessionManagerOutputUrl `type:"structure"`
34537
34538	// The ID of the AWS user account that started the session.
34539	Owner *string `min:"1" type:"string"`
34540
34541	// The ID of the session.
34542	SessionId *string `min:"1" type:"string"`
34543
34544	// The date and time, in ISO-8601 Extended format, when the session began.
34545	StartDate *time.Time `type:"timestamp"`
34546
34547	// The status of the session. For example, "Connected" or "Terminated".
34548	Status *string `type:"string" enum:"SessionStatus"`
34549
34550	// The instance that the Session Manager session connected to.
34551	Target *string `min:"1" type:"string"`
34552}
34553
34554// String returns the string representation
34555func (s Session) String() string {
34556	return awsutil.Prettify(s)
34557}
34558
34559// GoString returns the string representation
34560func (s Session) GoString() string {
34561	return s.String()
34562}
34563
34564// SetDetails sets the Details field's value.
34565func (s *Session) SetDetails(v string) *Session {
34566	s.Details = &v
34567	return s
34568}
34569
34570// SetDocumentName sets the DocumentName field's value.
34571func (s *Session) SetDocumentName(v string) *Session {
34572	s.DocumentName = &v
34573	return s
34574}
34575
34576// SetEndDate sets the EndDate field's value.
34577func (s *Session) SetEndDate(v time.Time) *Session {
34578	s.EndDate = &v
34579	return s
34580}
34581
34582// SetOutputUrl sets the OutputUrl field's value.
34583func (s *Session) SetOutputUrl(v *SessionManagerOutputUrl) *Session {
34584	s.OutputUrl = v
34585	return s
34586}
34587
34588// SetOwner sets the Owner field's value.
34589func (s *Session) SetOwner(v string) *Session {
34590	s.Owner = &v
34591	return s
34592}
34593
34594// SetSessionId sets the SessionId field's value.
34595func (s *Session) SetSessionId(v string) *Session {
34596	s.SessionId = &v
34597	return s
34598}
34599
34600// SetStartDate sets the StartDate field's value.
34601func (s *Session) SetStartDate(v time.Time) *Session {
34602	s.StartDate = &v
34603	return s
34604}
34605
34606// SetStatus sets the Status field's value.
34607func (s *Session) SetStatus(v string) *Session {
34608	s.Status = &v
34609	return s
34610}
34611
34612// SetTarget sets the Target field's value.
34613func (s *Session) SetTarget(v string) *Session {
34614	s.Target = &v
34615	return s
34616}
34617
34618// Describes a filter for Session Manager information.
34619type SessionFilter struct {
34620	_ struct{} `type:"structure"`
34621
34622	// The name of the filter.
34623	//
34624	// Key is a required field
34625	Key *string `locationName:"key" type:"string" required:"true" enum:"SessionFilterKey"`
34626
34627	// The filter value. Valid values for each filter key are as follows:
34628	//
34629	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
34630	//    specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018,
34631	//    and later.
34632	//
34633	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
34634	//    specify 2018-08-29T00:00:00Z to see sessions that started before August
34635	//    29, 2018.
34636	//
34637	//    * Target: Specify an instance to which session connections have been made.
34638	//
34639	//    * Owner: Specify an AWS user account to see a list of sessions started
34640	//    by that user.
34641	//
34642	//    * Status: Specify a valid session status to see a list of all sessions
34643	//    with that status. Status values you can specify include: Connected Connecting
34644	//    Disconnected Terminated Terminating Failed
34645	//
34646	// Value is a required field
34647	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
34648}
34649
34650// String returns the string representation
34651func (s SessionFilter) String() string {
34652	return awsutil.Prettify(s)
34653}
34654
34655// GoString returns the string representation
34656func (s SessionFilter) GoString() string {
34657	return s.String()
34658}
34659
34660// Validate inspects the fields of the type to determine if they are valid.
34661func (s *SessionFilter) Validate() error {
34662	invalidParams := request.ErrInvalidParams{Context: "SessionFilter"}
34663	if s.Key == nil {
34664		invalidParams.Add(request.NewErrParamRequired("Key"))
34665	}
34666	if s.Value == nil {
34667		invalidParams.Add(request.NewErrParamRequired("Value"))
34668	}
34669	if s.Value != nil && len(*s.Value) < 1 {
34670		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
34671	}
34672
34673	if invalidParams.Len() > 0 {
34674		return invalidParams
34675	}
34676	return nil
34677}
34678
34679// SetKey sets the Key field's value.
34680func (s *SessionFilter) SetKey(v string) *SessionFilter {
34681	s.Key = &v
34682	return s
34683}
34684
34685// SetValue sets the Value field's value.
34686func (s *SessionFilter) SetValue(v string) *SessionFilter {
34687	s.Value = &v
34688	return s
34689}
34690
34691// Reserved for future use.
34692type SessionManagerOutputUrl struct {
34693	_ struct{} `type:"structure"`
34694
34695	// Reserved for future use.
34696	CloudWatchOutputUrl *string `min:"1" type:"string"`
34697
34698	// Reserved for future use.
34699	S3OutputUrl *string `min:"1" type:"string"`
34700}
34701
34702// String returns the string representation
34703func (s SessionManagerOutputUrl) String() string {
34704	return awsutil.Prettify(s)
34705}
34706
34707// GoString returns the string representation
34708func (s SessionManagerOutputUrl) GoString() string {
34709	return s.String()
34710}
34711
34712// SetCloudWatchOutputUrl sets the CloudWatchOutputUrl field's value.
34713func (s *SessionManagerOutputUrl) SetCloudWatchOutputUrl(v string) *SessionManagerOutputUrl {
34714	s.CloudWatchOutputUrl = &v
34715	return s
34716}
34717
34718// SetS3OutputUrl sets the S3OutputUrl field's value.
34719func (s *SessionManagerOutputUrl) SetS3OutputUrl(v string) *SessionManagerOutputUrl {
34720	s.S3OutputUrl = &v
34721	return s
34722}
34723
34724// The number of managed instances found for each patch severity level defined
34725// in the request filter.
34726type SeveritySummary struct {
34727	_ struct{} `type:"structure"`
34728
34729	// The total number of resources or compliance items that have a severity level
34730	// of critical. Critical severity is determined by the organization that published
34731	// the compliance items.
34732	CriticalCount *int64 `type:"integer"`
34733
34734	// The total number of resources or compliance items that have a severity level
34735	// of high. High severity is determined by the organization that published the
34736	// compliance items.
34737	HighCount *int64 `type:"integer"`
34738
34739	// The total number of resources or compliance items that have a severity level
34740	// of informational. Informational severity is determined by the organization
34741	// that published the compliance items.
34742	InformationalCount *int64 `type:"integer"`
34743
34744	// The total number of resources or compliance items that have a severity level
34745	// of low. Low severity is determined by the organization that published the
34746	// compliance items.
34747	LowCount *int64 `type:"integer"`
34748
34749	// The total number of resources or compliance items that have a severity level
34750	// of medium. Medium severity is determined by the organization that published
34751	// the compliance items.
34752	MediumCount *int64 `type:"integer"`
34753
34754	// The total number of resources or compliance items that have a severity level
34755	// of unspecified. Unspecified severity is determined by the organization that
34756	// published the compliance items.
34757	UnspecifiedCount *int64 `type:"integer"`
34758}
34759
34760// String returns the string representation
34761func (s SeveritySummary) String() string {
34762	return awsutil.Prettify(s)
34763}
34764
34765// GoString returns the string representation
34766func (s SeveritySummary) GoString() string {
34767	return s.String()
34768}
34769
34770// SetCriticalCount sets the CriticalCount field's value.
34771func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary {
34772	s.CriticalCount = &v
34773	return s
34774}
34775
34776// SetHighCount sets the HighCount field's value.
34777func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary {
34778	s.HighCount = &v
34779	return s
34780}
34781
34782// SetInformationalCount sets the InformationalCount field's value.
34783func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary {
34784	s.InformationalCount = &v
34785	return s
34786}
34787
34788// SetLowCount sets the LowCount field's value.
34789func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary {
34790	s.LowCount = &v
34791	return s
34792}
34793
34794// SetMediumCount sets the MediumCount field's value.
34795func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary {
34796	s.MediumCount = &v
34797	return s
34798}
34799
34800// SetUnspecifiedCount sets the UnspecifiedCount field's value.
34801func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary {
34802	s.UnspecifiedCount = &v
34803	return s
34804}
34805
34806type StartAssociationsOnceInput struct {
34807	_ struct{} `type:"structure"`
34808
34809	// The association IDs that you want to run immediately and only one time.
34810	//
34811	// AssociationIds is a required field
34812	AssociationIds []*string `min:"1" type:"list" required:"true"`
34813}
34814
34815// String returns the string representation
34816func (s StartAssociationsOnceInput) String() string {
34817	return awsutil.Prettify(s)
34818}
34819
34820// GoString returns the string representation
34821func (s StartAssociationsOnceInput) GoString() string {
34822	return s.String()
34823}
34824
34825// Validate inspects the fields of the type to determine if they are valid.
34826func (s *StartAssociationsOnceInput) Validate() error {
34827	invalidParams := request.ErrInvalidParams{Context: "StartAssociationsOnceInput"}
34828	if s.AssociationIds == nil {
34829		invalidParams.Add(request.NewErrParamRequired("AssociationIds"))
34830	}
34831	if s.AssociationIds != nil && len(s.AssociationIds) < 1 {
34832		invalidParams.Add(request.NewErrParamMinLen("AssociationIds", 1))
34833	}
34834
34835	if invalidParams.Len() > 0 {
34836		return invalidParams
34837	}
34838	return nil
34839}
34840
34841// SetAssociationIds sets the AssociationIds field's value.
34842func (s *StartAssociationsOnceInput) SetAssociationIds(v []*string) *StartAssociationsOnceInput {
34843	s.AssociationIds = v
34844	return s
34845}
34846
34847type StartAssociationsOnceOutput struct {
34848	_ struct{} `type:"structure"`
34849}
34850
34851// String returns the string representation
34852func (s StartAssociationsOnceOutput) String() string {
34853	return awsutil.Prettify(s)
34854}
34855
34856// GoString returns the string representation
34857func (s StartAssociationsOnceOutput) GoString() string {
34858	return s.String()
34859}
34860
34861type StartAutomationExecutionInput struct {
34862	_ struct{} `type:"structure"`
34863
34864	// User-provided idempotency token. The token must be unique, is case insensitive,
34865	// enforces the UUID format, and can't be reused.
34866	ClientToken *string `min:"36" type:"string"`
34867
34868	// The name of the Automation document to use for this execution.
34869	//
34870	// DocumentName is a required field
34871	DocumentName *string `type:"string" required:"true"`
34872
34873	// The version of the Automation document to use for this execution.
34874	DocumentVersion *string `type:"string"`
34875
34876	// The maximum number of targets allowed to run this task in parallel. You can
34877	// specify a number, such as 10, or a percentage, such as 10%. The default value
34878	// is 10.
34879	MaxConcurrency *string `min:"1" type:"string"`
34880
34881	// The number of errors that are allowed before the system stops running the
34882	// automation on additional targets. You can specify either an absolute number
34883	// of errors, for example 10, or a percentage of the target set, for example
34884	// 10%. If you specify 3, for example, the system stops running the automation
34885	// when the fourth error is received. If you specify 0, then the system stops
34886	// running the automation on additional targets after the first error result
34887	// is returned. If you run an automation on 50 resources and set max-errors
34888	// to 10%, then the system stops running the automation on additional targets
34889	// when the sixth error is received.
34890	//
34891	// Executions that are already running an automation when max-errors is reached
34892	// are allowed to complete, but some of these executions may fail as well. If
34893	// you need to ensure that there won't be more than max-errors failed executions,
34894	// set max-concurrency to 1 so the executions proceed one at a time.
34895	MaxErrors *string `min:"1" type:"string"`
34896
34897	// The execution mode of the automation. Valid modes include the following:
34898	// Auto and Interactive. The default mode is Auto.
34899	Mode *string `type:"string" enum:"ExecutionMode"`
34900
34901	// A key-value map of execution parameters, which match the declared parameters
34902	// in the Automation document.
34903	Parameters map[string][]*string `min:"1" type:"map"`
34904
34905	// A location is a combination of AWS Regions and/or AWS accounts where you
34906	// want to run the Automation. Use this action to start an Automation in multiple
34907	// Regions and multiple accounts. For more information, see Executing Automations
34908	// in Multiple AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
34909	// in the AWS Systems Manager User Guide.
34910	TargetLocations []*TargetLocation `min:"1" type:"list"`
34911
34912	// A key-value mapping of document parameters to target resources. Both Targets
34913	// and TargetMaps cannot be specified together.
34914	TargetMaps []map[string][]*string `type:"list"`
34915
34916	// The name of the parameter used as the target resource for the rate-controlled
34917	// execution. Required if you specify targets.
34918	TargetParameterName *string `min:"1" type:"string"`
34919
34920	// A key-value mapping to target resources. Required if you specify TargetParameterName.
34921	Targets []*Target `type:"list"`
34922}
34923
34924// String returns the string representation
34925func (s StartAutomationExecutionInput) String() string {
34926	return awsutil.Prettify(s)
34927}
34928
34929// GoString returns the string representation
34930func (s StartAutomationExecutionInput) GoString() string {
34931	return s.String()
34932}
34933
34934// Validate inspects the fields of the type to determine if they are valid.
34935func (s *StartAutomationExecutionInput) Validate() error {
34936	invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"}
34937	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
34938		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
34939	}
34940	if s.DocumentName == nil {
34941		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
34942	}
34943	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
34944		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
34945	}
34946	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
34947		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
34948	}
34949	if s.Parameters != nil && len(s.Parameters) < 1 {
34950		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
34951	}
34952	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
34953		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
34954	}
34955	if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 {
34956		invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1))
34957	}
34958	if s.TargetLocations != nil {
34959		for i, v := range s.TargetLocations {
34960			if v == nil {
34961				continue
34962			}
34963			if err := v.Validate(); err != nil {
34964				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
34965			}
34966		}
34967	}
34968	if s.Targets != nil {
34969		for i, v := range s.Targets {
34970			if v == nil {
34971				continue
34972			}
34973			if err := v.Validate(); err != nil {
34974				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
34975			}
34976		}
34977	}
34978
34979	if invalidParams.Len() > 0 {
34980		return invalidParams
34981	}
34982	return nil
34983}
34984
34985// SetClientToken sets the ClientToken field's value.
34986func (s *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput {
34987	s.ClientToken = &v
34988	return s
34989}
34990
34991// SetDocumentName sets the DocumentName field's value.
34992func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput {
34993	s.DocumentName = &v
34994	return s
34995}
34996
34997// SetDocumentVersion sets the DocumentVersion field's value.
34998func (s *StartAutomationExecutionInput) SetDocumentVersion(v string) *StartAutomationExecutionInput {
34999	s.DocumentVersion = &v
35000	return s
35001}
35002
35003// SetMaxConcurrency sets the MaxConcurrency field's value.
35004func (s *StartAutomationExecutionInput) SetMaxConcurrency(v string) *StartAutomationExecutionInput {
35005	s.MaxConcurrency = &v
35006	return s
35007}
35008
35009// SetMaxErrors sets the MaxErrors field's value.
35010func (s *StartAutomationExecutionInput) SetMaxErrors(v string) *StartAutomationExecutionInput {
35011	s.MaxErrors = &v
35012	return s
35013}
35014
35015// SetMode sets the Mode field's value.
35016func (s *StartAutomationExecutionInput) SetMode(v string) *StartAutomationExecutionInput {
35017	s.Mode = &v
35018	return s
35019}
35020
35021// SetParameters sets the Parameters field's value.
35022func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput {
35023	s.Parameters = v
35024	return s
35025}
35026
35027// SetTargetLocations sets the TargetLocations field's value.
35028func (s *StartAutomationExecutionInput) SetTargetLocations(v []*TargetLocation) *StartAutomationExecutionInput {
35029	s.TargetLocations = v
35030	return s
35031}
35032
35033// SetTargetMaps sets the TargetMaps field's value.
35034func (s *StartAutomationExecutionInput) SetTargetMaps(v []map[string][]*string) *StartAutomationExecutionInput {
35035	s.TargetMaps = v
35036	return s
35037}
35038
35039// SetTargetParameterName sets the TargetParameterName field's value.
35040func (s *StartAutomationExecutionInput) SetTargetParameterName(v string) *StartAutomationExecutionInput {
35041	s.TargetParameterName = &v
35042	return s
35043}
35044
35045// SetTargets sets the Targets field's value.
35046func (s *StartAutomationExecutionInput) SetTargets(v []*Target) *StartAutomationExecutionInput {
35047	s.Targets = v
35048	return s
35049}
35050
35051type StartAutomationExecutionOutput struct {
35052	_ struct{} `type:"structure"`
35053
35054	// The unique ID of a newly scheduled automation execution.
35055	AutomationExecutionId *string `min:"36" type:"string"`
35056}
35057
35058// String returns the string representation
35059func (s StartAutomationExecutionOutput) String() string {
35060	return awsutil.Prettify(s)
35061}
35062
35063// GoString returns the string representation
35064func (s StartAutomationExecutionOutput) GoString() string {
35065	return s.String()
35066}
35067
35068// SetAutomationExecutionId sets the AutomationExecutionId field's value.
35069func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *StartAutomationExecutionOutput {
35070	s.AutomationExecutionId = &v
35071	return s
35072}
35073
35074type StartSessionInput struct {
35075	_ struct{} `type:"structure"`
35076
35077	// The name of the SSM document to define the parameters and plugin settings
35078	// for the session. For example, SSM-SessionManagerRunShell. If no document
35079	// name is provided, a shell to the instance is launched by default.
35080	DocumentName *string `type:"string"`
35081
35082	// Reserved for future use.
35083	Parameters map[string][]*string `type:"map"`
35084
35085	// The instance to connect to for the session.
35086	//
35087	// Target is a required field
35088	Target *string `min:"1" type:"string" required:"true"`
35089}
35090
35091// String returns the string representation
35092func (s StartSessionInput) String() string {
35093	return awsutil.Prettify(s)
35094}
35095
35096// GoString returns the string representation
35097func (s StartSessionInput) GoString() string {
35098	return s.String()
35099}
35100
35101// Validate inspects the fields of the type to determine if they are valid.
35102func (s *StartSessionInput) Validate() error {
35103	invalidParams := request.ErrInvalidParams{Context: "StartSessionInput"}
35104	if s.Target == nil {
35105		invalidParams.Add(request.NewErrParamRequired("Target"))
35106	}
35107	if s.Target != nil && len(*s.Target) < 1 {
35108		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
35109	}
35110
35111	if invalidParams.Len() > 0 {
35112		return invalidParams
35113	}
35114	return nil
35115}
35116
35117// SetDocumentName sets the DocumentName field's value.
35118func (s *StartSessionInput) SetDocumentName(v string) *StartSessionInput {
35119	s.DocumentName = &v
35120	return s
35121}
35122
35123// SetParameters sets the Parameters field's value.
35124func (s *StartSessionInput) SetParameters(v map[string][]*string) *StartSessionInput {
35125	s.Parameters = v
35126	return s
35127}
35128
35129// SetTarget sets the Target field's value.
35130func (s *StartSessionInput) SetTarget(v string) *StartSessionInput {
35131	s.Target = &v
35132	return s
35133}
35134
35135type StartSessionOutput struct {
35136	_ struct{} `type:"structure"`
35137
35138	// The ID of the session.
35139	SessionId *string `min:"1" type:"string"`
35140
35141	// A URL back to SSM Agent on the instance that the Session Manager client uses
35142	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
35143	//
35144	// region represents the Region identifier for an AWS Region supported by AWS
35145	// Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list
35146	// of supported region values, see the Region column in the AWS Systems Manager
35147	// table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)
35148	// in the AWS General Reference.
35149	//
35150	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
35151	StreamUrl *string `type:"string"`
35152
35153	// An encrypted token value containing session and caller information. Used
35154	// to authenticate the connection to the instance.
35155	TokenValue *string `type:"string"`
35156}
35157
35158// String returns the string representation
35159func (s StartSessionOutput) String() string {
35160	return awsutil.Prettify(s)
35161}
35162
35163// GoString returns the string representation
35164func (s StartSessionOutput) GoString() string {
35165	return s.String()
35166}
35167
35168// SetSessionId sets the SessionId field's value.
35169func (s *StartSessionOutput) SetSessionId(v string) *StartSessionOutput {
35170	s.SessionId = &v
35171	return s
35172}
35173
35174// SetStreamUrl sets the StreamUrl field's value.
35175func (s *StartSessionOutput) SetStreamUrl(v string) *StartSessionOutput {
35176	s.StreamUrl = &v
35177	return s
35178}
35179
35180// SetTokenValue sets the TokenValue field's value.
35181func (s *StartSessionOutput) SetTokenValue(v string) *StartSessionOutput {
35182	s.TokenValue = &v
35183	return s
35184}
35185
35186// Detailed information about an the execution state of an Automation step.
35187type StepExecution struct {
35188	_ struct{} `type:"structure"`
35189
35190	// The action this step performs. The action determines the behavior of the
35191	// step.
35192	Action *string `type:"string"`
35193
35194	// If a step has finished execution, this contains the time the execution ended.
35195	// If the step has not yet concluded, this field is not populated.
35196	ExecutionEndTime *time.Time `type:"timestamp"`
35197
35198	// If a step has begun execution, this contains the time the step started. If
35199	// the step is in Pending status, this field is not populated.
35200	ExecutionStartTime *time.Time `type:"timestamp"`
35201
35202	// Information about the Automation failure.
35203	FailureDetails *FailureDetails `type:"structure"`
35204
35205	// If a step failed, this message explains why the execution failed.
35206	FailureMessage *string `type:"string"`
35207
35208	// Fully-resolved values passed into the step before execution.
35209	Inputs map[string]*string `type:"map"`
35210
35211	// The flag which can be used to help decide whether the failure of current
35212	// step leads to the Automation failure.
35213	IsCritical *bool `type:"boolean"`
35214
35215	// The flag which can be used to end automation no matter whether the step succeeds
35216	// or fails.
35217	IsEnd *bool `type:"boolean"`
35218
35219	// The maximum number of tries to run the action of the step. The default value
35220	// is 1.
35221	MaxAttempts *int64 `type:"integer"`
35222
35223	// The next step after the step succeeds.
35224	NextStep *string `type:"string"`
35225
35226	// The action to take if the step fails. The default value is Abort.
35227	OnFailure *string `type:"string"`
35228
35229	// Returned values from the execution of the step.
35230	Outputs map[string][]*string `min:"1" type:"map"`
35231
35232	// A user-specified list of parameters to override when running a step.
35233	OverriddenParameters map[string][]*string `min:"1" type:"map"`
35234
35235	// A message associated with the response code for an execution.
35236	Response *string `type:"string"`
35237
35238	// The response code returned by the execution of the step.
35239	ResponseCode *string `type:"string"`
35240
35241	// The unique ID of a step execution.
35242	StepExecutionId *string `type:"string"`
35243
35244	// The name of this execution step.
35245	StepName *string `type:"string"`
35246
35247	// The execution status for this step. Valid values include: Pending, InProgress,
35248	// Success, Cancelled, Failed, and TimedOut.
35249	StepStatus *string `type:"string" enum:"AutomationExecutionStatus"`
35250
35251	// The combination of AWS Regions and accounts targeted by the current Automation
35252	// execution.
35253	TargetLocation *TargetLocation `type:"structure"`
35254
35255	// The targets for the step execution.
35256	Targets []*Target `type:"list"`
35257
35258	// The timeout seconds of the step.
35259	TimeoutSeconds *int64 `type:"long"`
35260
35261	// Strategies used when step fails, we support Continue and Abort. Abort will
35262	// fail the automation when the step fails. Continue will ignore the failure
35263	// of current step and allow automation to run the next step. With conditional
35264	// branching, we add step:stepName to support the automation to go to another
35265	// specific step.
35266	ValidNextSteps []*string `type:"list"`
35267}
35268
35269// String returns the string representation
35270func (s StepExecution) String() string {
35271	return awsutil.Prettify(s)
35272}
35273
35274// GoString returns the string representation
35275func (s StepExecution) GoString() string {
35276	return s.String()
35277}
35278
35279// SetAction sets the Action field's value.
35280func (s *StepExecution) SetAction(v string) *StepExecution {
35281	s.Action = &v
35282	return s
35283}
35284
35285// SetExecutionEndTime sets the ExecutionEndTime field's value.
35286func (s *StepExecution) SetExecutionEndTime(v time.Time) *StepExecution {
35287	s.ExecutionEndTime = &v
35288	return s
35289}
35290
35291// SetExecutionStartTime sets the ExecutionStartTime field's value.
35292func (s *StepExecution) SetExecutionStartTime(v time.Time) *StepExecution {
35293	s.ExecutionStartTime = &v
35294	return s
35295}
35296
35297// SetFailureDetails sets the FailureDetails field's value.
35298func (s *StepExecution) SetFailureDetails(v *FailureDetails) *StepExecution {
35299	s.FailureDetails = v
35300	return s
35301}
35302
35303// SetFailureMessage sets the FailureMessage field's value.
35304func (s *StepExecution) SetFailureMessage(v string) *StepExecution {
35305	s.FailureMessage = &v
35306	return s
35307}
35308
35309// SetInputs sets the Inputs field's value.
35310func (s *StepExecution) SetInputs(v map[string]*string) *StepExecution {
35311	s.Inputs = v
35312	return s
35313}
35314
35315// SetIsCritical sets the IsCritical field's value.
35316func (s *StepExecution) SetIsCritical(v bool) *StepExecution {
35317	s.IsCritical = &v
35318	return s
35319}
35320
35321// SetIsEnd sets the IsEnd field's value.
35322func (s *StepExecution) SetIsEnd(v bool) *StepExecution {
35323	s.IsEnd = &v
35324	return s
35325}
35326
35327// SetMaxAttempts sets the MaxAttempts field's value.
35328func (s *StepExecution) SetMaxAttempts(v int64) *StepExecution {
35329	s.MaxAttempts = &v
35330	return s
35331}
35332
35333// SetNextStep sets the NextStep field's value.
35334func (s *StepExecution) SetNextStep(v string) *StepExecution {
35335	s.NextStep = &v
35336	return s
35337}
35338
35339// SetOnFailure sets the OnFailure field's value.
35340func (s *StepExecution) SetOnFailure(v string) *StepExecution {
35341	s.OnFailure = &v
35342	return s
35343}
35344
35345// SetOutputs sets the Outputs field's value.
35346func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution {
35347	s.Outputs = v
35348	return s
35349}
35350
35351// SetOverriddenParameters sets the OverriddenParameters field's value.
35352func (s *StepExecution) SetOverriddenParameters(v map[string][]*string) *StepExecution {
35353	s.OverriddenParameters = v
35354	return s
35355}
35356
35357// SetResponse sets the Response field's value.
35358func (s *StepExecution) SetResponse(v string) *StepExecution {
35359	s.Response = &v
35360	return s
35361}
35362
35363// SetResponseCode sets the ResponseCode field's value.
35364func (s *StepExecution) SetResponseCode(v string) *StepExecution {
35365	s.ResponseCode = &v
35366	return s
35367}
35368
35369// SetStepExecutionId sets the StepExecutionId field's value.
35370func (s *StepExecution) SetStepExecutionId(v string) *StepExecution {
35371	s.StepExecutionId = &v
35372	return s
35373}
35374
35375// SetStepName sets the StepName field's value.
35376func (s *StepExecution) SetStepName(v string) *StepExecution {
35377	s.StepName = &v
35378	return s
35379}
35380
35381// SetStepStatus sets the StepStatus field's value.
35382func (s *StepExecution) SetStepStatus(v string) *StepExecution {
35383	s.StepStatus = &v
35384	return s
35385}
35386
35387// SetTargetLocation sets the TargetLocation field's value.
35388func (s *StepExecution) SetTargetLocation(v *TargetLocation) *StepExecution {
35389	s.TargetLocation = v
35390	return s
35391}
35392
35393// SetTargets sets the Targets field's value.
35394func (s *StepExecution) SetTargets(v []*Target) *StepExecution {
35395	s.Targets = v
35396	return s
35397}
35398
35399// SetTimeoutSeconds sets the TimeoutSeconds field's value.
35400func (s *StepExecution) SetTimeoutSeconds(v int64) *StepExecution {
35401	s.TimeoutSeconds = &v
35402	return s
35403}
35404
35405// SetValidNextSteps sets the ValidNextSteps field's value.
35406func (s *StepExecution) SetValidNextSteps(v []*string) *StepExecution {
35407	s.ValidNextSteps = v
35408	return s
35409}
35410
35411// A filter to limit the amount of step execution information returned by the
35412// call.
35413type StepExecutionFilter struct {
35414	_ struct{} `type:"structure"`
35415
35416	// One or more keys to limit the results. Valid filter keys include the following:
35417	// StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore,
35418	// StartTimeAfter.
35419	//
35420	// Key is a required field
35421	Key *string `type:"string" required:"true" enum:"StepExecutionFilterKey"`
35422
35423	// The values of the filter key.
35424	//
35425	// Values is a required field
35426	Values []*string `min:"1" type:"list" required:"true"`
35427}
35428
35429// String returns the string representation
35430func (s StepExecutionFilter) String() string {
35431	return awsutil.Prettify(s)
35432}
35433
35434// GoString returns the string representation
35435func (s StepExecutionFilter) GoString() string {
35436	return s.String()
35437}
35438
35439// Validate inspects the fields of the type to determine if they are valid.
35440func (s *StepExecutionFilter) Validate() error {
35441	invalidParams := request.ErrInvalidParams{Context: "StepExecutionFilter"}
35442	if s.Key == nil {
35443		invalidParams.Add(request.NewErrParamRequired("Key"))
35444	}
35445	if s.Values == nil {
35446		invalidParams.Add(request.NewErrParamRequired("Values"))
35447	}
35448	if s.Values != nil && len(s.Values) < 1 {
35449		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
35450	}
35451
35452	if invalidParams.Len() > 0 {
35453		return invalidParams
35454	}
35455	return nil
35456}
35457
35458// SetKey sets the Key field's value.
35459func (s *StepExecutionFilter) SetKey(v string) *StepExecutionFilter {
35460	s.Key = &v
35461	return s
35462}
35463
35464// SetValues sets the Values field's value.
35465func (s *StepExecutionFilter) SetValues(v []*string) *StepExecutionFilter {
35466	s.Values = v
35467	return s
35468}
35469
35470type StopAutomationExecutionInput struct {
35471	_ struct{} `type:"structure"`
35472
35473	// The execution ID of the Automation to stop.
35474	//
35475	// AutomationExecutionId is a required field
35476	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
35477
35478	// The stop request type. Valid types include the following: Cancel and Complete.
35479	// The default type is Cancel.
35480	Type *string `type:"string" enum:"StopType"`
35481}
35482
35483// String returns the string representation
35484func (s StopAutomationExecutionInput) String() string {
35485	return awsutil.Prettify(s)
35486}
35487
35488// GoString returns the string representation
35489func (s StopAutomationExecutionInput) GoString() string {
35490	return s.String()
35491}
35492
35493// Validate inspects the fields of the type to determine if they are valid.
35494func (s *StopAutomationExecutionInput) Validate() error {
35495	invalidParams := request.ErrInvalidParams{Context: "StopAutomationExecutionInput"}
35496	if s.AutomationExecutionId == nil {
35497		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
35498	}
35499	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
35500		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
35501	}
35502
35503	if invalidParams.Len() > 0 {
35504		return invalidParams
35505	}
35506	return nil
35507}
35508
35509// SetAutomationExecutionId sets the AutomationExecutionId field's value.
35510func (s *StopAutomationExecutionInput) SetAutomationExecutionId(v string) *StopAutomationExecutionInput {
35511	s.AutomationExecutionId = &v
35512	return s
35513}
35514
35515// SetType sets the Type field's value.
35516func (s *StopAutomationExecutionInput) SetType(v string) *StopAutomationExecutionInput {
35517	s.Type = &v
35518	return s
35519}
35520
35521type StopAutomationExecutionOutput struct {
35522	_ struct{} `type:"structure"`
35523}
35524
35525// String returns the string representation
35526func (s StopAutomationExecutionOutput) String() string {
35527	return awsutil.Prettify(s)
35528}
35529
35530// GoString returns the string representation
35531func (s StopAutomationExecutionOutput) GoString() string {
35532	return s.String()
35533}
35534
35535// Metadata that you assign to your AWS resources. Tags enable you to categorize
35536// your resources in different ways, for example, by purpose, owner, or environment.
35537// In Systems Manager, you can apply tags to documents, managed instances, maintenance
35538// windows, Parameter Store parameters, and patch baselines.
35539type Tag struct {
35540	_ struct{} `type:"structure"`
35541
35542	// The name of the tag.
35543	//
35544	// Key is a required field
35545	Key *string `min:"1" type:"string" required:"true"`
35546
35547	// The value of the tag.
35548	//
35549	// Value is a required field
35550	Value *string `min:"1" type:"string" required:"true"`
35551}
35552
35553// String returns the string representation
35554func (s Tag) String() string {
35555	return awsutil.Prettify(s)
35556}
35557
35558// GoString returns the string representation
35559func (s Tag) GoString() string {
35560	return s.String()
35561}
35562
35563// Validate inspects the fields of the type to determine if they are valid.
35564func (s *Tag) Validate() error {
35565	invalidParams := request.ErrInvalidParams{Context: "Tag"}
35566	if s.Key == nil {
35567		invalidParams.Add(request.NewErrParamRequired("Key"))
35568	}
35569	if s.Key != nil && len(*s.Key) < 1 {
35570		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
35571	}
35572	if s.Value == nil {
35573		invalidParams.Add(request.NewErrParamRequired("Value"))
35574	}
35575	if s.Value != nil && len(*s.Value) < 1 {
35576		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
35577	}
35578
35579	if invalidParams.Len() > 0 {
35580		return invalidParams
35581	}
35582	return nil
35583}
35584
35585// SetKey sets the Key field's value.
35586func (s *Tag) SetKey(v string) *Tag {
35587	s.Key = &v
35588	return s
35589}
35590
35591// SetValue sets the Value field's value.
35592func (s *Tag) SetValue(v string) *Tag {
35593	s.Value = &v
35594	return s
35595}
35596
35597// An array of search criteria that targets instances using a Key,Value combination
35598// that you specify.
35599//
35600// Supported formats include the following.
35601//
35602//    * Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
35603//
35604//    * Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
35605//
35606//    * Key=tag-key,Values=my-tag-key-1,my-tag-key-2
35607//
35608//    * (Maintenance window targets only) Key=resource-groups:Name,Values=resource-group-name
35609//
35610//    * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
35611//
35612// For example:
35613//
35614//    * Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
35615//
35616//    * Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3
35617//
35618//    * Key=tag-key,Values=Name,Instance-Type,CostCenter
35619//
35620//    * (Maintenance window targets only) Key=resource-groups:Name,Values=ProductionResourceGroup
35621//    This example demonstrates how to target all resources in the resource
35622//    group ProductionResourceGroup in your maintenance window.
35623//
35624//    * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
35625//    This example demonstrates how to target only Amazon EC2 instances and
35626//    VPCs in your maintenance window.
35627//
35628//    * (State Manager association targets only) Key=InstanceIds,Values=* This
35629//    example demonstrates how to target all managed instances in the AWS Region
35630//    where the association was created.
35631//
35632// For information about how to send commands that target instances using Key,Value
35633// parameters, see Using Targets and Rate Controls to Send Commands to a Fleet
35634// (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting)
35635// in the AWS Systems Manager User Guide.
35636type Target struct {
35637	_ struct{} `type:"structure"`
35638
35639	// User-defined criteria for sending commands that target instances that meet
35640	// the criteria.
35641	Key *string `min:"1" type:"string"`
35642
35643	// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole,
35644	// you could specify value:WebServer to run a command on instances that include
35645	// Amazon EC2 tags of ServerRole,WebServer.
35646	Values []*string `type:"list"`
35647}
35648
35649// String returns the string representation
35650func (s Target) String() string {
35651	return awsutil.Prettify(s)
35652}
35653
35654// GoString returns the string representation
35655func (s Target) GoString() string {
35656	return s.String()
35657}
35658
35659// Validate inspects the fields of the type to determine if they are valid.
35660func (s *Target) Validate() error {
35661	invalidParams := request.ErrInvalidParams{Context: "Target"}
35662	if s.Key != nil && len(*s.Key) < 1 {
35663		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
35664	}
35665
35666	if invalidParams.Len() > 0 {
35667		return invalidParams
35668	}
35669	return nil
35670}
35671
35672// SetKey sets the Key field's value.
35673func (s *Target) SetKey(v string) *Target {
35674	s.Key = &v
35675	return s
35676}
35677
35678// SetValues sets the Values field's value.
35679func (s *Target) SetValues(v []*string) *Target {
35680	s.Values = v
35681	return s
35682}
35683
35684// The combination of AWS Regions and accounts targeted by the current Automation
35685// execution.
35686type TargetLocation struct {
35687	_ struct{} `type:"structure"`
35688
35689	// The AWS accounts targeted by the current Automation execution.
35690	Accounts []*string `min:"1" type:"list"`
35691
35692	// The Automation execution role used by the currently running Automation.
35693	ExecutionRoleName *string `min:"1" type:"string"`
35694
35695	// The AWS Regions targeted by the current Automation execution.
35696	Regions []*string `min:"1" type:"list"`
35697
35698	// The maximum number of AWS accounts and AWS regions allowed to run the Automation
35699	// concurrently
35700	TargetLocationMaxConcurrency *string `min:"1" type:"string"`
35701
35702	// The maximum number of errors allowed before the system stops queueing additional
35703	// Automation executions for the currently running Automation.
35704	TargetLocationMaxErrors *string `min:"1" type:"string"`
35705}
35706
35707// String returns the string representation
35708func (s TargetLocation) String() string {
35709	return awsutil.Prettify(s)
35710}
35711
35712// GoString returns the string representation
35713func (s TargetLocation) GoString() string {
35714	return s.String()
35715}
35716
35717// Validate inspects the fields of the type to determine if they are valid.
35718func (s *TargetLocation) Validate() error {
35719	invalidParams := request.ErrInvalidParams{Context: "TargetLocation"}
35720	if s.Accounts != nil && len(s.Accounts) < 1 {
35721		invalidParams.Add(request.NewErrParamMinLen("Accounts", 1))
35722	}
35723	if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 {
35724		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1))
35725	}
35726	if s.Regions != nil && len(s.Regions) < 1 {
35727		invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
35728	}
35729	if s.TargetLocationMaxConcurrency != nil && len(*s.TargetLocationMaxConcurrency) < 1 {
35730		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxConcurrency", 1))
35731	}
35732	if s.TargetLocationMaxErrors != nil && len(*s.TargetLocationMaxErrors) < 1 {
35733		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxErrors", 1))
35734	}
35735
35736	if invalidParams.Len() > 0 {
35737		return invalidParams
35738	}
35739	return nil
35740}
35741
35742// SetAccounts sets the Accounts field's value.
35743func (s *TargetLocation) SetAccounts(v []*string) *TargetLocation {
35744	s.Accounts = v
35745	return s
35746}
35747
35748// SetExecutionRoleName sets the ExecutionRoleName field's value.
35749func (s *TargetLocation) SetExecutionRoleName(v string) *TargetLocation {
35750	s.ExecutionRoleName = &v
35751	return s
35752}
35753
35754// SetRegions sets the Regions field's value.
35755func (s *TargetLocation) SetRegions(v []*string) *TargetLocation {
35756	s.Regions = v
35757	return s
35758}
35759
35760// SetTargetLocationMaxConcurrency sets the TargetLocationMaxConcurrency field's value.
35761func (s *TargetLocation) SetTargetLocationMaxConcurrency(v string) *TargetLocation {
35762	s.TargetLocationMaxConcurrency = &v
35763	return s
35764}
35765
35766// SetTargetLocationMaxErrors sets the TargetLocationMaxErrors field's value.
35767func (s *TargetLocation) SetTargetLocationMaxErrors(v string) *TargetLocation {
35768	s.TargetLocationMaxErrors = &v
35769	return s
35770}
35771
35772type TerminateSessionInput struct {
35773	_ struct{} `type:"structure"`
35774
35775	// The ID of the session to terminate.
35776	//
35777	// SessionId is a required field
35778	SessionId *string `min:"1" type:"string" required:"true"`
35779}
35780
35781// String returns the string representation
35782func (s TerminateSessionInput) String() string {
35783	return awsutil.Prettify(s)
35784}
35785
35786// GoString returns the string representation
35787func (s TerminateSessionInput) GoString() string {
35788	return s.String()
35789}
35790
35791// Validate inspects the fields of the type to determine if they are valid.
35792func (s *TerminateSessionInput) Validate() error {
35793	invalidParams := request.ErrInvalidParams{Context: "TerminateSessionInput"}
35794	if s.SessionId == nil {
35795		invalidParams.Add(request.NewErrParamRequired("SessionId"))
35796	}
35797	if s.SessionId != nil && len(*s.SessionId) < 1 {
35798		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
35799	}
35800
35801	if invalidParams.Len() > 0 {
35802		return invalidParams
35803	}
35804	return nil
35805}
35806
35807// SetSessionId sets the SessionId field's value.
35808func (s *TerminateSessionInput) SetSessionId(v string) *TerminateSessionInput {
35809	s.SessionId = &v
35810	return s
35811}
35812
35813type TerminateSessionOutput struct {
35814	_ struct{} `type:"structure"`
35815
35816	// The ID of the session that has been terminated.
35817	SessionId *string `min:"1" type:"string"`
35818}
35819
35820// String returns the string representation
35821func (s TerminateSessionOutput) String() string {
35822	return awsutil.Prettify(s)
35823}
35824
35825// GoString returns the string representation
35826func (s TerminateSessionOutput) GoString() string {
35827	return s.String()
35828}
35829
35830// SetSessionId sets the SessionId field's value.
35831func (s *TerminateSessionOutput) SetSessionId(v string) *TerminateSessionOutput {
35832	s.SessionId = &v
35833	return s
35834}
35835
35836type UpdateAssociationInput struct {
35837	_ struct{} `type:"structure"`
35838
35839	// The ID of the association you want to update.
35840	//
35841	// AssociationId is a required field
35842	AssociationId *string `type:"string" required:"true"`
35843
35844	// The name of the association that you want to update.
35845	AssociationName *string `type:"string"`
35846
35847	// This parameter is provided for concurrency control purposes. You must specify
35848	// the latest association version in the service. If you want to ensure that
35849	// this request succeeds, either specify $LATEST, or omit this parameter.
35850	AssociationVersion *string `type:"string"`
35851
35852	// Specify the target for the association. This target is required for associations
35853	// that use an Automation document and target resources by using rate controls.
35854	AutomationTargetParameterName *string `min:"1" type:"string"`
35855
35856	// The severity level to assign to the association.
35857	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
35858
35859	// The document version you want update for the association.
35860	DocumentVersion *string `type:"string"`
35861
35862	// The maximum number of targets allowed to run the association at the same
35863	// time. You can specify a number, for example 10, or a percentage of the target
35864	// set, for example 10%. The default value is 100%, which means all targets
35865	// run the association at the same time.
35866	//
35867	// If a new instance starts and attempts to run an association while Systems
35868	// Manager is running MaxConcurrency associations, the association is allowed
35869	// to run. During the next association interval, the new instance will process
35870	// its association within the limit specified for MaxConcurrency.
35871	MaxConcurrency *string `min:"1" type:"string"`
35872
35873	// The number of errors that are allowed before the system stops sending requests
35874	// to run the association on additional targets. You can specify either an absolute
35875	// number of errors, for example 10, or a percentage of the target set, for
35876	// example 10%. If you specify 3, for example, the system stops sending requests
35877	// when the fourth error is received. If you specify 0, then the system stops
35878	// sending requests after the first error is returned. If you run an association
35879	// on 50 instances and set MaxError to 10%, then the system stops sending the
35880	// request when the sixth error is received.
35881	//
35882	// Executions that are already running an association when MaxErrors is reached
35883	// are allowed to complete, but some of these executions may fail as well. If
35884	// you need to ensure that there won't be more than max-errors failed executions,
35885	// set MaxConcurrency to 1 so that executions proceed one at a time.
35886	MaxErrors *string `min:"1" type:"string"`
35887
35888	// The name of the SSM document that contains the configuration information
35889	// for the instance. You can specify Command or Automation documents.
35890	//
35891	// You can specify AWS-predefined documents, documents you created, or a document
35892	// that is shared with you from another account.
35893	//
35894	// For SSM documents that are shared with you from other AWS accounts, you must
35895	// specify the complete SSM document ARN, in the following format:
35896	//
35897	// arn:aws:ssm:region:account-id:document/document-name
35898	//
35899	// For example:
35900	//
35901	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
35902	//
35903	// For AWS-predefined documents and SSM documents you created in your account,
35904	// you only need to specify the document name. For example, AWS-ApplyPatchBaseline
35905	// or My-Document.
35906	Name *string `type:"string"`
35907
35908	// An Amazon S3 bucket where you want to store the results of this request.
35909	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
35910
35911	// The parameters you want to update for the association. If you create a parameter
35912	// using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}
35913	Parameters map[string][]*string `type:"map"`
35914
35915	// The cron expression used to schedule the association that you want to update.
35916	ScheduleExpression *string `min:"1" type:"string"`
35917
35918	// The targets of the association.
35919	Targets []*Target `type:"list"`
35920}
35921
35922// String returns the string representation
35923func (s UpdateAssociationInput) String() string {
35924	return awsutil.Prettify(s)
35925}
35926
35927// GoString returns the string representation
35928func (s UpdateAssociationInput) GoString() string {
35929	return s.String()
35930}
35931
35932// Validate inspects the fields of the type to determine if they are valid.
35933func (s *UpdateAssociationInput) Validate() error {
35934	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationInput"}
35935	if s.AssociationId == nil {
35936		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
35937	}
35938	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
35939		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
35940	}
35941	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
35942		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
35943	}
35944	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
35945		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
35946	}
35947	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
35948		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
35949	}
35950	if s.OutputLocation != nil {
35951		if err := s.OutputLocation.Validate(); err != nil {
35952			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
35953		}
35954	}
35955	if s.Targets != nil {
35956		for i, v := range s.Targets {
35957			if v == nil {
35958				continue
35959			}
35960			if err := v.Validate(); err != nil {
35961				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
35962			}
35963		}
35964	}
35965
35966	if invalidParams.Len() > 0 {
35967		return invalidParams
35968	}
35969	return nil
35970}
35971
35972// SetAssociationId sets the AssociationId field's value.
35973func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput {
35974	s.AssociationId = &v
35975	return s
35976}
35977
35978// SetAssociationName sets the AssociationName field's value.
35979func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput {
35980	s.AssociationName = &v
35981	return s
35982}
35983
35984// SetAssociationVersion sets the AssociationVersion field's value.
35985func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput {
35986	s.AssociationVersion = &v
35987	return s
35988}
35989
35990// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
35991func (s *UpdateAssociationInput) SetAutomationTargetParameterName(v string) *UpdateAssociationInput {
35992	s.AutomationTargetParameterName = &v
35993	return s
35994}
35995
35996// SetComplianceSeverity sets the ComplianceSeverity field's value.
35997func (s *UpdateAssociationInput) SetComplianceSeverity(v string) *UpdateAssociationInput {
35998	s.ComplianceSeverity = &v
35999	return s
36000}
36001
36002// SetDocumentVersion sets the DocumentVersion field's value.
36003func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput {
36004	s.DocumentVersion = &v
36005	return s
36006}
36007
36008// SetMaxConcurrency sets the MaxConcurrency field's value.
36009func (s *UpdateAssociationInput) SetMaxConcurrency(v string) *UpdateAssociationInput {
36010	s.MaxConcurrency = &v
36011	return s
36012}
36013
36014// SetMaxErrors sets the MaxErrors field's value.
36015func (s *UpdateAssociationInput) SetMaxErrors(v string) *UpdateAssociationInput {
36016	s.MaxErrors = &v
36017	return s
36018}
36019
36020// SetName sets the Name field's value.
36021func (s *UpdateAssociationInput) SetName(v string) *UpdateAssociationInput {
36022	s.Name = &v
36023	return s
36024}
36025
36026// SetOutputLocation sets the OutputLocation field's value.
36027func (s *UpdateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *UpdateAssociationInput {
36028	s.OutputLocation = v
36029	return s
36030}
36031
36032// SetParameters sets the Parameters field's value.
36033func (s *UpdateAssociationInput) SetParameters(v map[string][]*string) *UpdateAssociationInput {
36034	s.Parameters = v
36035	return s
36036}
36037
36038// SetScheduleExpression sets the ScheduleExpression field's value.
36039func (s *UpdateAssociationInput) SetScheduleExpression(v string) *UpdateAssociationInput {
36040	s.ScheduleExpression = &v
36041	return s
36042}
36043
36044// SetTargets sets the Targets field's value.
36045func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput {
36046	s.Targets = v
36047	return s
36048}
36049
36050type UpdateAssociationOutput struct {
36051	_ struct{} `type:"structure"`
36052
36053	// The description of the association that was updated.
36054	AssociationDescription *AssociationDescription `type:"structure"`
36055}
36056
36057// String returns the string representation
36058func (s UpdateAssociationOutput) String() string {
36059	return awsutil.Prettify(s)
36060}
36061
36062// GoString returns the string representation
36063func (s UpdateAssociationOutput) GoString() string {
36064	return s.String()
36065}
36066
36067// SetAssociationDescription sets the AssociationDescription field's value.
36068func (s *UpdateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationOutput {
36069	s.AssociationDescription = v
36070	return s
36071}
36072
36073type UpdateAssociationStatusInput struct {
36074	_ struct{} `type:"structure"`
36075
36076	// The association status.
36077	//
36078	// AssociationStatus is a required field
36079	AssociationStatus *AssociationStatus `type:"structure" required:"true"`
36080
36081	// The ID of the instance.
36082	//
36083	// InstanceId is a required field
36084	InstanceId *string `type:"string" required:"true"`
36085
36086	// The name of the Systems Manager document.
36087	//
36088	// Name is a required field
36089	Name *string `type:"string" required:"true"`
36090}
36091
36092// String returns the string representation
36093func (s UpdateAssociationStatusInput) String() string {
36094	return awsutil.Prettify(s)
36095}
36096
36097// GoString returns the string representation
36098func (s UpdateAssociationStatusInput) GoString() string {
36099	return s.String()
36100}
36101
36102// Validate inspects the fields of the type to determine if they are valid.
36103func (s *UpdateAssociationStatusInput) Validate() error {
36104	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"}
36105	if s.AssociationStatus == nil {
36106		invalidParams.Add(request.NewErrParamRequired("AssociationStatus"))
36107	}
36108	if s.InstanceId == nil {
36109		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
36110	}
36111	if s.Name == nil {
36112		invalidParams.Add(request.NewErrParamRequired("Name"))
36113	}
36114	if s.AssociationStatus != nil {
36115		if err := s.AssociationStatus.Validate(); err != nil {
36116			invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams))
36117		}
36118	}
36119
36120	if invalidParams.Len() > 0 {
36121		return invalidParams
36122	}
36123	return nil
36124}
36125
36126// SetAssociationStatus sets the AssociationStatus field's value.
36127func (s *UpdateAssociationStatusInput) SetAssociationStatus(v *AssociationStatus) *UpdateAssociationStatusInput {
36128	s.AssociationStatus = v
36129	return s
36130}
36131
36132// SetInstanceId sets the InstanceId field's value.
36133func (s *UpdateAssociationStatusInput) SetInstanceId(v string) *UpdateAssociationStatusInput {
36134	s.InstanceId = &v
36135	return s
36136}
36137
36138// SetName sets the Name field's value.
36139func (s *UpdateAssociationStatusInput) SetName(v string) *UpdateAssociationStatusInput {
36140	s.Name = &v
36141	return s
36142}
36143
36144type UpdateAssociationStatusOutput struct {
36145	_ struct{} `type:"structure"`
36146
36147	// Information about the association.
36148	AssociationDescription *AssociationDescription `type:"structure"`
36149}
36150
36151// String returns the string representation
36152func (s UpdateAssociationStatusOutput) String() string {
36153	return awsutil.Prettify(s)
36154}
36155
36156// GoString returns the string representation
36157func (s UpdateAssociationStatusOutput) GoString() string {
36158	return s.String()
36159}
36160
36161// SetAssociationDescription sets the AssociationDescription field's value.
36162func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationStatusOutput {
36163	s.AssociationDescription = v
36164	return s
36165}
36166
36167type UpdateDocumentDefaultVersionInput struct {
36168	_ struct{} `type:"structure"`
36169
36170	// The version of a custom document that you want to set as the default version.
36171	//
36172	// DocumentVersion is a required field
36173	DocumentVersion *string `type:"string" required:"true"`
36174
36175	// The name of a custom document that you want to set as the default version.
36176	//
36177	// Name is a required field
36178	Name *string `type:"string" required:"true"`
36179}
36180
36181// String returns the string representation
36182func (s UpdateDocumentDefaultVersionInput) String() string {
36183	return awsutil.Prettify(s)
36184}
36185
36186// GoString returns the string representation
36187func (s UpdateDocumentDefaultVersionInput) GoString() string {
36188	return s.String()
36189}
36190
36191// Validate inspects the fields of the type to determine if they are valid.
36192func (s *UpdateDocumentDefaultVersionInput) Validate() error {
36193	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentDefaultVersionInput"}
36194	if s.DocumentVersion == nil {
36195		invalidParams.Add(request.NewErrParamRequired("DocumentVersion"))
36196	}
36197	if s.Name == nil {
36198		invalidParams.Add(request.NewErrParamRequired("Name"))
36199	}
36200
36201	if invalidParams.Len() > 0 {
36202		return invalidParams
36203	}
36204	return nil
36205}
36206
36207// SetDocumentVersion sets the DocumentVersion field's value.
36208func (s *UpdateDocumentDefaultVersionInput) SetDocumentVersion(v string) *UpdateDocumentDefaultVersionInput {
36209	s.DocumentVersion = &v
36210	return s
36211}
36212
36213// SetName sets the Name field's value.
36214func (s *UpdateDocumentDefaultVersionInput) SetName(v string) *UpdateDocumentDefaultVersionInput {
36215	s.Name = &v
36216	return s
36217}
36218
36219type UpdateDocumentDefaultVersionOutput struct {
36220	_ struct{} `type:"structure"`
36221
36222	// The description of a custom document that you want to set as the default
36223	// version.
36224	Description *DocumentDefaultVersionDescription `type:"structure"`
36225}
36226
36227// String returns the string representation
36228func (s UpdateDocumentDefaultVersionOutput) String() string {
36229	return awsutil.Prettify(s)
36230}
36231
36232// GoString returns the string representation
36233func (s UpdateDocumentDefaultVersionOutput) GoString() string {
36234	return s.String()
36235}
36236
36237// SetDescription sets the Description field's value.
36238func (s *UpdateDocumentDefaultVersionOutput) SetDescription(v *DocumentDefaultVersionDescription) *UpdateDocumentDefaultVersionOutput {
36239	s.Description = v
36240	return s
36241}
36242
36243type UpdateDocumentInput struct {
36244	_ struct{} `type:"structure"`
36245
36246	// A list of key and value pairs that describe attachments to a version of a
36247	// document.
36248	Attachments []*AttachmentsSource `type:"list"`
36249
36250	// A valid JSON or YAML string.
36251	//
36252	// Content is a required field
36253	Content *string `min:"1" type:"string" required:"true"`
36254
36255	// Specify the document format for the new document version. Systems Manager
36256	// supports JSON and YAML documents. JSON is the default format.
36257	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
36258
36259	// (Required) The version of the document that you want to update.
36260	DocumentVersion *string `type:"string"`
36261
36262	// The name of the document that you want to update.
36263	//
36264	// Name is a required field
36265	Name *string `type:"string" required:"true"`
36266
36267	// Specify a new target type for the document.
36268	TargetType *string `type:"string"`
36269
36270	// An optional field specifying the version of the artifact you are updating
36271	// with the document. For example, "Release 12, Update 6". This value is unique
36272	// across all versions of a document, and cannot be changed.
36273	VersionName *string `type:"string"`
36274}
36275
36276// String returns the string representation
36277func (s UpdateDocumentInput) String() string {
36278	return awsutil.Prettify(s)
36279}
36280
36281// GoString returns the string representation
36282func (s UpdateDocumentInput) GoString() string {
36283	return s.String()
36284}
36285
36286// Validate inspects the fields of the type to determine if they are valid.
36287func (s *UpdateDocumentInput) Validate() error {
36288	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
36289	if s.Content == nil {
36290		invalidParams.Add(request.NewErrParamRequired("Content"))
36291	}
36292	if s.Content != nil && len(*s.Content) < 1 {
36293		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
36294	}
36295	if s.Name == nil {
36296		invalidParams.Add(request.NewErrParamRequired("Name"))
36297	}
36298	if s.Attachments != nil {
36299		for i, v := range s.Attachments {
36300			if v == nil {
36301				continue
36302			}
36303			if err := v.Validate(); err != nil {
36304				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
36305			}
36306		}
36307	}
36308
36309	if invalidParams.Len() > 0 {
36310		return invalidParams
36311	}
36312	return nil
36313}
36314
36315// SetAttachments sets the Attachments field's value.
36316func (s *UpdateDocumentInput) SetAttachments(v []*AttachmentsSource) *UpdateDocumentInput {
36317	s.Attachments = v
36318	return s
36319}
36320
36321// SetContent sets the Content field's value.
36322func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput {
36323	s.Content = &v
36324	return s
36325}
36326
36327// SetDocumentFormat sets the DocumentFormat field's value.
36328func (s *UpdateDocumentInput) SetDocumentFormat(v string) *UpdateDocumentInput {
36329	s.DocumentFormat = &v
36330	return s
36331}
36332
36333// SetDocumentVersion sets the DocumentVersion field's value.
36334func (s *UpdateDocumentInput) SetDocumentVersion(v string) *UpdateDocumentInput {
36335	s.DocumentVersion = &v
36336	return s
36337}
36338
36339// SetName sets the Name field's value.
36340func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
36341	s.Name = &v
36342	return s
36343}
36344
36345// SetTargetType sets the TargetType field's value.
36346func (s *UpdateDocumentInput) SetTargetType(v string) *UpdateDocumentInput {
36347	s.TargetType = &v
36348	return s
36349}
36350
36351// SetVersionName sets the VersionName field's value.
36352func (s *UpdateDocumentInput) SetVersionName(v string) *UpdateDocumentInput {
36353	s.VersionName = &v
36354	return s
36355}
36356
36357type UpdateDocumentOutput struct {
36358	_ struct{} `type:"structure"`
36359
36360	// A description of the document that was updated.
36361	DocumentDescription *DocumentDescription `type:"structure"`
36362}
36363
36364// String returns the string representation
36365func (s UpdateDocumentOutput) String() string {
36366	return awsutil.Prettify(s)
36367}
36368
36369// GoString returns the string representation
36370func (s UpdateDocumentOutput) GoString() string {
36371	return s.String()
36372}
36373
36374// SetDocumentDescription sets the DocumentDescription field's value.
36375func (s *UpdateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *UpdateDocumentOutput {
36376	s.DocumentDescription = v
36377	return s
36378}
36379
36380type UpdateMaintenanceWindowInput struct {
36381	_ struct{} `type:"structure"`
36382
36383	// Whether targets must be registered with the maintenance window before tasks
36384	// can be defined for those targets.
36385	AllowUnassociatedTargets *bool `type:"boolean"`
36386
36387	// The number of hours before the end of the maintenance window that Systems
36388	// Manager stops scheduling new tasks for execution.
36389	Cutoff *int64 `type:"integer"`
36390
36391	// An optional description for the update request.
36392	Description *string `min:"1" type:"string" sensitive:"true"`
36393
36394	// The duration of the maintenance window in hours.
36395	Duration *int64 `min:"1" type:"integer"`
36396
36397	// Whether the maintenance window is enabled.
36398	Enabled *bool `type:"boolean"`
36399
36400	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
36401	// window to become inactive. EndDate allows you to set a date and time in the
36402	// future when the maintenance window will no longer run.
36403	EndDate *string `type:"string"`
36404
36405	// The name of the maintenance window.
36406	Name *string `min:"3" type:"string"`
36407
36408	// If True, then all fields that are required by the CreateMaintenanceWindow
36409	// action are also required for this API request. Optional fields that are not
36410	// specified are set to null.
36411	Replace *bool `type:"boolean"`
36412
36413	// The schedule of the maintenance window in the form of a cron or rate expression.
36414	Schedule *string `min:"1" type:"string"`
36415
36416	// The time zone that the scheduled maintenance window executions are based
36417	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
36418	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
36419	// (https://www.iana.org/time-zones) on the IANA website.
36420	ScheduleTimezone *string `type:"string"`
36421
36422	// The time zone that the scheduled maintenance window executions are based
36423	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
36424	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
36425	// (https://www.iana.org/time-zones) on the IANA website.
36426	StartDate *string `type:"string"`
36427
36428	// The ID of the maintenance window to update.
36429	//
36430	// WindowId is a required field
36431	WindowId *string `min:"20" type:"string" required:"true"`
36432}
36433
36434// String returns the string representation
36435func (s UpdateMaintenanceWindowInput) String() string {
36436	return awsutil.Prettify(s)
36437}
36438
36439// GoString returns the string representation
36440func (s UpdateMaintenanceWindowInput) GoString() string {
36441	return s.String()
36442}
36443
36444// Validate inspects the fields of the type to determine if they are valid.
36445func (s *UpdateMaintenanceWindowInput) Validate() error {
36446	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"}
36447	if s.Description != nil && len(*s.Description) < 1 {
36448		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36449	}
36450	if s.Duration != nil && *s.Duration < 1 {
36451		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
36452	}
36453	if s.Name != nil && len(*s.Name) < 3 {
36454		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
36455	}
36456	if s.Schedule != nil && len(*s.Schedule) < 1 {
36457		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
36458	}
36459	if s.WindowId == nil {
36460		invalidParams.Add(request.NewErrParamRequired("WindowId"))
36461	}
36462	if s.WindowId != nil && len(*s.WindowId) < 20 {
36463		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
36464	}
36465
36466	if invalidParams.Len() > 0 {
36467		return invalidParams
36468	}
36469	return nil
36470}
36471
36472// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
36473func (s *UpdateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowInput {
36474	s.AllowUnassociatedTargets = &v
36475	return s
36476}
36477
36478// SetCutoff sets the Cutoff field's value.
36479func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWindowInput {
36480	s.Cutoff = &v
36481	return s
36482}
36483
36484// SetDescription sets the Description field's value.
36485func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput {
36486	s.Description = &v
36487	return s
36488}
36489
36490// SetDuration sets the Duration field's value.
36491func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput {
36492	s.Duration = &v
36493	return s
36494}
36495
36496// SetEnabled sets the Enabled field's value.
36497func (s *UpdateMaintenanceWindowInput) SetEnabled(v bool) *UpdateMaintenanceWindowInput {
36498	s.Enabled = &v
36499	return s
36500}
36501
36502// SetEndDate sets the EndDate field's value.
36503func (s *UpdateMaintenanceWindowInput) SetEndDate(v string) *UpdateMaintenanceWindowInput {
36504	s.EndDate = &v
36505	return s
36506}
36507
36508// SetName sets the Name field's value.
36509func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput {
36510	s.Name = &v
36511	return s
36512}
36513
36514// SetReplace sets the Replace field's value.
36515func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput {
36516	s.Replace = &v
36517	return s
36518}
36519
36520// SetSchedule sets the Schedule field's value.
36521func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput {
36522	s.Schedule = &v
36523	return s
36524}
36525
36526// SetScheduleTimezone sets the ScheduleTimezone field's value.
36527func (s *UpdateMaintenanceWindowInput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowInput {
36528	s.ScheduleTimezone = &v
36529	return s
36530}
36531
36532// SetStartDate sets the StartDate field's value.
36533func (s *UpdateMaintenanceWindowInput) SetStartDate(v string) *UpdateMaintenanceWindowInput {
36534	s.StartDate = &v
36535	return s
36536}
36537
36538// SetWindowId sets the WindowId field's value.
36539func (s *UpdateMaintenanceWindowInput) SetWindowId(v string) *UpdateMaintenanceWindowInput {
36540	s.WindowId = &v
36541	return s
36542}
36543
36544type UpdateMaintenanceWindowOutput struct {
36545	_ struct{} `type:"structure"`
36546
36547	// Whether targets must be registered with the maintenance window before tasks
36548	// can be defined for those targets.
36549	AllowUnassociatedTargets *bool `type:"boolean"`
36550
36551	// The number of hours before the end of the maintenance window that Systems
36552	// Manager stops scheduling new tasks for execution.
36553	Cutoff *int64 `type:"integer"`
36554
36555	// An optional description of the update.
36556	Description *string `min:"1" type:"string" sensitive:"true"`
36557
36558	// The duration of the maintenance window in hours.
36559	Duration *int64 `min:"1" type:"integer"`
36560
36561	// Whether the maintenance window is enabled.
36562	Enabled *bool `type:"boolean"`
36563
36564	// The date and time, in ISO-8601 Extended format, for when the maintenance
36565	// window is scheduled to become inactive. The maintenance window will not run
36566	// after this specified time.
36567	EndDate *string `type:"string"`
36568
36569	// The name of the maintenance window.
36570	Name *string `min:"3" type:"string"`
36571
36572	// The schedule of the maintenance window in the form of a cron or rate expression.
36573	Schedule *string `min:"1" type:"string"`
36574
36575	// The time zone that the scheduled maintenance window executions are based
36576	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
36577	// "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database
36578	// (https://www.iana.org/time-zones) on the IANA website.
36579	ScheduleTimezone *string `type:"string"`
36580
36581	// The date and time, in ISO-8601 Extended format, for when the maintenance
36582	// window is scheduled to become active. The maintenance window will not run
36583	// before this specified time.
36584	StartDate *string `type:"string"`
36585
36586	// The ID of the created maintenance window.
36587	WindowId *string `min:"20" type:"string"`
36588}
36589
36590// String returns the string representation
36591func (s UpdateMaintenanceWindowOutput) String() string {
36592	return awsutil.Prettify(s)
36593}
36594
36595// GoString returns the string representation
36596func (s UpdateMaintenanceWindowOutput) GoString() string {
36597	return s.String()
36598}
36599
36600// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
36601func (s *UpdateMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowOutput {
36602	s.AllowUnassociatedTargets = &v
36603	return s
36604}
36605
36606// SetCutoff sets the Cutoff field's value.
36607func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWindowOutput {
36608	s.Cutoff = &v
36609	return s
36610}
36611
36612// SetDescription sets the Description field's value.
36613func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput {
36614	s.Description = &v
36615	return s
36616}
36617
36618// SetDuration sets the Duration field's value.
36619func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput {
36620	s.Duration = &v
36621	return s
36622}
36623
36624// SetEnabled sets the Enabled field's value.
36625func (s *UpdateMaintenanceWindowOutput) SetEnabled(v bool) *UpdateMaintenanceWindowOutput {
36626	s.Enabled = &v
36627	return s
36628}
36629
36630// SetEndDate sets the EndDate field's value.
36631func (s *UpdateMaintenanceWindowOutput) SetEndDate(v string) *UpdateMaintenanceWindowOutput {
36632	s.EndDate = &v
36633	return s
36634}
36635
36636// SetName sets the Name field's value.
36637func (s *UpdateMaintenanceWindowOutput) SetName(v string) *UpdateMaintenanceWindowOutput {
36638	s.Name = &v
36639	return s
36640}
36641
36642// SetSchedule sets the Schedule field's value.
36643func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenanceWindowOutput {
36644	s.Schedule = &v
36645	return s
36646}
36647
36648// SetScheduleTimezone sets the ScheduleTimezone field's value.
36649func (s *UpdateMaintenanceWindowOutput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowOutput {
36650	s.ScheduleTimezone = &v
36651	return s
36652}
36653
36654// SetStartDate sets the StartDate field's value.
36655func (s *UpdateMaintenanceWindowOutput) SetStartDate(v string) *UpdateMaintenanceWindowOutput {
36656	s.StartDate = &v
36657	return s
36658}
36659
36660// SetWindowId sets the WindowId field's value.
36661func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput {
36662	s.WindowId = &v
36663	return s
36664}
36665
36666type UpdateMaintenanceWindowTargetInput struct {
36667	_ struct{} `type:"structure"`
36668
36669	// An optional description for the update.
36670	Description *string `min:"1" type:"string" sensitive:"true"`
36671
36672	// A name for the update.
36673	Name *string `min:"3" type:"string"`
36674
36675	// User-provided value that will be included in any CloudWatch events raised
36676	// while running tasks for these targets in this maintenance window.
36677	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
36678
36679	// If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow
36680	// action are also required for this API request. Optional fields that are not
36681	// specified are set to null.
36682	Replace *bool `type:"boolean"`
36683
36684	// The targets to add or replace.
36685	Targets []*Target `type:"list"`
36686
36687	// The maintenance window ID with which to modify the target.
36688	//
36689	// WindowId is a required field
36690	WindowId *string `min:"20" type:"string" required:"true"`
36691
36692	// The target ID to modify.
36693	//
36694	// WindowTargetId is a required field
36695	WindowTargetId *string `min:"36" type:"string" required:"true"`
36696}
36697
36698// String returns the string representation
36699func (s UpdateMaintenanceWindowTargetInput) String() string {
36700	return awsutil.Prettify(s)
36701}
36702
36703// GoString returns the string representation
36704func (s UpdateMaintenanceWindowTargetInput) GoString() string {
36705	return s.String()
36706}
36707
36708// Validate inspects the fields of the type to determine if they are valid.
36709func (s *UpdateMaintenanceWindowTargetInput) Validate() error {
36710	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"}
36711	if s.Description != nil && len(*s.Description) < 1 {
36712		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36713	}
36714	if s.Name != nil && len(*s.Name) < 3 {
36715		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
36716	}
36717	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
36718		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
36719	}
36720	if s.WindowId == nil {
36721		invalidParams.Add(request.NewErrParamRequired("WindowId"))
36722	}
36723	if s.WindowId != nil && len(*s.WindowId) < 20 {
36724		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
36725	}
36726	if s.WindowTargetId == nil {
36727		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
36728	}
36729	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
36730		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
36731	}
36732	if s.Targets != nil {
36733		for i, v := range s.Targets {
36734			if v == nil {
36735				continue
36736			}
36737			if err := v.Validate(); err != nil {
36738				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
36739			}
36740		}
36741	}
36742
36743	if invalidParams.Len() > 0 {
36744		return invalidParams
36745	}
36746	return nil
36747}
36748
36749// SetDescription sets the Description field's value.
36750func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput {
36751	s.Description = &v
36752	return s
36753}
36754
36755// SetName sets the Name field's value.
36756func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput {
36757	s.Name = &v
36758	return s
36759}
36760
36761// SetOwnerInformation sets the OwnerInformation field's value.
36762func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput {
36763	s.OwnerInformation = &v
36764	return s
36765}
36766
36767// SetReplace sets the Replace field's value.
36768func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput {
36769	s.Replace = &v
36770	return s
36771}
36772
36773// SetTargets sets the Targets field's value.
36774func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput {
36775	s.Targets = v
36776	return s
36777}
36778
36779// SetWindowId sets the WindowId field's value.
36780func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput {
36781	s.WindowId = &v
36782	return s
36783}
36784
36785// SetWindowTargetId sets the WindowTargetId field's value.
36786func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput {
36787	s.WindowTargetId = &v
36788	return s
36789}
36790
36791type UpdateMaintenanceWindowTargetOutput struct {
36792	_ struct{} `type:"structure"`
36793
36794	// The updated description.
36795	Description *string `min:"1" type:"string" sensitive:"true"`
36796
36797	// The updated name.
36798	Name *string `min:"3" type:"string"`
36799
36800	// The updated owner.
36801	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
36802
36803	// The updated targets.
36804	Targets []*Target `type:"list"`
36805
36806	// The maintenance window ID specified in the update request.
36807	WindowId *string `min:"20" type:"string"`
36808
36809	// The target ID specified in the update request.
36810	WindowTargetId *string `min:"36" type:"string"`
36811}
36812
36813// String returns the string representation
36814func (s UpdateMaintenanceWindowTargetOutput) String() string {
36815	return awsutil.Prettify(s)
36816}
36817
36818// GoString returns the string representation
36819func (s UpdateMaintenanceWindowTargetOutput) GoString() string {
36820	return s.String()
36821}
36822
36823// SetDescription sets the Description field's value.
36824func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput {
36825	s.Description = &v
36826	return s
36827}
36828
36829// SetName sets the Name field's value.
36830func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput {
36831	s.Name = &v
36832	return s
36833}
36834
36835// SetOwnerInformation sets the OwnerInformation field's value.
36836func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput {
36837	s.OwnerInformation = &v
36838	return s
36839}
36840
36841// SetTargets sets the Targets field's value.
36842func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput {
36843	s.Targets = v
36844	return s
36845}
36846
36847// SetWindowId sets the WindowId field's value.
36848func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput {
36849	s.WindowId = &v
36850	return s
36851}
36852
36853// SetWindowTargetId sets the WindowTargetId field's value.
36854func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput {
36855	s.WindowTargetId = &v
36856	return s
36857}
36858
36859type UpdateMaintenanceWindowTaskInput struct {
36860	_ struct{} `type:"structure"`
36861
36862	// The new task description to specify.
36863	Description *string `min:"1" type:"string" sensitive:"true"`
36864
36865	// The new logging location in Amazon S3 to specify.
36866	//
36867	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
36868	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
36869	// structure. For information about how Systems Manager handles these options
36870	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
36871	LoggingInfo *LoggingInfo `type:"structure"`
36872
36873	// The new MaxConcurrency value you want to specify. MaxConcurrency is the number
36874	// of targets that are allowed to run this task in parallel.
36875	MaxConcurrency *string `min:"1" type:"string"`
36876
36877	// The new MaxErrors value to specify. MaxErrors is the maximum number of errors
36878	// that are allowed before the task stops being scheduled.
36879	MaxErrors *string `min:"1" type:"string"`
36880
36881	// The new task name to specify.
36882	Name *string `min:"3" type:"string"`
36883
36884	// The new task priority to specify. The lower the number, the higher the priority.
36885	// Tasks that have the same priority are scheduled in parallel.
36886	Priority *int64 `type:"integer"`
36887
36888	// If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow
36889	// action are also required for this API request. Optional fields that are not
36890	// specified are set to null.
36891	Replace *bool `type:"boolean"`
36892
36893	// The ARN of the IAM service role for Systems Manager to assume when running
36894	// a maintenance window task. If you do not specify a service role ARN, Systems
36895	// Manager uses your account's service-linked role. If no service-linked role
36896	// for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.
36897	//
36898	// For more information, see the following topics in the in the AWS Systems
36899	// Manager User Guide:
36900	//
36901	//    * Service-Linked Role Permissions for Systems Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
36902	//
36903	//    * Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance
36904	//    Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
36905	ServiceRoleArn *string `type:"string"`
36906
36907	// The targets (either instances or tags) to modify. Instances are specified
36908	// using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified
36909	// using Key=tag_name,Values=tag_value.
36910	Targets []*Target `type:"list"`
36911
36912	// The task ARN to modify.
36913	TaskArn *string `min:"1" type:"string"`
36914
36915	// The parameters that the task should use during execution. Populate only the
36916	// fields that match the task type. All other fields should be empty.
36917	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
36918
36919	// The parameters to modify.
36920	//
36921	// TaskParameters has been deprecated. To specify parameters to pass to a task
36922	// when it runs, instead use the Parameters option in the TaskInvocationParameters
36923	// structure. For information about how Systems Manager handles these options
36924	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
36925	//
36926	// The map has the following format:
36927	//
36928	// Key: string, between 1 and 255 characters
36929	//
36930	// Value: an array of strings, each string is between 1 and 255 characters
36931	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
36932
36933	// The maintenance window ID that contains the task to modify.
36934	//
36935	// WindowId is a required field
36936	WindowId *string `min:"20" type:"string" required:"true"`
36937
36938	// The task ID to modify.
36939	//
36940	// WindowTaskId is a required field
36941	WindowTaskId *string `min:"36" type:"string" required:"true"`
36942}
36943
36944// String returns the string representation
36945func (s UpdateMaintenanceWindowTaskInput) String() string {
36946	return awsutil.Prettify(s)
36947}
36948
36949// GoString returns the string representation
36950func (s UpdateMaintenanceWindowTaskInput) GoString() string {
36951	return s.String()
36952}
36953
36954// Validate inspects the fields of the type to determine if they are valid.
36955func (s *UpdateMaintenanceWindowTaskInput) Validate() error {
36956	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"}
36957	if s.Description != nil && len(*s.Description) < 1 {
36958		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
36959	}
36960	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
36961		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
36962	}
36963	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
36964		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
36965	}
36966	if s.Name != nil && len(*s.Name) < 3 {
36967		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
36968	}
36969	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
36970		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
36971	}
36972	if s.WindowId == nil {
36973		invalidParams.Add(request.NewErrParamRequired("WindowId"))
36974	}
36975	if s.WindowId != nil && len(*s.WindowId) < 20 {
36976		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
36977	}
36978	if s.WindowTaskId == nil {
36979		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
36980	}
36981	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
36982		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
36983	}
36984	if s.LoggingInfo != nil {
36985		if err := s.LoggingInfo.Validate(); err != nil {
36986			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
36987		}
36988	}
36989	if s.Targets != nil {
36990		for i, v := range s.Targets {
36991			if v == nil {
36992				continue
36993			}
36994			if err := v.Validate(); err != nil {
36995				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
36996			}
36997		}
36998	}
36999	if s.TaskInvocationParameters != nil {
37000		if err := s.TaskInvocationParameters.Validate(); err != nil {
37001			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
37002		}
37003	}
37004
37005	if invalidParams.Len() > 0 {
37006		return invalidParams
37007	}
37008	return nil
37009}
37010
37011// SetDescription sets the Description field's value.
37012func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput {
37013	s.Description = &v
37014	return s
37015}
37016
37017// SetLoggingInfo sets the LoggingInfo field's value.
37018func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput {
37019	s.LoggingInfo = v
37020	return s
37021}
37022
37023// SetMaxConcurrency sets the MaxConcurrency field's value.
37024func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput {
37025	s.MaxConcurrency = &v
37026	return s
37027}
37028
37029// SetMaxErrors sets the MaxErrors field's value.
37030func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput {
37031	s.MaxErrors = &v
37032	return s
37033}
37034
37035// SetName sets the Name field's value.
37036func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput {
37037	s.Name = &v
37038	return s
37039}
37040
37041// SetPriority sets the Priority field's value.
37042func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput {
37043	s.Priority = &v
37044	return s
37045}
37046
37047// SetReplace sets the Replace field's value.
37048func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput {
37049	s.Replace = &v
37050	return s
37051}
37052
37053// SetServiceRoleArn sets the ServiceRoleArn field's value.
37054func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput {
37055	s.ServiceRoleArn = &v
37056	return s
37057}
37058
37059// SetTargets sets the Targets field's value.
37060func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput {
37061	s.Targets = v
37062	return s
37063}
37064
37065// SetTaskArn sets the TaskArn field's value.
37066func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput {
37067	s.TaskArn = &v
37068	return s
37069}
37070
37071// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
37072func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput {
37073	s.TaskInvocationParameters = v
37074	return s
37075}
37076
37077// SetTaskParameters sets the TaskParameters field's value.
37078func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput {
37079	s.TaskParameters = v
37080	return s
37081}
37082
37083// SetWindowId sets the WindowId field's value.
37084func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput {
37085	s.WindowId = &v
37086	return s
37087}
37088
37089// SetWindowTaskId sets the WindowTaskId field's value.
37090func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput {
37091	s.WindowTaskId = &v
37092	return s
37093}
37094
37095type UpdateMaintenanceWindowTaskOutput struct {
37096	_ struct{} `type:"structure"`
37097
37098	// The updated task description.
37099	Description *string `min:"1" type:"string" sensitive:"true"`
37100
37101	// The updated logging information in Amazon S3.
37102	//
37103	// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs,
37104	// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters
37105	// structure. For information about how Systems Manager handles these options
37106	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
37107	LoggingInfo *LoggingInfo `type:"structure"`
37108
37109	// The updated MaxConcurrency value.
37110	MaxConcurrency *string `min:"1" type:"string"`
37111
37112	// The updated MaxErrors value.
37113	MaxErrors *string `min:"1" type:"string"`
37114
37115	// The updated task name.
37116	Name *string `min:"3" type:"string"`
37117
37118	// The updated priority value.
37119	Priority *int64 `type:"integer"`
37120
37121	// The ARN of the IAM service role to use to publish Amazon Simple Notification
37122	// Service (Amazon SNS) notifications for maintenance window Run Command tasks.
37123	ServiceRoleArn *string `type:"string"`
37124
37125	// The updated target values.
37126	Targets []*Target `type:"list"`
37127
37128	// The updated task ARN value.
37129	TaskArn *string `min:"1" type:"string"`
37130
37131	// The updated parameter values.
37132	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
37133
37134	// The updated parameter values.
37135	//
37136	// TaskParameters has been deprecated. To specify parameters to pass to a task
37137	// when it runs, instead use the Parameters option in the TaskInvocationParameters
37138	// structure. For information about how Systems Manager handles these options
37139	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
37140	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
37141
37142	// The ID of the maintenance window that was updated.
37143	WindowId *string `min:"20" type:"string"`
37144
37145	// The task ID of the maintenance window that was updated.
37146	WindowTaskId *string `min:"36" type:"string"`
37147}
37148
37149// String returns the string representation
37150func (s UpdateMaintenanceWindowTaskOutput) String() string {
37151	return awsutil.Prettify(s)
37152}
37153
37154// GoString returns the string representation
37155func (s UpdateMaintenanceWindowTaskOutput) GoString() string {
37156	return s.String()
37157}
37158
37159// SetDescription sets the Description field's value.
37160func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput {
37161	s.Description = &v
37162	return s
37163}
37164
37165// SetLoggingInfo sets the LoggingInfo field's value.
37166func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput {
37167	s.LoggingInfo = v
37168	return s
37169}
37170
37171// SetMaxConcurrency sets the MaxConcurrency field's value.
37172func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput {
37173	s.MaxConcurrency = &v
37174	return s
37175}
37176
37177// SetMaxErrors sets the MaxErrors field's value.
37178func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput {
37179	s.MaxErrors = &v
37180	return s
37181}
37182
37183// SetName sets the Name field's value.
37184func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput {
37185	s.Name = &v
37186	return s
37187}
37188
37189// SetPriority sets the Priority field's value.
37190func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput {
37191	s.Priority = &v
37192	return s
37193}
37194
37195// SetServiceRoleArn sets the ServiceRoleArn field's value.
37196func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput {
37197	s.ServiceRoleArn = &v
37198	return s
37199}
37200
37201// SetTargets sets the Targets field's value.
37202func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput {
37203	s.Targets = v
37204	return s
37205}
37206
37207// SetTaskArn sets the TaskArn field's value.
37208func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput {
37209	s.TaskArn = &v
37210	return s
37211}
37212
37213// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
37214func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput {
37215	s.TaskInvocationParameters = v
37216	return s
37217}
37218
37219// SetTaskParameters sets the TaskParameters field's value.
37220func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput {
37221	s.TaskParameters = v
37222	return s
37223}
37224
37225// SetWindowId sets the WindowId field's value.
37226func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput {
37227	s.WindowId = &v
37228	return s
37229}
37230
37231// SetWindowTaskId sets the WindowTaskId field's value.
37232func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput {
37233	s.WindowTaskId = &v
37234	return s
37235}
37236
37237type UpdateManagedInstanceRoleInput struct {
37238	_ struct{} `type:"structure"`
37239
37240	// The IAM role you want to assign or change.
37241	//
37242	// IamRole is a required field
37243	IamRole *string `type:"string" required:"true"`
37244
37245	// The ID of the managed instance where you want to update the role.
37246	//
37247	// InstanceId is a required field
37248	InstanceId *string `type:"string" required:"true"`
37249}
37250
37251// String returns the string representation
37252func (s UpdateManagedInstanceRoleInput) String() string {
37253	return awsutil.Prettify(s)
37254}
37255
37256// GoString returns the string representation
37257func (s UpdateManagedInstanceRoleInput) GoString() string {
37258	return s.String()
37259}
37260
37261// Validate inspects the fields of the type to determine if they are valid.
37262func (s *UpdateManagedInstanceRoleInput) Validate() error {
37263	invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"}
37264	if s.IamRole == nil {
37265		invalidParams.Add(request.NewErrParamRequired("IamRole"))
37266	}
37267	if s.InstanceId == nil {
37268		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
37269	}
37270
37271	if invalidParams.Len() > 0 {
37272		return invalidParams
37273	}
37274	return nil
37275}
37276
37277// SetIamRole sets the IamRole field's value.
37278func (s *UpdateManagedInstanceRoleInput) SetIamRole(v string) *UpdateManagedInstanceRoleInput {
37279	s.IamRole = &v
37280	return s
37281}
37282
37283// SetInstanceId sets the InstanceId field's value.
37284func (s *UpdateManagedInstanceRoleInput) SetInstanceId(v string) *UpdateManagedInstanceRoleInput {
37285	s.InstanceId = &v
37286	return s
37287}
37288
37289type UpdateManagedInstanceRoleOutput struct {
37290	_ struct{} `type:"structure"`
37291}
37292
37293// String returns the string representation
37294func (s UpdateManagedInstanceRoleOutput) String() string {
37295	return awsutil.Prettify(s)
37296}
37297
37298// GoString returns the string representation
37299func (s UpdateManagedInstanceRoleOutput) GoString() string {
37300	return s.String()
37301}
37302
37303type UpdateOpsItemInput struct {
37304	_ struct{} `type:"structure"`
37305
37306	// Specify a new category for an OpsItem.
37307	Category *string `min:"1" type:"string"`
37308
37309	// Update the information about the OpsItem. Provide enough information so that
37310	// users reading this OpsItem for the first time understand the issue.
37311	Description *string `min:"1" type:"string"`
37312
37313	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
37314	// when this OpsItem is edited or changed.
37315	Notifications []*OpsItemNotification `type:"list"`
37316
37317	// Add new keys or edit existing key-value pairs of the OperationalData map
37318	// in the OpsItem object.
37319	//
37320	// Operational data is custom data that provides useful reference details about
37321	// the OpsItem. For example, you can specify log files, error strings, license
37322	// keys, troubleshooting tips, or other relevant data. You enter operational
37323	// data as key-value pairs. The key has a maximum length of 128 characters.
37324	// The value has a maximum size of 20 KB.
37325	//
37326	// Operational data keys can't begin with the following: amazon, aws, amzn,
37327	// ssm, /amazon, /aws, /amzn, /ssm.
37328	//
37329	// You can choose to make the data searchable by other users in the account
37330	// or you can restrict search access. Searchable data means that all users with
37331	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
37332	// API action) can view and search on the specified data. Operational data that
37333	// is not searchable is only viewable by users who have access to the OpsItem
37334	// (as provided by the GetOpsItem API action).
37335	//
37336	// Use the /aws/resources key in OperationalData to specify a related resource
37337	// in the request. Use the /aws/automations key in OperationalData to associate
37338	// an Automation runbook with the OpsItem. To view AWS CLI example commands
37339	// that use these keys, see Creating OpsItems Manually (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
37340	// in the AWS Systems Manager User Guide.
37341	OperationalData map[string]*OpsItemDataValue `type:"map"`
37342
37343	// Keys that you want to remove from the OperationalData map.
37344	OperationalDataToDelete []*string `type:"list"`
37345
37346	// The ID of the OpsItem.
37347	//
37348	// OpsItemId is a required field
37349	OpsItemId *string `type:"string" required:"true"`
37350
37351	// The importance of this OpsItem in relation to other OpsItems in the system.
37352	Priority *int64 `min:"1" type:"integer"`
37353
37354	// One or more OpsItems that share something in common with the current OpsItems.
37355	// For example, related OpsItems can include OpsItems with similar error messages,
37356	// impacted resources, or statuses for the impacted resource.
37357	RelatedOpsItems []*RelatedOpsItem `type:"list"`
37358
37359	// Specify a new severity for an OpsItem.
37360	Severity *string `min:"1" type:"string"`
37361
37362	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
37363	// information, see Editing OpsItem Details (http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html)
37364	// in the AWS Systems Manager User Guide.
37365	Status *string `type:"string" enum:"OpsItemStatus"`
37366
37367	// A short heading that describes the nature of the OpsItem and the impacted
37368	// resource.
37369	Title *string `min:"1" type:"string"`
37370}
37371
37372// String returns the string representation
37373func (s UpdateOpsItemInput) String() string {
37374	return awsutil.Prettify(s)
37375}
37376
37377// GoString returns the string representation
37378func (s UpdateOpsItemInput) GoString() string {
37379	return s.String()
37380}
37381
37382// Validate inspects the fields of the type to determine if they are valid.
37383func (s *UpdateOpsItemInput) Validate() error {
37384	invalidParams := request.ErrInvalidParams{Context: "UpdateOpsItemInput"}
37385	if s.Category != nil && len(*s.Category) < 1 {
37386		invalidParams.Add(request.NewErrParamMinLen("Category", 1))
37387	}
37388	if s.Description != nil && len(*s.Description) < 1 {
37389		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
37390	}
37391	if s.OpsItemId == nil {
37392		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
37393	}
37394	if s.Priority != nil && *s.Priority < 1 {
37395		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
37396	}
37397	if s.Severity != nil && len(*s.Severity) < 1 {
37398		invalidParams.Add(request.NewErrParamMinLen("Severity", 1))
37399	}
37400	if s.Title != nil && len(*s.Title) < 1 {
37401		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
37402	}
37403	if s.RelatedOpsItems != nil {
37404		for i, v := range s.RelatedOpsItems {
37405			if v == nil {
37406				continue
37407			}
37408			if err := v.Validate(); err != nil {
37409				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
37410			}
37411		}
37412	}
37413
37414	if invalidParams.Len() > 0 {
37415		return invalidParams
37416	}
37417	return nil
37418}
37419
37420// SetCategory sets the Category field's value.
37421func (s *UpdateOpsItemInput) SetCategory(v string) *UpdateOpsItemInput {
37422	s.Category = &v
37423	return s
37424}
37425
37426// SetDescription sets the Description field's value.
37427func (s *UpdateOpsItemInput) SetDescription(v string) *UpdateOpsItemInput {
37428	s.Description = &v
37429	return s
37430}
37431
37432// SetNotifications sets the Notifications field's value.
37433func (s *UpdateOpsItemInput) SetNotifications(v []*OpsItemNotification) *UpdateOpsItemInput {
37434	s.Notifications = v
37435	return s
37436}
37437
37438// SetOperationalData sets the OperationalData field's value.
37439func (s *UpdateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *UpdateOpsItemInput {
37440	s.OperationalData = v
37441	return s
37442}
37443
37444// SetOperationalDataToDelete sets the OperationalDataToDelete field's value.
37445func (s *UpdateOpsItemInput) SetOperationalDataToDelete(v []*string) *UpdateOpsItemInput {
37446	s.OperationalDataToDelete = v
37447	return s
37448}
37449
37450// SetOpsItemId sets the OpsItemId field's value.
37451func (s *UpdateOpsItemInput) SetOpsItemId(v string) *UpdateOpsItemInput {
37452	s.OpsItemId = &v
37453	return s
37454}
37455
37456// SetPriority sets the Priority field's value.
37457func (s *UpdateOpsItemInput) SetPriority(v int64) *UpdateOpsItemInput {
37458	s.Priority = &v
37459	return s
37460}
37461
37462// SetRelatedOpsItems sets the RelatedOpsItems field's value.
37463func (s *UpdateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *UpdateOpsItemInput {
37464	s.RelatedOpsItems = v
37465	return s
37466}
37467
37468// SetSeverity sets the Severity field's value.
37469func (s *UpdateOpsItemInput) SetSeverity(v string) *UpdateOpsItemInput {
37470	s.Severity = &v
37471	return s
37472}
37473
37474// SetStatus sets the Status field's value.
37475func (s *UpdateOpsItemInput) SetStatus(v string) *UpdateOpsItemInput {
37476	s.Status = &v
37477	return s
37478}
37479
37480// SetTitle sets the Title field's value.
37481func (s *UpdateOpsItemInput) SetTitle(v string) *UpdateOpsItemInput {
37482	s.Title = &v
37483	return s
37484}
37485
37486type UpdateOpsItemOutput struct {
37487	_ struct{} `type:"structure"`
37488}
37489
37490// String returns the string representation
37491func (s UpdateOpsItemOutput) String() string {
37492	return awsutil.Prettify(s)
37493}
37494
37495// GoString returns the string representation
37496func (s UpdateOpsItemOutput) GoString() string {
37497	return s.String()
37498}
37499
37500type UpdatePatchBaselineInput struct {
37501	_ struct{} `type:"structure"`
37502
37503	// A set of rules used to include patches in the baseline.
37504	ApprovalRules *PatchRuleGroup `type:"structure"`
37505
37506	// A list of explicitly approved patches for the baseline.
37507	//
37508	// For information about accepted formats for lists of approved patches and
37509	// rejected patches, see Package Name Formats for Approved and Rejected Patch
37510	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
37511	// in the AWS Systems Manager User Guide.
37512	ApprovedPatches []*string `type:"list"`
37513
37514	// Assigns a new compliance severity level to an existing patch baseline.
37515	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
37516
37517	// Indicates whether the list of approved patches includes non-security updates
37518	// that should be applied to the instances. The default value is 'false'. Applies
37519	// to Linux instances only.
37520	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
37521
37522	// The ID of the patch baseline to update.
37523	//
37524	// BaselineId is a required field
37525	BaselineId *string `min:"20" type:"string" required:"true"`
37526
37527	// A description of the patch baseline.
37528	Description *string `min:"1" type:"string"`
37529
37530	// A set of global filters used to include patches in the baseline.
37531	GlobalFilters *PatchFilterGroup `type:"structure"`
37532
37533	// The name of the patch baseline.
37534	Name *string `min:"3" type:"string"`
37535
37536	// A list of explicitly rejected patches for the baseline.
37537	//
37538	// For information about accepted formats for lists of approved patches and
37539	// rejected patches, see Package Name Formats for Approved and Rejected Patch
37540	// Lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
37541	// in the AWS Systems Manager User Guide.
37542	RejectedPatches []*string `type:"list"`
37543
37544	// The action for Patch Manager to take on patches included in the RejectedPackages
37545	// list.
37546	//
37547	//    * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed
37548	//    only if it is a dependency of another package. It is considered compliant
37549	//    with the patch baseline, and its status is reported as InstalledOther.
37550	//    This is the default action if no option is specified.
37551	//
37552	//    * BLOCK: Packages in the RejectedPatches list, and packages that include
37553	//    them as dependencies, are not installed under any circumstances. If a
37554	//    package was installed before it was added to the Rejected patches list,
37555	//    it is considered non-compliant with the patch baseline, and its status
37556	//    is reported as InstalledRejected.
37557	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
37558
37559	// If True, then all fields that are required by the CreatePatchBaseline action
37560	// are also required for this API request. Optional fields that are not specified
37561	// are set to null.
37562	Replace *bool `type:"boolean"`
37563
37564	// Information about the patches to use to update the instances, including target
37565	// operating systems and source repositories. Applies to Linux instances only.
37566	Sources []*PatchSource `type:"list"`
37567}
37568
37569// String returns the string representation
37570func (s UpdatePatchBaselineInput) String() string {
37571	return awsutil.Prettify(s)
37572}
37573
37574// GoString returns the string representation
37575func (s UpdatePatchBaselineInput) GoString() string {
37576	return s.String()
37577}
37578
37579// Validate inspects the fields of the type to determine if they are valid.
37580func (s *UpdatePatchBaselineInput) Validate() error {
37581	invalidParams := request.ErrInvalidParams{Context: "UpdatePatchBaselineInput"}
37582	if s.BaselineId == nil {
37583		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
37584	}
37585	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
37586		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
37587	}
37588	if s.Description != nil && len(*s.Description) < 1 {
37589		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
37590	}
37591	if s.Name != nil && len(*s.Name) < 3 {
37592		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
37593	}
37594	if s.ApprovalRules != nil {
37595		if err := s.ApprovalRules.Validate(); err != nil {
37596			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
37597		}
37598	}
37599	if s.GlobalFilters != nil {
37600		if err := s.GlobalFilters.Validate(); err != nil {
37601			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
37602		}
37603	}
37604	if s.Sources != nil {
37605		for i, v := range s.Sources {
37606			if v == nil {
37607				continue
37608			}
37609			if err := v.Validate(); err != nil {
37610				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
37611			}
37612		}
37613	}
37614
37615	if invalidParams.Len() > 0 {
37616		return invalidParams
37617	}
37618	return nil
37619}
37620
37621// SetApprovalRules sets the ApprovalRules field's value.
37622func (s *UpdatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineInput {
37623	s.ApprovalRules = v
37624	return s
37625}
37626
37627// SetApprovedPatches sets the ApprovedPatches field's value.
37628func (s *UpdatePatchBaselineInput) SetApprovedPatches(v []*string) *UpdatePatchBaselineInput {
37629	s.ApprovedPatches = v
37630	return s
37631}
37632
37633// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
37634func (s *UpdatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineInput {
37635	s.ApprovedPatchesComplianceLevel = &v
37636	return s
37637}
37638
37639// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
37640func (s *UpdatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineInput {
37641	s.ApprovedPatchesEnableNonSecurity = &v
37642	return s
37643}
37644
37645// SetBaselineId sets the BaselineId field's value.
37646func (s *UpdatePatchBaselineInput) SetBaselineId(v string) *UpdatePatchBaselineInput {
37647	s.BaselineId = &v
37648	return s
37649}
37650
37651// SetDescription sets the Description field's value.
37652func (s *UpdatePatchBaselineInput) SetDescription(v string) *UpdatePatchBaselineInput {
37653	s.Description = &v
37654	return s
37655}
37656
37657// SetGlobalFilters sets the GlobalFilters field's value.
37658func (s *UpdatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineInput {
37659	s.GlobalFilters = v
37660	return s
37661}
37662
37663// SetName sets the Name field's value.
37664func (s *UpdatePatchBaselineInput) SetName(v string) *UpdatePatchBaselineInput {
37665	s.Name = &v
37666	return s
37667}
37668
37669// SetRejectedPatches sets the RejectedPatches field's value.
37670func (s *UpdatePatchBaselineInput) SetRejectedPatches(v []*string) *UpdatePatchBaselineInput {
37671	s.RejectedPatches = v
37672	return s
37673}
37674
37675// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
37676func (s *UpdatePatchBaselineInput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineInput {
37677	s.RejectedPatchesAction = &v
37678	return s
37679}
37680
37681// SetReplace sets the Replace field's value.
37682func (s *UpdatePatchBaselineInput) SetReplace(v bool) *UpdatePatchBaselineInput {
37683	s.Replace = &v
37684	return s
37685}
37686
37687// SetSources sets the Sources field's value.
37688func (s *UpdatePatchBaselineInput) SetSources(v []*PatchSource) *UpdatePatchBaselineInput {
37689	s.Sources = v
37690	return s
37691}
37692
37693type UpdatePatchBaselineOutput struct {
37694	_ struct{} `type:"structure"`
37695
37696	// A set of rules used to include patches in the baseline.
37697	ApprovalRules *PatchRuleGroup `type:"structure"`
37698
37699	// A list of explicitly approved patches for the baseline.
37700	ApprovedPatches []*string `type:"list"`
37701
37702	// The compliance severity level assigned to the patch baseline after the update
37703	// completed.
37704	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
37705
37706	// Indicates whether the list of approved patches includes non-security updates
37707	// that should be applied to the instances. The default value is 'false'. Applies
37708	// to Linux instances only.
37709	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
37710
37711	// The ID of the deleted patch baseline.
37712	BaselineId *string `min:"20" type:"string"`
37713
37714	// The date when the patch baseline was created.
37715	CreatedDate *time.Time `type:"timestamp"`
37716
37717	// A description of the Patch Baseline.
37718	Description *string `min:"1" type:"string"`
37719
37720	// A set of global filters used to exclude patches from the baseline.
37721	GlobalFilters *PatchFilterGroup `type:"structure"`
37722
37723	// The date when the patch baseline was last modified.
37724	ModifiedDate *time.Time `type:"timestamp"`
37725
37726	// The name of the patch baseline.
37727	Name *string `min:"3" type:"string"`
37728
37729	// The operating system rule used by the updated patch baseline.
37730	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
37731
37732	// A list of explicitly rejected patches for the baseline.
37733	RejectedPatches []*string `type:"list"`
37734
37735	// The action specified to take on patches included in the RejectedPatches list.
37736	// A patch can be allowed only if it is a dependency of another package, or
37737	// blocked entirely along with packages that include it as a dependency.
37738	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
37739
37740	// Information about the patches to use to update the instances, including target
37741	// operating systems and source repositories. Applies to Linux instances only.
37742	Sources []*PatchSource `type:"list"`
37743}
37744
37745// String returns the string representation
37746func (s UpdatePatchBaselineOutput) String() string {
37747	return awsutil.Prettify(s)
37748}
37749
37750// GoString returns the string representation
37751func (s UpdatePatchBaselineOutput) GoString() string {
37752	return s.String()
37753}
37754
37755// SetApprovalRules sets the ApprovalRules field's value.
37756func (s *UpdatePatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineOutput {
37757	s.ApprovalRules = v
37758	return s
37759}
37760
37761// SetApprovedPatches sets the ApprovedPatches field's value.
37762func (s *UpdatePatchBaselineOutput) SetApprovedPatches(v []*string) *UpdatePatchBaselineOutput {
37763	s.ApprovedPatches = v
37764	return s
37765}
37766
37767// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
37768func (s *UpdatePatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineOutput {
37769	s.ApprovedPatchesComplianceLevel = &v
37770	return s
37771}
37772
37773// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
37774func (s *UpdatePatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineOutput {
37775	s.ApprovedPatchesEnableNonSecurity = &v
37776	return s
37777}
37778
37779// SetBaselineId sets the BaselineId field's value.
37780func (s *UpdatePatchBaselineOutput) SetBaselineId(v string) *UpdatePatchBaselineOutput {
37781	s.BaselineId = &v
37782	return s
37783}
37784
37785// SetCreatedDate sets the CreatedDate field's value.
37786func (s *UpdatePatchBaselineOutput) SetCreatedDate(v time.Time) *UpdatePatchBaselineOutput {
37787	s.CreatedDate = &v
37788	return s
37789}
37790
37791// SetDescription sets the Description field's value.
37792func (s *UpdatePatchBaselineOutput) SetDescription(v string) *UpdatePatchBaselineOutput {
37793	s.Description = &v
37794	return s
37795}
37796
37797// SetGlobalFilters sets the GlobalFilters field's value.
37798func (s *UpdatePatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineOutput {
37799	s.GlobalFilters = v
37800	return s
37801}
37802
37803// SetModifiedDate sets the ModifiedDate field's value.
37804func (s *UpdatePatchBaselineOutput) SetModifiedDate(v time.Time) *UpdatePatchBaselineOutput {
37805	s.ModifiedDate = &v
37806	return s
37807}
37808
37809// SetName sets the Name field's value.
37810func (s *UpdatePatchBaselineOutput) SetName(v string) *UpdatePatchBaselineOutput {
37811	s.Name = &v
37812	return s
37813}
37814
37815// SetOperatingSystem sets the OperatingSystem field's value.
37816func (s *UpdatePatchBaselineOutput) SetOperatingSystem(v string) *UpdatePatchBaselineOutput {
37817	s.OperatingSystem = &v
37818	return s
37819}
37820
37821// SetRejectedPatches sets the RejectedPatches field's value.
37822func (s *UpdatePatchBaselineOutput) SetRejectedPatches(v []*string) *UpdatePatchBaselineOutput {
37823	s.RejectedPatches = v
37824	return s
37825}
37826
37827// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
37828func (s *UpdatePatchBaselineOutput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineOutput {
37829	s.RejectedPatchesAction = &v
37830	return s
37831}
37832
37833// SetSources sets the Sources field's value.
37834func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBaselineOutput {
37835	s.Sources = v
37836	return s
37837}
37838
37839type UpdateResourceDataSyncInput struct {
37840	_ struct{} `type:"structure"`
37841
37842	// The name of the resource data sync you want to update.
37843	//
37844	// SyncName is a required field
37845	SyncName *string `min:"1" type:"string" required:"true"`
37846
37847	// Specify information about the data sources to synchronize.
37848	//
37849	// SyncSource is a required field
37850	SyncSource *ResourceDataSyncSource `type:"structure" required:"true"`
37851
37852	// The type of resource data sync. If SyncType is SyncToDestination, then the
37853	// resource data sync synchronizes data to an Amazon S3 bucket. If the SyncType
37854	// is SyncFromSource then the resource data sync synchronizes data from AWS
37855	// Organizations or from multiple AWS Regions.
37856	//
37857	// SyncType is a required field
37858	SyncType *string `min:"1" type:"string" required:"true"`
37859}
37860
37861// String returns the string representation
37862func (s UpdateResourceDataSyncInput) String() string {
37863	return awsutil.Prettify(s)
37864}
37865
37866// GoString returns the string representation
37867func (s UpdateResourceDataSyncInput) GoString() string {
37868	return s.String()
37869}
37870
37871// Validate inspects the fields of the type to determine if they are valid.
37872func (s *UpdateResourceDataSyncInput) Validate() error {
37873	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceDataSyncInput"}
37874	if s.SyncName == nil {
37875		invalidParams.Add(request.NewErrParamRequired("SyncName"))
37876	}
37877	if s.SyncName != nil && len(*s.SyncName) < 1 {
37878		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
37879	}
37880	if s.SyncSource == nil {
37881		invalidParams.Add(request.NewErrParamRequired("SyncSource"))
37882	}
37883	if s.SyncType == nil {
37884		invalidParams.Add(request.NewErrParamRequired("SyncType"))
37885	}
37886	if s.SyncType != nil && len(*s.SyncType) < 1 {
37887		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
37888	}
37889	if s.SyncSource != nil {
37890		if err := s.SyncSource.Validate(); err != nil {
37891			invalidParams.AddNested("SyncSource", err.(request.ErrInvalidParams))
37892		}
37893	}
37894
37895	if invalidParams.Len() > 0 {
37896		return invalidParams
37897	}
37898	return nil
37899}
37900
37901// SetSyncName sets the SyncName field's value.
37902func (s *UpdateResourceDataSyncInput) SetSyncName(v string) *UpdateResourceDataSyncInput {
37903	s.SyncName = &v
37904	return s
37905}
37906
37907// SetSyncSource sets the SyncSource field's value.
37908func (s *UpdateResourceDataSyncInput) SetSyncSource(v *ResourceDataSyncSource) *UpdateResourceDataSyncInput {
37909	s.SyncSource = v
37910	return s
37911}
37912
37913// SetSyncType sets the SyncType field's value.
37914func (s *UpdateResourceDataSyncInput) SetSyncType(v string) *UpdateResourceDataSyncInput {
37915	s.SyncType = &v
37916	return s
37917}
37918
37919type UpdateResourceDataSyncOutput struct {
37920	_ struct{} `type:"structure"`
37921}
37922
37923// String returns the string representation
37924func (s UpdateResourceDataSyncOutput) String() string {
37925	return awsutil.Prettify(s)
37926}
37927
37928// GoString returns the string representation
37929func (s UpdateResourceDataSyncOutput) GoString() string {
37930	return s.String()
37931}
37932
37933// The request body of the UpdateServiceSetting API action.
37934type UpdateServiceSettingInput struct {
37935	_ struct{} `type:"structure"`
37936
37937	// The ID of the service setting to update.
37938	//
37939	// SettingId is a required field
37940	SettingId *string `min:"1" type:"string" required:"true"`
37941
37942	// The new value to specify for the service setting.
37943	//
37944	// SettingValue is a required field
37945	SettingValue *string `min:"1" type:"string" required:"true"`
37946}
37947
37948// String returns the string representation
37949func (s UpdateServiceSettingInput) String() string {
37950	return awsutil.Prettify(s)
37951}
37952
37953// GoString returns the string representation
37954func (s UpdateServiceSettingInput) GoString() string {
37955	return s.String()
37956}
37957
37958// Validate inspects the fields of the type to determine if they are valid.
37959func (s *UpdateServiceSettingInput) Validate() error {
37960	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingInput"}
37961	if s.SettingId == nil {
37962		invalidParams.Add(request.NewErrParamRequired("SettingId"))
37963	}
37964	if s.SettingId != nil && len(*s.SettingId) < 1 {
37965		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
37966	}
37967	if s.SettingValue == nil {
37968		invalidParams.Add(request.NewErrParamRequired("SettingValue"))
37969	}
37970	if s.SettingValue != nil && len(*s.SettingValue) < 1 {
37971		invalidParams.Add(request.NewErrParamMinLen("SettingValue", 1))
37972	}
37973
37974	if invalidParams.Len() > 0 {
37975		return invalidParams
37976	}
37977	return nil
37978}
37979
37980// SetSettingId sets the SettingId field's value.
37981func (s *UpdateServiceSettingInput) SetSettingId(v string) *UpdateServiceSettingInput {
37982	s.SettingId = &v
37983	return s
37984}
37985
37986// SetSettingValue sets the SettingValue field's value.
37987func (s *UpdateServiceSettingInput) SetSettingValue(v string) *UpdateServiceSettingInput {
37988	s.SettingValue = &v
37989	return s
37990}
37991
37992// The result body of the UpdateServiceSetting API action.
37993type UpdateServiceSettingOutput struct {
37994	_ struct{} `type:"structure"`
37995}
37996
37997// String returns the string representation
37998func (s UpdateServiceSettingOutput) String() string {
37999	return awsutil.Prettify(s)
38000}
38001
38002// GoString returns the string representation
38003func (s UpdateServiceSettingOutput) GoString() string {
38004	return s.String()
38005}
38006
38007const (
38008	// AssociationComplianceSeverityCritical is a AssociationComplianceSeverity enum value
38009	AssociationComplianceSeverityCritical = "CRITICAL"
38010
38011	// AssociationComplianceSeverityHigh is a AssociationComplianceSeverity enum value
38012	AssociationComplianceSeverityHigh = "HIGH"
38013
38014	// AssociationComplianceSeverityMedium is a AssociationComplianceSeverity enum value
38015	AssociationComplianceSeverityMedium = "MEDIUM"
38016
38017	// AssociationComplianceSeverityLow is a AssociationComplianceSeverity enum value
38018	AssociationComplianceSeverityLow = "LOW"
38019
38020	// AssociationComplianceSeverityUnspecified is a AssociationComplianceSeverity enum value
38021	AssociationComplianceSeverityUnspecified = "UNSPECIFIED"
38022)
38023
38024const (
38025	// AssociationExecutionFilterKeyExecutionId is a AssociationExecutionFilterKey enum value
38026	AssociationExecutionFilterKeyExecutionId = "ExecutionId"
38027
38028	// AssociationExecutionFilterKeyStatus is a AssociationExecutionFilterKey enum value
38029	AssociationExecutionFilterKeyStatus = "Status"
38030
38031	// AssociationExecutionFilterKeyCreatedTime is a AssociationExecutionFilterKey enum value
38032	AssociationExecutionFilterKeyCreatedTime = "CreatedTime"
38033)
38034
38035const (
38036	// AssociationExecutionTargetsFilterKeyStatus is a AssociationExecutionTargetsFilterKey enum value
38037	AssociationExecutionTargetsFilterKeyStatus = "Status"
38038
38039	// AssociationExecutionTargetsFilterKeyResourceId is a AssociationExecutionTargetsFilterKey enum value
38040	AssociationExecutionTargetsFilterKeyResourceId = "ResourceId"
38041
38042	// AssociationExecutionTargetsFilterKeyResourceType is a AssociationExecutionTargetsFilterKey enum value
38043	AssociationExecutionTargetsFilterKeyResourceType = "ResourceType"
38044)
38045
38046const (
38047	// AssociationFilterKeyInstanceId is a AssociationFilterKey enum value
38048	AssociationFilterKeyInstanceId = "InstanceId"
38049
38050	// AssociationFilterKeyName is a AssociationFilterKey enum value
38051	AssociationFilterKeyName = "Name"
38052
38053	// AssociationFilterKeyAssociationId is a AssociationFilterKey enum value
38054	AssociationFilterKeyAssociationId = "AssociationId"
38055
38056	// AssociationFilterKeyAssociationStatusName is a AssociationFilterKey enum value
38057	AssociationFilterKeyAssociationStatusName = "AssociationStatusName"
38058
38059	// AssociationFilterKeyLastExecutedBefore is a AssociationFilterKey enum value
38060	AssociationFilterKeyLastExecutedBefore = "LastExecutedBefore"
38061
38062	// AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value
38063	AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter"
38064
38065	// AssociationFilterKeyAssociationName is a AssociationFilterKey enum value
38066	AssociationFilterKeyAssociationName = "AssociationName"
38067)
38068
38069const (
38070	// AssociationFilterOperatorTypeEqual is a AssociationFilterOperatorType enum value
38071	AssociationFilterOperatorTypeEqual = "EQUAL"
38072
38073	// AssociationFilterOperatorTypeLessThan is a AssociationFilterOperatorType enum value
38074	AssociationFilterOperatorTypeLessThan = "LESS_THAN"
38075
38076	// AssociationFilterOperatorTypeGreaterThan is a AssociationFilterOperatorType enum value
38077	AssociationFilterOperatorTypeGreaterThan = "GREATER_THAN"
38078)
38079
38080const (
38081	// AssociationStatusNamePending is a AssociationStatusName enum value
38082	AssociationStatusNamePending = "Pending"
38083
38084	// AssociationStatusNameSuccess is a AssociationStatusName enum value
38085	AssociationStatusNameSuccess = "Success"
38086
38087	// AssociationStatusNameFailed is a AssociationStatusName enum value
38088	AssociationStatusNameFailed = "Failed"
38089)
38090
38091const (
38092	// AttachmentHashTypeSha256 is a AttachmentHashType enum value
38093	AttachmentHashTypeSha256 = "Sha256"
38094)
38095
38096const (
38097	// AttachmentsSourceKeySourceUrl is a AttachmentsSourceKey enum value
38098	AttachmentsSourceKeySourceUrl = "SourceUrl"
38099
38100	// AttachmentsSourceKeyS3fileUrl is a AttachmentsSourceKey enum value
38101	AttachmentsSourceKeyS3fileUrl = "S3FileUrl"
38102)
38103
38104const (
38105	// AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value
38106	AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix"
38107
38108	// AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value
38109	AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus"
38110
38111	// AutomationExecutionFilterKeyExecutionId is a AutomationExecutionFilterKey enum value
38112	AutomationExecutionFilterKeyExecutionId = "ExecutionId"
38113
38114	// AutomationExecutionFilterKeyParentExecutionId is a AutomationExecutionFilterKey enum value
38115	AutomationExecutionFilterKeyParentExecutionId = "ParentExecutionId"
38116
38117	// AutomationExecutionFilterKeyCurrentAction is a AutomationExecutionFilterKey enum value
38118	AutomationExecutionFilterKeyCurrentAction = "CurrentAction"
38119
38120	// AutomationExecutionFilterKeyStartTimeBefore is a AutomationExecutionFilterKey enum value
38121	AutomationExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
38122
38123	// AutomationExecutionFilterKeyStartTimeAfter is a AutomationExecutionFilterKey enum value
38124	AutomationExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
38125
38126	// AutomationExecutionFilterKeyAutomationType is a AutomationExecutionFilterKey enum value
38127	AutomationExecutionFilterKeyAutomationType = "AutomationType"
38128)
38129
38130const (
38131	// AutomationExecutionStatusPending is a AutomationExecutionStatus enum value
38132	AutomationExecutionStatusPending = "Pending"
38133
38134	// AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value
38135	AutomationExecutionStatusInProgress = "InProgress"
38136
38137	// AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value
38138	AutomationExecutionStatusWaiting = "Waiting"
38139
38140	// AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value
38141	AutomationExecutionStatusSuccess = "Success"
38142
38143	// AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value
38144	AutomationExecutionStatusTimedOut = "TimedOut"
38145
38146	// AutomationExecutionStatusCancelling is a AutomationExecutionStatus enum value
38147	AutomationExecutionStatusCancelling = "Cancelling"
38148
38149	// AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value
38150	AutomationExecutionStatusCancelled = "Cancelled"
38151
38152	// AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value
38153	AutomationExecutionStatusFailed = "Failed"
38154)
38155
38156const (
38157	// AutomationTypeCrossAccount is a AutomationType enum value
38158	AutomationTypeCrossAccount = "CrossAccount"
38159
38160	// AutomationTypeLocal is a AutomationType enum value
38161	AutomationTypeLocal = "Local"
38162)
38163
38164const (
38165	// CommandFilterKeyInvokedAfter is a CommandFilterKey enum value
38166	CommandFilterKeyInvokedAfter = "InvokedAfter"
38167
38168	// CommandFilterKeyInvokedBefore is a CommandFilterKey enum value
38169	CommandFilterKeyInvokedBefore = "InvokedBefore"
38170
38171	// CommandFilterKeyStatus is a CommandFilterKey enum value
38172	CommandFilterKeyStatus = "Status"
38173
38174	// CommandFilterKeyExecutionStage is a CommandFilterKey enum value
38175	CommandFilterKeyExecutionStage = "ExecutionStage"
38176
38177	// CommandFilterKeyDocumentName is a CommandFilterKey enum value
38178	CommandFilterKeyDocumentName = "DocumentName"
38179)
38180
38181const (
38182	// CommandInvocationStatusPending is a CommandInvocationStatus enum value
38183	CommandInvocationStatusPending = "Pending"
38184
38185	// CommandInvocationStatusInProgress is a CommandInvocationStatus enum value
38186	CommandInvocationStatusInProgress = "InProgress"
38187
38188	// CommandInvocationStatusDelayed is a CommandInvocationStatus enum value
38189	CommandInvocationStatusDelayed = "Delayed"
38190
38191	// CommandInvocationStatusSuccess is a CommandInvocationStatus enum value
38192	CommandInvocationStatusSuccess = "Success"
38193
38194	// CommandInvocationStatusCancelled is a CommandInvocationStatus enum value
38195	CommandInvocationStatusCancelled = "Cancelled"
38196
38197	// CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value
38198	CommandInvocationStatusTimedOut = "TimedOut"
38199
38200	// CommandInvocationStatusFailed is a CommandInvocationStatus enum value
38201	CommandInvocationStatusFailed = "Failed"
38202
38203	// CommandInvocationStatusCancelling is a CommandInvocationStatus enum value
38204	CommandInvocationStatusCancelling = "Cancelling"
38205)
38206
38207const (
38208	// CommandPluginStatusPending is a CommandPluginStatus enum value
38209	CommandPluginStatusPending = "Pending"
38210
38211	// CommandPluginStatusInProgress is a CommandPluginStatus enum value
38212	CommandPluginStatusInProgress = "InProgress"
38213
38214	// CommandPluginStatusSuccess is a CommandPluginStatus enum value
38215	CommandPluginStatusSuccess = "Success"
38216
38217	// CommandPluginStatusTimedOut is a CommandPluginStatus enum value
38218	CommandPluginStatusTimedOut = "TimedOut"
38219
38220	// CommandPluginStatusCancelled is a CommandPluginStatus enum value
38221	CommandPluginStatusCancelled = "Cancelled"
38222
38223	// CommandPluginStatusFailed is a CommandPluginStatus enum value
38224	CommandPluginStatusFailed = "Failed"
38225)
38226
38227const (
38228	// CommandStatusPending is a CommandStatus enum value
38229	CommandStatusPending = "Pending"
38230
38231	// CommandStatusInProgress is a CommandStatus enum value
38232	CommandStatusInProgress = "InProgress"
38233
38234	// CommandStatusSuccess is a CommandStatus enum value
38235	CommandStatusSuccess = "Success"
38236
38237	// CommandStatusCancelled is a CommandStatus enum value
38238	CommandStatusCancelled = "Cancelled"
38239
38240	// CommandStatusFailed is a CommandStatus enum value
38241	CommandStatusFailed = "Failed"
38242
38243	// CommandStatusTimedOut is a CommandStatus enum value
38244	CommandStatusTimedOut = "TimedOut"
38245
38246	// CommandStatusCancelling is a CommandStatus enum value
38247	CommandStatusCancelling = "Cancelling"
38248)
38249
38250const (
38251	// ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value
38252	ComplianceQueryOperatorTypeEqual = "EQUAL"
38253
38254	// ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value
38255	ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL"
38256
38257	// ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value
38258	ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH"
38259
38260	// ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value
38261	ComplianceQueryOperatorTypeLessThan = "LESS_THAN"
38262
38263	// ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value
38264	ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN"
38265)
38266
38267const (
38268	// ComplianceSeverityCritical is a ComplianceSeverity enum value
38269	ComplianceSeverityCritical = "CRITICAL"
38270
38271	// ComplianceSeverityHigh is a ComplianceSeverity enum value
38272	ComplianceSeverityHigh = "HIGH"
38273
38274	// ComplianceSeverityMedium is a ComplianceSeverity enum value
38275	ComplianceSeverityMedium = "MEDIUM"
38276
38277	// ComplianceSeverityLow is a ComplianceSeverity enum value
38278	ComplianceSeverityLow = "LOW"
38279
38280	// ComplianceSeverityInformational is a ComplianceSeverity enum value
38281	ComplianceSeverityInformational = "INFORMATIONAL"
38282
38283	// ComplianceSeverityUnspecified is a ComplianceSeverity enum value
38284	ComplianceSeverityUnspecified = "UNSPECIFIED"
38285)
38286
38287const (
38288	// ComplianceStatusCompliant is a ComplianceStatus enum value
38289	ComplianceStatusCompliant = "COMPLIANT"
38290
38291	// ComplianceStatusNonCompliant is a ComplianceStatus enum value
38292	ComplianceStatusNonCompliant = "NON_COMPLIANT"
38293)
38294
38295const (
38296	// ConnectionStatusConnected is a ConnectionStatus enum value
38297	ConnectionStatusConnected = "Connected"
38298
38299	// ConnectionStatusNotConnected is a ConnectionStatus enum value
38300	ConnectionStatusNotConnected = "NotConnected"
38301)
38302
38303const (
38304	// DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value
38305	DescribeActivationsFilterKeysActivationIds = "ActivationIds"
38306
38307	// DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value
38308	DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName"
38309
38310	// DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value
38311	DescribeActivationsFilterKeysIamRole = "IamRole"
38312)
38313
38314const (
38315	// DocumentFilterKeyName is a DocumentFilterKey enum value
38316	DocumentFilterKeyName = "Name"
38317
38318	// DocumentFilterKeyOwner is a DocumentFilterKey enum value
38319	DocumentFilterKeyOwner = "Owner"
38320
38321	// DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value
38322	DocumentFilterKeyPlatformTypes = "PlatformTypes"
38323
38324	// DocumentFilterKeyDocumentType is a DocumentFilterKey enum value
38325	DocumentFilterKeyDocumentType = "DocumentType"
38326)
38327
38328const (
38329	// DocumentFormatYaml is a DocumentFormat enum value
38330	DocumentFormatYaml = "YAML"
38331
38332	// DocumentFormatJson is a DocumentFormat enum value
38333	DocumentFormatJson = "JSON"
38334)
38335
38336const (
38337	// DocumentHashTypeSha256 is a DocumentHashType enum value
38338	DocumentHashTypeSha256 = "Sha256"
38339
38340	// DocumentHashTypeSha1 is a DocumentHashType enum value
38341	DocumentHashTypeSha1 = "Sha1"
38342)
38343
38344const (
38345	// DocumentParameterTypeString is a DocumentParameterType enum value
38346	DocumentParameterTypeString = "String"
38347
38348	// DocumentParameterTypeStringList is a DocumentParameterType enum value
38349	DocumentParameterTypeStringList = "StringList"
38350)
38351
38352const (
38353	// DocumentPermissionTypeShare is a DocumentPermissionType enum value
38354	DocumentPermissionTypeShare = "Share"
38355)
38356
38357// The status of a document.
38358const (
38359	// DocumentStatusCreating is a DocumentStatus enum value
38360	DocumentStatusCreating = "Creating"
38361
38362	// DocumentStatusActive is a DocumentStatus enum value
38363	DocumentStatusActive = "Active"
38364
38365	// DocumentStatusUpdating is a DocumentStatus enum value
38366	DocumentStatusUpdating = "Updating"
38367
38368	// DocumentStatusDeleting is a DocumentStatus enum value
38369	DocumentStatusDeleting = "Deleting"
38370
38371	// DocumentStatusFailed is a DocumentStatus enum value
38372	DocumentStatusFailed = "Failed"
38373)
38374
38375const (
38376	// DocumentTypeCommand is a DocumentType enum value
38377	DocumentTypeCommand = "Command"
38378
38379	// DocumentTypePolicy is a DocumentType enum value
38380	DocumentTypePolicy = "Policy"
38381
38382	// DocumentTypeAutomation is a DocumentType enum value
38383	DocumentTypeAutomation = "Automation"
38384
38385	// DocumentTypeSession is a DocumentType enum value
38386	DocumentTypeSession = "Session"
38387
38388	// DocumentTypePackage is a DocumentType enum value
38389	DocumentTypePackage = "Package"
38390
38391	// DocumentTypeApplicationConfiguration is a DocumentType enum value
38392	DocumentTypeApplicationConfiguration = "ApplicationConfiguration"
38393
38394	// DocumentTypeApplicationConfigurationSchema is a DocumentType enum value
38395	DocumentTypeApplicationConfigurationSchema = "ApplicationConfigurationSchema"
38396
38397	// DocumentTypeDeploymentStrategy is a DocumentType enum value
38398	DocumentTypeDeploymentStrategy = "DeploymentStrategy"
38399)
38400
38401const (
38402	// ExecutionModeAuto is a ExecutionMode enum value
38403	ExecutionModeAuto = "Auto"
38404
38405	// ExecutionModeInteractive is a ExecutionMode enum value
38406	ExecutionModeInteractive = "Interactive"
38407)
38408
38409const (
38410	// FaultClient is a Fault enum value
38411	FaultClient = "Client"
38412
38413	// FaultServer is a Fault enum value
38414	FaultServer = "Server"
38415
38416	// FaultUnknown is a Fault enum value
38417	FaultUnknown = "Unknown"
38418)
38419
38420const (
38421	// InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value
38422	InstanceInformationFilterKeyInstanceIds = "InstanceIds"
38423
38424	// InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value
38425	InstanceInformationFilterKeyAgentVersion = "AgentVersion"
38426
38427	// InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value
38428	InstanceInformationFilterKeyPingStatus = "PingStatus"
38429
38430	// InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value
38431	InstanceInformationFilterKeyPlatformTypes = "PlatformTypes"
38432
38433	// InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value
38434	InstanceInformationFilterKeyActivationIds = "ActivationIds"
38435
38436	// InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value
38437	InstanceInformationFilterKeyIamRole = "IamRole"
38438
38439	// InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value
38440	InstanceInformationFilterKeyResourceType = "ResourceType"
38441
38442	// InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value
38443	InstanceInformationFilterKeyAssociationStatus = "AssociationStatus"
38444)
38445
38446const (
38447	// InstancePatchStateOperatorTypeEqual is a InstancePatchStateOperatorType enum value
38448	InstancePatchStateOperatorTypeEqual = "Equal"
38449
38450	// InstancePatchStateOperatorTypeNotEqual is a InstancePatchStateOperatorType enum value
38451	InstancePatchStateOperatorTypeNotEqual = "NotEqual"
38452
38453	// InstancePatchStateOperatorTypeLessThan is a InstancePatchStateOperatorType enum value
38454	InstancePatchStateOperatorTypeLessThan = "LessThan"
38455
38456	// InstancePatchStateOperatorTypeGreaterThan is a InstancePatchStateOperatorType enum value
38457	InstancePatchStateOperatorTypeGreaterThan = "GreaterThan"
38458)
38459
38460const (
38461	// InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value
38462	InventoryAttributeDataTypeString = "string"
38463
38464	// InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value
38465	InventoryAttributeDataTypeNumber = "number"
38466)
38467
38468const (
38469	// InventoryDeletionStatusInProgress is a InventoryDeletionStatus enum value
38470	InventoryDeletionStatusInProgress = "InProgress"
38471
38472	// InventoryDeletionStatusComplete is a InventoryDeletionStatus enum value
38473	InventoryDeletionStatusComplete = "Complete"
38474)
38475
38476const (
38477	// InventoryQueryOperatorTypeEqual is a InventoryQueryOperatorType enum value
38478	InventoryQueryOperatorTypeEqual = "Equal"
38479
38480	// InventoryQueryOperatorTypeNotEqual is a InventoryQueryOperatorType enum value
38481	InventoryQueryOperatorTypeNotEqual = "NotEqual"
38482
38483	// InventoryQueryOperatorTypeBeginWith is a InventoryQueryOperatorType enum value
38484	InventoryQueryOperatorTypeBeginWith = "BeginWith"
38485
38486	// InventoryQueryOperatorTypeLessThan is a InventoryQueryOperatorType enum value
38487	InventoryQueryOperatorTypeLessThan = "LessThan"
38488
38489	// InventoryQueryOperatorTypeGreaterThan is a InventoryQueryOperatorType enum value
38490	InventoryQueryOperatorTypeGreaterThan = "GreaterThan"
38491
38492	// InventoryQueryOperatorTypeExists is a InventoryQueryOperatorType enum value
38493	InventoryQueryOperatorTypeExists = "Exists"
38494)
38495
38496const (
38497	// InventorySchemaDeleteOptionDisableSchema is a InventorySchemaDeleteOption enum value
38498	InventorySchemaDeleteOptionDisableSchema = "DisableSchema"
38499
38500	// InventorySchemaDeleteOptionDeleteSchema is a InventorySchemaDeleteOption enum value
38501	InventorySchemaDeleteOptionDeleteSchema = "DeleteSchema"
38502)
38503
38504const (
38505	// LastResourceDataSyncStatusSuccessful is a LastResourceDataSyncStatus enum value
38506	LastResourceDataSyncStatusSuccessful = "Successful"
38507
38508	// LastResourceDataSyncStatusFailed is a LastResourceDataSyncStatus enum value
38509	LastResourceDataSyncStatusFailed = "Failed"
38510
38511	// LastResourceDataSyncStatusInProgress is a LastResourceDataSyncStatus enum value
38512	LastResourceDataSyncStatusInProgress = "InProgress"
38513)
38514
38515const (
38516	// MaintenanceWindowExecutionStatusPending is a MaintenanceWindowExecutionStatus enum value
38517	MaintenanceWindowExecutionStatusPending = "PENDING"
38518
38519	// MaintenanceWindowExecutionStatusInProgress is a MaintenanceWindowExecutionStatus enum value
38520	MaintenanceWindowExecutionStatusInProgress = "IN_PROGRESS"
38521
38522	// MaintenanceWindowExecutionStatusSuccess is a MaintenanceWindowExecutionStatus enum value
38523	MaintenanceWindowExecutionStatusSuccess = "SUCCESS"
38524
38525	// MaintenanceWindowExecutionStatusFailed is a MaintenanceWindowExecutionStatus enum value
38526	MaintenanceWindowExecutionStatusFailed = "FAILED"
38527
38528	// MaintenanceWindowExecutionStatusTimedOut is a MaintenanceWindowExecutionStatus enum value
38529	MaintenanceWindowExecutionStatusTimedOut = "TIMED_OUT"
38530
38531	// MaintenanceWindowExecutionStatusCancelling is a MaintenanceWindowExecutionStatus enum value
38532	MaintenanceWindowExecutionStatusCancelling = "CANCELLING"
38533
38534	// MaintenanceWindowExecutionStatusCancelled is a MaintenanceWindowExecutionStatus enum value
38535	MaintenanceWindowExecutionStatusCancelled = "CANCELLED"
38536
38537	// MaintenanceWindowExecutionStatusSkippedOverlapping is a MaintenanceWindowExecutionStatus enum value
38538	MaintenanceWindowExecutionStatusSkippedOverlapping = "SKIPPED_OVERLAPPING"
38539)
38540
38541const (
38542	// MaintenanceWindowResourceTypeInstance is a MaintenanceWindowResourceType enum value
38543	MaintenanceWindowResourceTypeInstance = "INSTANCE"
38544
38545	// MaintenanceWindowResourceTypeResourceGroup is a MaintenanceWindowResourceType enum value
38546	MaintenanceWindowResourceTypeResourceGroup = "RESOURCE_GROUP"
38547)
38548
38549const (
38550	// MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value
38551	MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND"
38552
38553	// MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value
38554	MaintenanceWindowTaskTypeAutomation = "AUTOMATION"
38555
38556	// MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value
38557	MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS"
38558
38559	// MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value
38560	MaintenanceWindowTaskTypeLambda = "LAMBDA"
38561)
38562
38563const (
38564	// NotificationEventAll is a NotificationEvent enum value
38565	NotificationEventAll = "All"
38566
38567	// NotificationEventInProgress is a NotificationEvent enum value
38568	NotificationEventInProgress = "InProgress"
38569
38570	// NotificationEventSuccess is a NotificationEvent enum value
38571	NotificationEventSuccess = "Success"
38572
38573	// NotificationEventTimedOut is a NotificationEvent enum value
38574	NotificationEventTimedOut = "TimedOut"
38575
38576	// NotificationEventCancelled is a NotificationEvent enum value
38577	NotificationEventCancelled = "Cancelled"
38578
38579	// NotificationEventFailed is a NotificationEvent enum value
38580	NotificationEventFailed = "Failed"
38581)
38582
38583const (
38584	// NotificationTypeCommand is a NotificationType enum value
38585	NotificationTypeCommand = "Command"
38586
38587	// NotificationTypeInvocation is a NotificationType enum value
38588	NotificationTypeInvocation = "Invocation"
38589)
38590
38591const (
38592	// OperatingSystemWindows is a OperatingSystem enum value
38593	OperatingSystemWindows = "WINDOWS"
38594
38595	// OperatingSystemAmazonLinux is a OperatingSystem enum value
38596	OperatingSystemAmazonLinux = "AMAZON_LINUX"
38597
38598	// OperatingSystemAmazonLinux2 is a OperatingSystem enum value
38599	OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2"
38600
38601	// OperatingSystemUbuntu is a OperatingSystem enum value
38602	OperatingSystemUbuntu = "UBUNTU"
38603
38604	// OperatingSystemRedhatEnterpriseLinux is a OperatingSystem enum value
38605	OperatingSystemRedhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX"
38606
38607	// OperatingSystemSuse is a OperatingSystem enum value
38608	OperatingSystemSuse = "SUSE"
38609
38610	// OperatingSystemCentos is a OperatingSystem enum value
38611	OperatingSystemCentos = "CENTOS"
38612)
38613
38614const (
38615	// OpsFilterOperatorTypeEqual is a OpsFilterOperatorType enum value
38616	OpsFilterOperatorTypeEqual = "Equal"
38617
38618	// OpsFilterOperatorTypeNotEqual is a OpsFilterOperatorType enum value
38619	OpsFilterOperatorTypeNotEqual = "NotEqual"
38620
38621	// OpsFilterOperatorTypeBeginWith is a OpsFilterOperatorType enum value
38622	OpsFilterOperatorTypeBeginWith = "BeginWith"
38623
38624	// OpsFilterOperatorTypeLessThan is a OpsFilterOperatorType enum value
38625	OpsFilterOperatorTypeLessThan = "LessThan"
38626
38627	// OpsFilterOperatorTypeGreaterThan is a OpsFilterOperatorType enum value
38628	OpsFilterOperatorTypeGreaterThan = "GreaterThan"
38629
38630	// OpsFilterOperatorTypeExists is a OpsFilterOperatorType enum value
38631	OpsFilterOperatorTypeExists = "Exists"
38632)
38633
38634const (
38635	// OpsItemDataTypeSearchableString is a OpsItemDataType enum value
38636	OpsItemDataTypeSearchableString = "SearchableString"
38637
38638	// OpsItemDataTypeString is a OpsItemDataType enum value
38639	OpsItemDataTypeString = "String"
38640)
38641
38642const (
38643	// OpsItemFilterKeyStatus is a OpsItemFilterKey enum value
38644	OpsItemFilterKeyStatus = "Status"
38645
38646	// OpsItemFilterKeyCreatedBy is a OpsItemFilterKey enum value
38647	OpsItemFilterKeyCreatedBy = "CreatedBy"
38648
38649	// OpsItemFilterKeySource is a OpsItemFilterKey enum value
38650	OpsItemFilterKeySource = "Source"
38651
38652	// OpsItemFilterKeyPriority is a OpsItemFilterKey enum value
38653	OpsItemFilterKeyPriority = "Priority"
38654
38655	// OpsItemFilterKeyTitle is a OpsItemFilterKey enum value
38656	OpsItemFilterKeyTitle = "Title"
38657
38658	// OpsItemFilterKeyOpsItemId is a OpsItemFilterKey enum value
38659	OpsItemFilterKeyOpsItemId = "OpsItemId"
38660
38661	// OpsItemFilterKeyCreatedTime is a OpsItemFilterKey enum value
38662	OpsItemFilterKeyCreatedTime = "CreatedTime"
38663
38664	// OpsItemFilterKeyLastModifiedTime is a OpsItemFilterKey enum value
38665	OpsItemFilterKeyLastModifiedTime = "LastModifiedTime"
38666
38667	// OpsItemFilterKeyOperationalData is a OpsItemFilterKey enum value
38668	OpsItemFilterKeyOperationalData = "OperationalData"
38669
38670	// OpsItemFilterKeyOperationalDataKey is a OpsItemFilterKey enum value
38671	OpsItemFilterKeyOperationalDataKey = "OperationalDataKey"
38672
38673	// OpsItemFilterKeyOperationalDataValue is a OpsItemFilterKey enum value
38674	OpsItemFilterKeyOperationalDataValue = "OperationalDataValue"
38675
38676	// OpsItemFilterKeyResourceId is a OpsItemFilterKey enum value
38677	OpsItemFilterKeyResourceId = "ResourceId"
38678
38679	// OpsItemFilterKeyAutomationId is a OpsItemFilterKey enum value
38680	OpsItemFilterKeyAutomationId = "AutomationId"
38681
38682	// OpsItemFilterKeyCategory is a OpsItemFilterKey enum value
38683	OpsItemFilterKeyCategory = "Category"
38684
38685	// OpsItemFilterKeySeverity is a OpsItemFilterKey enum value
38686	OpsItemFilterKeySeverity = "Severity"
38687)
38688
38689const (
38690	// OpsItemFilterOperatorEqual is a OpsItemFilterOperator enum value
38691	OpsItemFilterOperatorEqual = "Equal"
38692
38693	// OpsItemFilterOperatorContains is a OpsItemFilterOperator enum value
38694	OpsItemFilterOperatorContains = "Contains"
38695
38696	// OpsItemFilterOperatorGreaterThan is a OpsItemFilterOperator enum value
38697	OpsItemFilterOperatorGreaterThan = "GreaterThan"
38698
38699	// OpsItemFilterOperatorLessThan is a OpsItemFilterOperator enum value
38700	OpsItemFilterOperatorLessThan = "LessThan"
38701)
38702
38703const (
38704	// OpsItemStatusOpen is a OpsItemStatus enum value
38705	OpsItemStatusOpen = "Open"
38706
38707	// OpsItemStatusInProgress is a OpsItemStatus enum value
38708	OpsItemStatusInProgress = "InProgress"
38709
38710	// OpsItemStatusResolved is a OpsItemStatus enum value
38711	OpsItemStatusResolved = "Resolved"
38712)
38713
38714const (
38715	// ParameterTierStandard is a ParameterTier enum value
38716	ParameterTierStandard = "Standard"
38717
38718	// ParameterTierAdvanced is a ParameterTier enum value
38719	ParameterTierAdvanced = "Advanced"
38720
38721	// ParameterTierIntelligentTiering is a ParameterTier enum value
38722	ParameterTierIntelligentTiering = "Intelligent-Tiering"
38723)
38724
38725const (
38726	// ParameterTypeString is a ParameterType enum value
38727	ParameterTypeString = "String"
38728
38729	// ParameterTypeStringList is a ParameterType enum value
38730	ParameterTypeStringList = "StringList"
38731
38732	// ParameterTypeSecureString is a ParameterType enum value
38733	ParameterTypeSecureString = "SecureString"
38734)
38735
38736const (
38737	// ParametersFilterKeyName is a ParametersFilterKey enum value
38738	ParametersFilterKeyName = "Name"
38739
38740	// ParametersFilterKeyType is a ParametersFilterKey enum value
38741	ParametersFilterKeyType = "Type"
38742
38743	// ParametersFilterKeyKeyId is a ParametersFilterKey enum value
38744	ParametersFilterKeyKeyId = "KeyId"
38745)
38746
38747const (
38748	// PatchActionAllowAsDependency is a PatchAction enum value
38749	PatchActionAllowAsDependency = "ALLOW_AS_DEPENDENCY"
38750
38751	// PatchActionBlock is a PatchAction enum value
38752	PatchActionBlock = "BLOCK"
38753)
38754
38755const (
38756	// PatchComplianceDataStateInstalled is a PatchComplianceDataState enum value
38757	PatchComplianceDataStateInstalled = "INSTALLED"
38758
38759	// PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value
38760	PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER"
38761
38762	// PatchComplianceDataStateInstalledPendingReboot is a PatchComplianceDataState enum value
38763	PatchComplianceDataStateInstalledPendingReboot = "INSTALLED_PENDING_REBOOT"
38764
38765	// PatchComplianceDataStateInstalledRejected is a PatchComplianceDataState enum value
38766	PatchComplianceDataStateInstalledRejected = "INSTALLED_REJECTED"
38767
38768	// PatchComplianceDataStateMissing is a PatchComplianceDataState enum value
38769	PatchComplianceDataStateMissing = "MISSING"
38770
38771	// PatchComplianceDataStateNotApplicable is a PatchComplianceDataState enum value
38772	PatchComplianceDataStateNotApplicable = "NOT_APPLICABLE"
38773
38774	// PatchComplianceDataStateFailed is a PatchComplianceDataState enum value
38775	PatchComplianceDataStateFailed = "FAILED"
38776)
38777
38778const (
38779	// PatchComplianceLevelCritical is a PatchComplianceLevel enum value
38780	PatchComplianceLevelCritical = "CRITICAL"
38781
38782	// PatchComplianceLevelHigh is a PatchComplianceLevel enum value
38783	PatchComplianceLevelHigh = "HIGH"
38784
38785	// PatchComplianceLevelMedium is a PatchComplianceLevel enum value
38786	PatchComplianceLevelMedium = "MEDIUM"
38787
38788	// PatchComplianceLevelLow is a PatchComplianceLevel enum value
38789	PatchComplianceLevelLow = "LOW"
38790
38791	// PatchComplianceLevelInformational is a PatchComplianceLevel enum value
38792	PatchComplianceLevelInformational = "INFORMATIONAL"
38793
38794	// PatchComplianceLevelUnspecified is a PatchComplianceLevel enum value
38795	PatchComplianceLevelUnspecified = "UNSPECIFIED"
38796)
38797
38798const (
38799	// PatchDeploymentStatusApproved is a PatchDeploymentStatus enum value
38800	PatchDeploymentStatusApproved = "APPROVED"
38801
38802	// PatchDeploymentStatusPendingApproval is a PatchDeploymentStatus enum value
38803	PatchDeploymentStatusPendingApproval = "PENDING_APPROVAL"
38804
38805	// PatchDeploymentStatusExplicitApproved is a PatchDeploymentStatus enum value
38806	PatchDeploymentStatusExplicitApproved = "EXPLICIT_APPROVED"
38807
38808	// PatchDeploymentStatusExplicitRejected is a PatchDeploymentStatus enum value
38809	PatchDeploymentStatusExplicitRejected = "EXPLICIT_REJECTED"
38810)
38811
38812const (
38813	// PatchFilterKeyPatchSet is a PatchFilterKey enum value
38814	PatchFilterKeyPatchSet = "PATCH_SET"
38815
38816	// PatchFilterKeyProduct is a PatchFilterKey enum value
38817	PatchFilterKeyProduct = "PRODUCT"
38818
38819	// PatchFilterKeyProductFamily is a PatchFilterKey enum value
38820	PatchFilterKeyProductFamily = "PRODUCT_FAMILY"
38821
38822	// PatchFilterKeyClassification is a PatchFilterKey enum value
38823	PatchFilterKeyClassification = "CLASSIFICATION"
38824
38825	// PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value
38826	PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY"
38827
38828	// PatchFilterKeyPatchId is a PatchFilterKey enum value
38829	PatchFilterKeyPatchId = "PATCH_ID"
38830
38831	// PatchFilterKeySection is a PatchFilterKey enum value
38832	PatchFilterKeySection = "SECTION"
38833
38834	// PatchFilterKeyPriority is a PatchFilterKey enum value
38835	PatchFilterKeyPriority = "PRIORITY"
38836
38837	// PatchFilterKeySeverity is a PatchFilterKey enum value
38838	PatchFilterKeySeverity = "SEVERITY"
38839)
38840
38841const (
38842	// PatchOperationTypeScan is a PatchOperationType enum value
38843	PatchOperationTypeScan = "Scan"
38844
38845	// PatchOperationTypeInstall is a PatchOperationType enum value
38846	PatchOperationTypeInstall = "Install"
38847)
38848
38849const (
38850	// PatchPropertyProduct is a PatchProperty enum value
38851	PatchPropertyProduct = "PRODUCT"
38852
38853	// PatchPropertyProductFamily is a PatchProperty enum value
38854	PatchPropertyProductFamily = "PRODUCT_FAMILY"
38855
38856	// PatchPropertyClassification is a PatchProperty enum value
38857	PatchPropertyClassification = "CLASSIFICATION"
38858
38859	// PatchPropertyMsrcSeverity is a PatchProperty enum value
38860	PatchPropertyMsrcSeverity = "MSRC_SEVERITY"
38861
38862	// PatchPropertyPriority is a PatchProperty enum value
38863	PatchPropertyPriority = "PRIORITY"
38864
38865	// PatchPropertySeverity is a PatchProperty enum value
38866	PatchPropertySeverity = "SEVERITY"
38867)
38868
38869const (
38870	// PatchSetOs is a PatchSet enum value
38871	PatchSetOs = "OS"
38872
38873	// PatchSetApplication is a PatchSet enum value
38874	PatchSetApplication = "APPLICATION"
38875)
38876
38877const (
38878	// PingStatusOnline is a PingStatus enum value
38879	PingStatusOnline = "Online"
38880
38881	// PingStatusConnectionLost is a PingStatus enum value
38882	PingStatusConnectionLost = "ConnectionLost"
38883
38884	// PingStatusInactive is a PingStatus enum value
38885	PingStatusInactive = "Inactive"
38886)
38887
38888const (
38889	// PlatformTypeWindows is a PlatformType enum value
38890	PlatformTypeWindows = "Windows"
38891
38892	// PlatformTypeLinux is a PlatformType enum value
38893	PlatformTypeLinux = "Linux"
38894)
38895
38896const (
38897	// RebootOptionRebootIfNeeded is a RebootOption enum value
38898	RebootOptionRebootIfNeeded = "RebootIfNeeded"
38899
38900	// RebootOptionNoReboot is a RebootOption enum value
38901	RebootOptionNoReboot = "NoReboot"
38902)
38903
38904const (
38905	// ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value
38906	ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe"
38907)
38908
38909const (
38910	// ResourceTypeManagedInstance is a ResourceType enum value
38911	ResourceTypeManagedInstance = "ManagedInstance"
38912
38913	// ResourceTypeDocument is a ResourceType enum value
38914	ResourceTypeDocument = "Document"
38915
38916	// ResourceTypeEc2instance is a ResourceType enum value
38917	ResourceTypeEc2instance = "EC2Instance"
38918)
38919
38920const (
38921	// ResourceTypeForTaggingDocument is a ResourceTypeForTagging enum value
38922	ResourceTypeForTaggingDocument = "Document"
38923
38924	// ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value
38925	ResourceTypeForTaggingManagedInstance = "ManagedInstance"
38926
38927	// ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value
38928	ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow"
38929
38930	// ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value
38931	ResourceTypeForTaggingParameter = "Parameter"
38932
38933	// ResourceTypeForTaggingPatchBaseline is a ResourceTypeForTagging enum value
38934	ResourceTypeForTaggingPatchBaseline = "PatchBaseline"
38935
38936	// ResourceTypeForTaggingOpsItem is a ResourceTypeForTagging enum value
38937	ResourceTypeForTaggingOpsItem = "OpsItem"
38938)
38939
38940const (
38941	// SessionFilterKeyInvokedAfter is a SessionFilterKey enum value
38942	SessionFilterKeyInvokedAfter = "InvokedAfter"
38943
38944	// SessionFilterKeyInvokedBefore is a SessionFilterKey enum value
38945	SessionFilterKeyInvokedBefore = "InvokedBefore"
38946
38947	// SessionFilterKeyTarget is a SessionFilterKey enum value
38948	SessionFilterKeyTarget = "Target"
38949
38950	// SessionFilterKeyOwner is a SessionFilterKey enum value
38951	SessionFilterKeyOwner = "Owner"
38952
38953	// SessionFilterKeyStatus is a SessionFilterKey enum value
38954	SessionFilterKeyStatus = "Status"
38955)
38956
38957const (
38958	// SessionStateActive is a SessionState enum value
38959	SessionStateActive = "Active"
38960
38961	// SessionStateHistory is a SessionState enum value
38962	SessionStateHistory = "History"
38963)
38964
38965const (
38966	// SessionStatusConnected is a SessionStatus enum value
38967	SessionStatusConnected = "Connected"
38968
38969	// SessionStatusConnecting is a SessionStatus enum value
38970	SessionStatusConnecting = "Connecting"
38971
38972	// SessionStatusDisconnected is a SessionStatus enum value
38973	SessionStatusDisconnected = "Disconnected"
38974
38975	// SessionStatusTerminated is a SessionStatus enum value
38976	SessionStatusTerminated = "Terminated"
38977
38978	// SessionStatusTerminating is a SessionStatus enum value
38979	SessionStatusTerminating = "Terminating"
38980
38981	// SessionStatusFailed is a SessionStatus enum value
38982	SessionStatusFailed = "Failed"
38983)
38984
38985const (
38986	// SignalTypeApprove is a SignalType enum value
38987	SignalTypeApprove = "Approve"
38988
38989	// SignalTypeReject is a SignalType enum value
38990	SignalTypeReject = "Reject"
38991
38992	// SignalTypeStartStep is a SignalType enum value
38993	SignalTypeStartStep = "StartStep"
38994
38995	// SignalTypeStopStep is a SignalType enum value
38996	SignalTypeStopStep = "StopStep"
38997
38998	// SignalTypeResume is a SignalType enum value
38999	SignalTypeResume = "Resume"
39000)
39001
39002const (
39003	// StepExecutionFilterKeyStartTimeBefore is a StepExecutionFilterKey enum value
39004	StepExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
39005
39006	// StepExecutionFilterKeyStartTimeAfter is a StepExecutionFilterKey enum value
39007	StepExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
39008
39009	// StepExecutionFilterKeyStepExecutionStatus is a StepExecutionFilterKey enum value
39010	StepExecutionFilterKeyStepExecutionStatus = "StepExecutionStatus"
39011
39012	// StepExecutionFilterKeyStepExecutionId is a StepExecutionFilterKey enum value
39013	StepExecutionFilterKeyStepExecutionId = "StepExecutionId"
39014
39015	// StepExecutionFilterKeyStepName is a StepExecutionFilterKey enum value
39016	StepExecutionFilterKeyStepName = "StepName"
39017
39018	// StepExecutionFilterKeyAction is a StepExecutionFilterKey enum value
39019	StepExecutionFilterKeyAction = "Action"
39020)
39021
39022const (
39023	// StopTypeComplete is a StopType enum value
39024	StopTypeComplete = "Complete"
39025
39026	// StopTypeCancel is a StopType enum value
39027	StopTypeCancel = "Cancel"
39028)
39029